Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit a5a13dc

Browse files
committed
Merge remote-tracking branch 'origin/issues/86_BpmnErrors' into develop
2 parents 7c78c7a + 12ee872 commit a5a13dc

15 files changed

Lines changed: 198 additions & 36 deletions

File tree

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/ConstantsDataTransfer.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,22 @@ public interface ConstantsDataTransfer
9898
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_FTTP_NOT_REACHABLE = "fttp-not-reachable";
9999
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_NO_DIC_PSEUDONYM_FOR_BLOOMFILTER = "no-dic-pseudonym-for-bloomfilter";
100100
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED = "validation-failed";
101+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_ECRYPTION_OF_GECCO_DATA_FOR_CRR_FAILED = "ecryption-of-gecco-data-for-crr-failed";
102+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNABLE_TO_STORE_ECRYPTED_GECCO_DATA = "unable-to-store-ecrypted-gecco-data";
101103
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_GTH_NOT_REACHABLE = "gth-not-reachable";
104+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_VALIDATION_ERROR_FROM_GTH_FAILED = "download-of-encrypted-validation-error-from-gth-failed";
105+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_VALIDATION_ERROR_FROM_CRR_FAILED = "decryption-of-validation-error-from-crr-failed";
102106
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_TIMEOUT_WAITING_FOR_RESPONSE_FROM_CRR = "timeout-waiting-for-response-from-crr";
103107
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_CRR_NOT_REACHABLE = "crr-not-reachable";
104-
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_DATA_FROM_DIC_FAILED = "download-data-from-dic-failed";
108+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_GECCO_DATA_FROM_DIC_FAILED = "download-of-encrypted-gecco-data-from-dic-failed";
105109
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_NO_CRR_PSEUDONYM_FOR_DIC_PSEUDONYM = "no-crr-pseudonym-for-dic-pseudonym";
106110
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_TIMEOUT_WAITING_FOR_RESPONSE_FROM_GTH = "timeout-waiting-for-response-from-gth";
107-
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_DATA_FROM_GTH_FAILED = "download-data-from-gth-failed";
108-
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED = "decryption-of-data-from-dic-failed";
111+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_GECCO_DATA_FROM_GTH_FAILED = "download-of-encrypted-gecco-data-from-gth-failed";
112+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_GECCO_DATA_FROM_DIC_FAILED = "decryption-of-gecco-data-from-dic-failed";
109113
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_INSERT_INTO_CRR_FHIR_REPOSITORY_FAILED = "insert-into-crr-fhir-respository-failed";
114+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_ECRYPTION_OF_VALIDATION_ERROR_FOR_DIC_FAILED = "ecryption-of-validation-error-for-dic-failed";
115+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYTPED_VALIDATION_ERROR_FROM_CRR_FAILED = "download-of-encrytped-validation-error-from-crr-failed";
116+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNABLE_TO_STORE_ECRYPTED_VALIDATION_ERROR = "unable-to-store-ecrypted-validation-error";
110117

111118
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE = "http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer-error-source";
112119
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC = "MeDIC";

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PSEUDONYM;
66
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
7-
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED;
7+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_GECCO_DATA_FROM_DIC_FAILED;
88
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM;
99
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PSEUDONYM_PLACEHOLDER;
1010

@@ -33,13 +33,17 @@
3333
import org.hl7.fhir.r4.model.Identifier;
3434
import org.hl7.fhir.r4.model.Task;
3535
import org.hl7.fhir.r4.model.Type;
36+
import org.slf4j.Logger;
37+
import org.slf4j.LoggerFactory;
3638

3739
import ca.uhn.fhir.context.FhirContext;
3840
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.crypto.CrrKeyProvider;
3941
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.crypto.RsaAesGcmUtil;
4042

