From ef3c66ab4a9417d14efb4c575e465e150ffe05d1 Mon Sep 17 00:00:00 2001 From: Reto Wettstein Date: Fri, 15 Dec 2023 12:01:58 +0100 Subject: [PATCH] add reporting and fix reported code improvements where possible --- pom.xml | 45 +++++++++++++++++++ .../data_transfer/message/SendData.java | 20 ++++----- .../data_transfer/message/SendReceipt.java | 17 +++---- .../data_transfer/service/EncryptData.java | 4 +- .../data_transfer/service/ReadData.java | 2 +- 5 files changed, 65 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 185d19b..a1669aa 100644 --- a/pom.xml +++ b/pom.xml @@ -201,6 +201,26 @@ + + org.apache.maven.plugins + maven-site-plugin + 3.12.1 + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.5.0 + + + com.github.spotbugs + spotbugs-maven-plugin + 4.8.2.0 + + + org.apache.maven.plugins + maven-pmd-plugin + 3.21.2 + @@ -213,6 +233,9 @@ GitHub Packages https://maven.pkg.github.com/medizininformatik-initiative/mii-process-data-transfer + + ${project.artifactId}-site + @@ -388,4 +411,26 @@ + + + + + org.apache.maven.plugins + maven-pmd-plugin + + + com.github.spotbugs + spotbugs-maven-plugin + + + + jp.skypencil.findbugs.slf4j + bug-pattern + 1.5.0 + + + + + + \ No newline at end of file diff --git a/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendData.java b/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendData.java index f3e774e..e2e2bfa 100644 --- a/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendData.java +++ b/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendData.java @@ -18,6 +18,7 @@ import de.medizininformatik_initiative.process.data_transfer.ConstantsDataTransfer; import de.medizininformatik_initiative.processes.common.util.ConstantsBase; import de.medizininformatik_initiative.processes.common.util.DataSetStatusGenerator; + import dev.dsf.bpe.v1.ProcessPluginApi; import dev.dsf.bpe.v1.activity.AbstractTaskMessageSend; import dev.dsf.bpe.v1.variables.Variables; @@ -54,14 +55,15 @@ protected Stream getAdditionalInputParameters(DelegateExecut .setCode(ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER_VALUE_DATA_SET_REFERENCE); binaryComponent.setValue(new Reference().setType(ResourceType.Binary.name()).setReference(binaryId)); - String projectIdentifier = variables - .getString(ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PROJECT_IDENTIFIER); + String projectIdentifier = variables.getString( + ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PROJECT_IDENTIFIER); Task.ParameterComponent projectIdentifierComponent = new Task.ParameterComponent(); projectIdentifierComponent.getType().addCoding().setSystem(ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER) .setCode(ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER_VALUE_PROJECT_IDENTIFIER); - projectIdentifierComponent.setValue(new Identifier() - .setSystem(ConstantsBase.NAMINGSYSTEM_MII_PROJECT_IDENTIFIER).setValue(projectIdentifier)); + projectIdentifierComponent.setValue( + new Identifier().setSystem(ConstantsBase.NAMINGSYSTEM_MII_PROJECT_IDENTIFIER) + .setValue(projectIdentifier)); return Stream.of(binaryComponent, projectIdentifierComponent); } @@ -81,13 +83,11 @@ protected void handleSendTaskError(DelegateExecution execution, Variables variab Task task = variables.getStartTask(); String statusCode = ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_NOT_REACHABLE; - if (exception instanceof WebApplicationException webApplicationException) + if (exception instanceof WebApplicationException webApplicationException + && webApplicationException.getResponse() != null + && webApplicationException.getResponse().getStatus() == Response.Status.FORBIDDEN.getStatusCode()) { - if (webApplicationException.getResponse() != null - && webApplicationException.getResponse().getStatus() == Response.Status.FORBIDDEN.getStatusCode()) - { - statusCode = ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_NOT_ALLOWED; - } + statusCode = ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_NOT_ALLOWED; } task.setStatus(Task.TaskStatus.FAILED); diff --git a/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendReceipt.java b/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendReceipt.java index 1540dd1..cdd74c9 100644 --- a/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendReceipt.java +++ b/src/main/java/de/medizininformatik_initiative/process/data_transfer/message/SendReceipt.java @@ -13,6 +13,7 @@ import de.medizininformatik_initiative.process.data_transfer.ConstantsDataTransfer; import de.medizininformatik_initiative.processes.common.util.ConstantsBase; import de.medizininformatik_initiative.processes.common.util.DataSetStatusGenerator; + import dev.dsf.bpe.v1.ProcessPluginApi; import dev.dsf.bpe.v1.activity.AbstractTaskMessageSend; import dev.dsf.bpe.v1.variables.Variables; @@ -55,22 +56,18 @@ protected IdType doSend(FhirWebserviceClient client, Task task) private Stream createReceiptError(Variables variables) { - return statusGenerator - .transformOutputToInputComponent(variables.getStartTask(), - ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER, - ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER_VALUE_DATA_SET_STATUS) - .map(this::receiveToReceiptStatus); + return statusGenerator.transformOutputToInputComponent(variables.getStartTask(), + ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER, + ConstantsDataTransfer.CODESYSTEM_DATA_TRANSFER_VALUE_DATA_SET_STATUS).map(this::receiveToReceiptStatus); } private Task.ParameterComponent receiveToReceiptStatus(Task.ParameterComponent parameterComponent) { Type value = parameterComponent.getValue(); - if (value instanceof Coding coding) + if (value instanceof Coding coding && ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_RECEIVE_ERROR.equals( + coding.getCode())) { - if (ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_RECEIVE_ERROR.equals(coding.getCode())) - { - coding.setCode(ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_RECEIPT_ERROR); - } + coding.setCode(ConstantsBase.CODESYSTEM_DATA_SET_STATUS_VALUE_RECEIPT_ERROR); } return parameterComponent; diff --git a/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/EncryptData.java b/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/EncryptData.java index 542bc4c..cc5dc91 100644 --- a/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/EncryptData.java +++ b/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/EncryptData.java @@ -118,7 +118,7 @@ private DocumentReference getDocumentReference(Bundle bundle) { List documentReferences = bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResource).filter(r -> r instanceof DocumentReference) - .map(r -> ((DocumentReference) r)).toList(); + .map(r -> (DocumentReference) r).toList(); if (documentReferences.size() < 1) throw new IllegalArgumentException("Could not find any DocumentReference in PublicKey Bundle"); @@ -132,7 +132,7 @@ private DocumentReference getDocumentReference(Bundle bundle) private Binary getBinary(Bundle bundle) { List binaries = bundle.getEntry().stream().map(Bundle.BundleEntryComponent::getResource) - .filter(r -> r instanceof Binary).map(b -> ((Binary) b)).toList(); + .filter(r -> r instanceof Binary).map(b -> (Binary) b).toList(); if (binaries.size() < 1) throw new IllegalArgumentException("Could not find any Binary in PublicKey Bundle"); diff --git a/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/ReadData.java b/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/ReadData.java index afc48f7..25c91ed 100644 --- a/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/ReadData.java +++ b/src/main/java/de/medizininformatik_initiative/process/data_transfer/service/ReadData.java @@ -114,7 +114,7 @@ private DocumentReference readDocumentReference(FhirClient fhirClient, String pr List documentReferences = fhirClient .searchDocumentReferences(ConstantsBase.NAMINGSYSTEM_MII_PROJECT_IDENTIFIER, projectIdentifier) .getEntry().stream().map(Bundle.BundleEntryComponent::getResource) - .filter(r -> r instanceof DocumentReference).map(r -> ((DocumentReference) r)).toList(); + .filter(r -> r instanceof DocumentReference).map(r -> (DocumentReference) r).toList(); if (documentReferences.size() < 1) throw new IllegalArgumentException("Could not find any DocumentReference for project-identifier '"