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

Commit 0dfbf2a

Browse files
committed
Merge remote-tracking branch 'origin/issues/77_simulate_flag' into
develop
2 parents 059756a + 334ff0e commit 0dfbf2a

14 files changed

Lines changed: 426 additions & 184 deletions

File tree

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public interface ConstantsDataTransfer
2525
String BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS = "continueStatus";
2626
String BPMN_EXECUTION_VARIABLE_RETURN_TARGET = "returnTarget";
2727
String BPMN_EXECUTION_VARIABLE_SOURCE_IDS_BY_BUNDLE_UUID = "sourceIdsByBundleUuid";
28+
String BPMN_EXECUTION_VARIABLE_DRY_RUN = "dryRun";
2829

2930
String NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM = "http://www.netzwerk-universitaetsmedizin.de/sid/dic-pseudonym";
3031
String NAMING_SYSTEM_NUM_CODEX_CRR_PSEUDONYM = "http://www.netzwerk-universitaetsmedizin.de/sid/crr-pseudonym";
@@ -41,6 +42,7 @@ public interface ConstantsDataTransfer
4142
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_EXPORT_FROM = "export-from";
4243
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_EXPORT_TO = "export-to";
4344
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE = "data-reference";
45+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DRY_RUN = "dry-run";
4446

4547
String PROFILE_NUM_CODEX_TASK_DATA_TRIGGER_PROCESS_URI = "http://www.netzwerk-universitaetsmedizin.de/bpe/Process/dataTrigger/";
4648
String PROFILE_NUM_CODEX_TASK_DATA_TRIGGER_PROCESS_URI_AND_LATEST_VERSION = PROFILE_NUM_CODEX_TASK_DATA_TRIGGER_PROCESS_URI
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send;
2+
3+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_DRY_RUN;
4+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
5+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DRY_RUN;
6+
7+
import java.util.Optional;
8+
9+
import org.camunda.bpm.engine.delegate.BpmnError;
10+
import org.camunda.bpm.engine.delegate.DelegateExecution;
11+
import org.camunda.bpm.engine.variable.Variables;
12+
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
13+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
14+
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
15+
import org.highmed.dsf.fhir.task.TaskHelper;
16+
import org.hl7.fhir.r4.model.Task;
17+
18+
public class CheckDryRun extends AbstractServiceDelegate
19+
{
20+
public CheckDryRun(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
21+
ReadAccessHelper readAccessHelper)
22+
{
23+
super(clientProvider, taskHelper, readAccessHelper);
24+
}
25+
26+
@Override
27+
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
28+
{
29+
Task task = getLeadingTaskFromExecutionVariables();
30+
31+
Optional<Boolean> dryRun = getTaskHelper().getFirstInputParameterBooleanValue(task,
32+
CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DRY_RUN);
33+
34+
execution.setVariable(BPMN_EXECUTION_VARIABLE_DRY_RUN, Variables.booleanValue(dryRun.orElse(Boolean.FALSE)));
35+
}
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send;
2+
3+
import org.camunda.bpm.engine.delegate.BpmnError;
4+
import org.camunda.bpm.engine.delegate.DelegateExecution;
5+
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
6+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
7+
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
8+
import org.highmed.dsf.fhir.task.TaskHelper;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
11+
12+
public class LogDryRunSuccess extends AbstractServiceDelegate
13+
{
14+
private static final Logger logger = LoggerFactory.getLogger(LogSuccess.class);
15+
16+
public LogDryRunSuccess(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
17+
ReadAccessHelper readAccessHelper)
18+
{
19+
super(clientProvider, taskHelper, readAccessHelper);
20+
}
21+
22+
@Override
23+
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
24+
{
25+
logger.info("Dry run successfully completed");
26+
}
27+
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/SendConfig.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.message.StartTranslateProcess;
88
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.CheckConsent;
9+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.CheckDryRun;
910
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.CheckForError;
1011
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.DecryptValidationErrorFromGth;
1112
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.DeleteDataForGth;
1213
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.DownloadValidationErrorFromGth;
1314
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.EncryptData;
1415
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.ExtractPatientReference;
16+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.LogDryRunSuccess;
1517
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.LogError;
1618
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.LogSuccess;
1719
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send.LogValidationError;
@@ -90,6 +92,20 @@ public EncryptData encryptData()
9092
transferDataConfig.crrKeyProvider());
9193
}
9294

95+
@Bean
96+
public CheckDryRun checkDryRun()
97+
{
98+
return new CheckDryRun(transferDataConfig.fhirClientProvider(), transferDataConfig.taskHelper(),
99+
transferDataConfig.readAccessHelper());
100+
}
101+
102+
@Bean
103+
public LogDryRunSuccess logDryRunSuccess()
104+
{
105+
return new LogDryRunSuccess(transferDataConfig.fhirClientProvider(), transferDataConfig.taskHelper(),
106+
transferDataConfig.readAccessHelper());
107+
}
108+
93109
@Bean
94110
public StoreDataForGth storeDataForGth()
95111
{

0 commit comments

Comments
 (0)