4143
public class DecryptData extends AbstractServiceDelegate
4244
{
45+
private static final Logger logger = LoggerFactory.getLogger(DecryptData.class);
46+
4347
private final FhirContext fhirContext;
4448
private final CrrKeyProvider crrKeyProvider;
4549

@@ -71,7 +75,8 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
7175
catch (InvalidKeyException | BadPaddingException | IllegalBlockSizeException | NoSuchPaddingException
7276
| NoSuchAlgorithmException | InvalidAlgorithmParameterException | IOException e)
7377
{
74-
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED,
78+
logger.warn("Unable to decrypt GECCO data from DIC: " + e.getMessage(), e);
79+
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_GECCO_DATA_FROM_DIC_FAILED,
7580
"Error while decrypting GECCO data from DIC");
7681
}
7782
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_RETURN_TARGET;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_GECCO_DATA_FROM_GTH_FAILED;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE;
78
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE;
89
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE_VALUE_DTS;
@@ -80,6 +81,12 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
8081
byte[] encrypted = binary.readAllBytes();
8182
execution.setVariable(BPMN_EXECUTION_VARIABLE_BUNDLE, Variables.byteArrayValue(encrypted));
8283
}
84+
catch (Exception e)
85+
{
86+
throw new BpmnError(
87+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_GECCO_DATA_FROM_GTH_FAILED,
88+
"Unable to download Binary resource with encrypted GECCO data from GTH");
89+
}
8390
}
8491

8592
private Optional<String> getDataReference(Task task)

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/EncryptValidationError.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,23 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_AES_RETURN_KEY;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PSEUDONYM;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_ECRYPTION_OF_VALIDATION_ERROR_FOR_DIC_FAILED;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.NAMING_SYSTEM_NUM_CODEX_CRR_PSEUDONYM;
78
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM;
89
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PSEUDONYM_PLACEHOLDER;
910
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.RETURN_AAD;
1011

1112
import java.io.IOException;
1213
import java.nio.charset.StandardCharsets;
14+
import java.security.InvalidAlgorithmParameterException;
15+
import java.security.InvalidKeyException;
16+
import java.security.NoSuchAlgorithmException;
1317
import java.util.Objects;
1418

19+
import javax.crypto.BadPaddingException;
20+
import javax.crypto.IllegalBlockSizeException;
21+
import javax.crypto.NoSuchPaddingException;
22+
import javax.crypto.ShortBufferException;
1523
import javax.crypto.spec.SecretKeySpec;
1624

1725
import org.camunda.bpm.engine.delegate.BpmnError;
@@ -23,11 +31,15 @@
2331
import org.highmed.dsf.fhir.task.TaskHelper;
2432
import org.highmed.pseudonymization.crypto.AesGcmUtil;
2533
import org.hl7.fhir.r4.model.Bundle;
34+
import org.slf4j.Logger;
35+
import org.slf4j.LoggerFactory;
2636

2737
import ca.uhn.fhir.context.FhirContext;
2838

2939
public class EncryptValidationError extends AbstractServiceDelegate
3040
{
41+
private static final Logger logger = LoggerFactory.getLogger(EncryptValidationError.class);
42+
3143
private final FhirContext fhirContext;
3244

3345
public EncryptValidationError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
@@ -53,10 +65,21 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
5365
String pseudonym = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_PSEUDONYM);
5466
byte[] returnKey = (byte[]) execution.getVariable(BPMN_EXECUTION_VARIABLE_AES_RETURN_KEY);
5567

56-
byte[] bundleData = toByteArray(pseudonym, bundle);
57-
byte[] encrypted = AesGcmUtil.encrypt(bundleData, RETURN_AAD, new SecretKeySpec(returnKey, "AES"));
58-
59-
execution.setVariable(BPMN_EXECUTION_VARIABLE_BUNDLE, Variables.byteArrayValue(encrypted));
68+
try
69+
{
70+
byte[] bundleData = toByteArray(pseudonym, bundle);
71+
byte[] encrypted = AesGcmUtil.encrypt(bundleData, RETURN_AAD, new SecretKeySpec(returnKey, "AES"));
72+
execution.setVariable(BPMN_EXECUTION_VARIABLE_BUNDLE, Variables.byteArrayValue(encrypted));
73+
}
74+
catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException
75+
| InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException
76+
| ShortBufferException e)
77+
{
78+
logger.warn("Unable to encrypt validation error for DIC: " + e.getMessage(), e);
79+
throw new BpmnError(
80+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_ECRYPTION_OF_VALIDATION_ERROR_FOR_DIC_FAILED,
81+
"Unable to encrypt validation error for DIC");
82+
}
6083
}
6184

6285
private byte[] toByteArray(String pseudonym, Bundle bundle) throws IOException

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/StoreValidationErrorForGth.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BINARY_URL;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
5+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNABLE_TO_STORE_ECRYPTED_VALIDATION_ERROR;
56
import static org.highmed.dsf.bpe.ConstantsBase.BPMN_EXECUTION_VARIABLE_TARGET;
67
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE;
78
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE_VALUE_DTS;
@@ -97,7 +98,9 @@ private IdType createBinaryResource(Binary binary)
9798
{
9899
logger.debug("Binary to create {}", FhirContext.forR4().newJsonParser().encodeResourceToString(binary));
99100
logger.warn("Error while creating Binary resource: " + e.getMessage(), e);
100-
throw e;
101+
throw new BpmnError(
102+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNABLE_TO_STORE_ECRYPTED_VALIDATION_ERROR,
103+
"Unable to create Binary resource with encrypted validation error for GTH in local DSF FHIR server");
101104
}
102105
}
103106

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DecryptValidationErrorFromGth.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_AES_RETURN_KEY;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PATIENT_REFERENCE;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_VALIDATION_ERROR_FROM_CRR_FAILED;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PSEUDONYM_PLACEHOLDER;
78
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.RETURN_AAD;
89

910
import java.io.IOException;
1011
import java.nio.charset.StandardCharsets;
12+
import java.security.InvalidAlgorithmParameterException;
13+
import java.security.InvalidKeyException;
14+
import java.security.NoSuchAlgorithmException;
1115
import java.util.Objects;
1216

17+
import javax.crypto.BadPaddingException;
18+
import javax.crypto.IllegalBlockSizeException;
19+
import javax.crypto.NoSuchPaddingException;
1320
import javax.crypto.spec.SecretKeySpec;
1421

1522
import org.camunda.bpm.engine.delegate.BpmnError;
@@ -21,12 +28,16 @@
2128
import org.highmed.dsf.fhir.variables.FhirResourceValues;
2229
import org.highmed.pseudonymization.crypto.AesGcmUtil;
2330
import org.hl7.fhir.r4.model.Bundle;
31+
import org.slf4j.Logger;
32+
import org.slf4j.LoggerFactory;
2433

2534
import ca.uhn.fhir.context.FhirContext;
2635
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.variables.PatientReference;
2736

2837
public class DecryptValidationErrorFromGth extends AbstractServiceDelegate
2938
{
39+
private static final Logger logger = LoggerFactory.getLogger(DecryptValidationErrorFromGth.class);
40+
3041
private final FhirContext fhirContext;
3142

3243
public DecryptValidationErrorFromGth(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
@@ -47,6 +58,24 @@ public void afterPropertiesSet() throws Exception
4758

4859
@Override
4960
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
61+
{
62+
try
63+
{
64+
decryptValidationError(execution);
65+
}
66+
catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException
67+
| InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException | IOException e)
68+
{
69+
logger.warn("Unable to decrypt validation error from CRR: " + e.getMessage(), e);
70+
throw new BpmnError(
71+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_VALIDATION_ERROR_FROM_CRR_FAILED,
72+
"Error while decrypting validation error from CRR");
73+
}
74+
}
75+
76+
private void decryptValidationError(DelegateExecution execution)
77+
throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException,
78+
InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException, IOException
5079
{
5180
String pseudonym = ((PatientReference) execution.getVariable(BPMN_EXECUTION_VARIABLE_PATIENT_REFERENCE))
5281
.getIdentifier().getValue();

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_RETURN_TARGET;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_VALIDATION_ERROR_FROM_GTH_FAILED;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE;
78
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE;
89
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_ORGANIZATION_ROLE_VALUE_DTS;
@@ -79,6 +80,12 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
7980
byte[] encrypted = binary.readAllBytes();
8081
execution.setVariable(BPMN_EXECUTION_VARIABLE_BUNDLE, Variables.byteArrayValue(encrypted));
8182
}
83+
catch (Exception e)
84+
{
85+
throw new BpmnError(
86+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_OF_ENCRYPTED_VALIDATION_ERROR_FROM_GTH_FAILED,
87+
"Unable to download Binary resource with encrypted validation error from GTH");
88+
}
8289
}
8390

8491
private Optional<String> getDataReference(Task task)

0 commit comments

Comments
 (0)