Skip to content

Commit b690c12

Browse files
committed
changes to align with dsf issues/179_read_access, new ActivityDef tests
Modifications to align with the DSF branch: https://github.com/highmed/highmed-dsf/tree/issues/179_read_access Added ActivityDefinition profile tests.
1 parent 5269395 commit b690c12

File tree

121 files changed

+2510
-1561
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+2510
-1561
lines changed

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/FeasibilityProcessPluginDefinition.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.highmed.dsf.fhir.resources.ResourceProvider;
1414
import org.highmed.dsf.fhir.resources.StructureDefinitionResource;
1515
import org.highmed.dsf.fhir.resources.ValueSetResource;
16+
import org.springframework.core.env.PropertyResolver;
1617

1718
import ca.uhn.fhir.context.FhirContext;
1819

@@ -45,7 +46,8 @@ public Stream<Class<?>> getSpringConfigClasses()
4546
}
4647

4748
@Override
48-
public ResourceProvider getResourceProvider(FhirContext fhirContext, ClassLoader classLoader)
49+
public ResourceProvider getResourceProvider(FhirContext fhirContext, ClassLoader classLoader,
50+
PropertyResolver resolver)
4951
{
5052
var aCom = ActivityDefinitionResource.file("fhir/ActivityDefinition/highmed-computeFeasibility.xml");
5153
var aExe = ActivityDefinitionResource.file("fhir/ActivityDefinition/highmed-executeFeasibility.xml");
@@ -64,12 +66,12 @@ public ResourceProvider getResourceProvider(FhirContext fhirContext, ClassLoader
6466

6567
var vF = ValueSetResource.file("fhir/ValueSet/highmed-feasibility.xml");
6668

67-
Map<String, List<AbstractResource>> resourcesByProcessKeyAndVersion = Map.of("computeFeasibility/" + VERSION,
68-
Arrays.asList(aCom, cF, sTCom, sTResS, vF), "executeFeasibility/" + VERSION,
69-
Arrays.asList(aExe, cF, sTExe, vF), "requestFeasibility/" + VERSION,
70-
Arrays.asList(aReq, cF, sTReq, sTResM, sTErr, vF));
69+
Map<String, List<AbstractResource>> resourcesByProcessKeyAndVersion = Map.of(
70+
"highmedorg_computeFeasibility/" + VERSION, Arrays.asList(aCom, cF, sTCom, sTResS, vF),
71+
"highmedorg_executeFeasibility/" + VERSION, Arrays.asList(aExe, cF, sTExe, vF),
72+
"highmedorg_requestFeasibility/" + VERSION, Arrays.asList(aReq, cF, sTReq, sTResM, sTErr, vF));
7173

7274
return ResourceProvider.read(VERSION, () -> fhirContext.newXmlParser().setStripVersionsFromReferences(false),
73-
classLoader, resourcesByProcessKeyAndVersion);
75+
classLoader, resolver, resourcesByProcessKeyAndVersion);
7476
}
7577
}

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/message/SendMedicRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import org.camunda.bpm.engine.delegate.DelegateExecution;
1616
import org.highmed.dsf.bpe.variables.BloomFilterConfig;
17+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1718
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1819
import org.highmed.dsf.fhir.organization.OrganizationProvider;
1920
import org.highmed.dsf.fhir.task.AbstractTaskMessageSend;
@@ -28,9 +29,9 @@
2829
public class SendMedicRequest extends AbstractTaskMessageSend
2930
{
3031
public SendMedicRequest(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
31-
OrganizationProvider organizationProvider, FhirContext fhirContext)
32+
ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext)
3233
{
33-
super(clientProvider, taskHelper, organizationProvider, fhirContext);
34+
super(clientProvider, taskHelper, readAccessHelper, organizationProvider, fhirContext);
3435
}
3536

3637
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/message/SendMultiMedicErrors.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.stream.Stream;
77

88
import org.camunda.bpm.engine.delegate.DelegateExecution;
9+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
910
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1011
import org.highmed.dsf.fhir.organization.OrganizationProvider;
1112
import org.highmed.dsf.fhir.task.AbstractTaskMessageSend;
@@ -20,9 +21,9 @@
2021
public class SendMultiMedicErrors extends AbstractTaskMessageSend
2122
{
2223
public SendMultiMedicErrors(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
23-
OrganizationProvider organizationProvider, FhirContext fhirContext)
24+
ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext)
2425
{
25-
super(clientProvider, taskHelper, organizationProvider, fhirContext);
26+
super(clientProvider, taskHelper, readAccessHelper, organizationProvider, fhirContext);
2627
}
2728

2829
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/message/SendMultiMedicResults.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.camunda.bpm.engine.delegate.DelegateExecution;
1515
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResult;
1616
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResults;
17+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1718
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1819
import org.highmed.dsf.fhir.organization.OrganizationProvider;
1920
import org.highmed.dsf.fhir.task.AbstractTaskMessageSend;
@@ -29,9 +30,9 @@
2930
public class SendMultiMedicResults extends AbstractTaskMessageSend
3031
{
3132
public SendMultiMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
32-
OrganizationProvider organizationProvider, FhirContext fhirContext)
33+
ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext)
3334
{
34-
super(clientProvider, taskHelper, organizationProvider, fhirContext);
35+
super(clientProvider, taskHelper, readAccessHelper, organizationProvider, fhirContext);
3536
}
3637

3738
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/message/SendSingleMedicResults.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.camunda.bpm.engine.delegate.DelegateExecution;
1212
import org.highmed.dsf.bpe.variables.FeasibilityQueryResult;
1313
import org.highmed.dsf.bpe.variables.FeasibilityQueryResults;
14+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1415
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1516
import org.highmed.dsf.fhir.organization.OrganizationProvider;
1617
import org.highmed.dsf.fhir.task.AbstractTaskMessageSend;
@@ -29,9 +30,9 @@ public class SendSingleMedicResults extends AbstractTaskMessageSend
2930
private static final Logger logger = LoggerFactory.getLogger(SendSingleMedicResults.class);
3031

3132
public SendSingleMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
32-
OrganizationProvider organizationProvider, FhirContext fhirContext)
33+
ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext)
3334
{
34-
super(clientProvider, taskHelper, organizationProvider, fhirContext);
35+
super(clientProvider, taskHelper, readAccessHelper, organizationProvider, fhirContext);
3536
}
3637

3738
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/message/SendTtpRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.stream.Stream;
1010

1111
import org.camunda.bpm.engine.delegate.DelegateExecution;
12+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1213
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1314
import org.highmed.dsf.fhir.organization.OrganizationProvider;
1415
import org.highmed.dsf.fhir.task.AbstractTaskMessageSend;
@@ -21,9 +22,9 @@
2122
public class SendTtpRequest extends AbstractTaskMessageSend
2223
{
2324
public SendTtpRequest(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
24-
OrganizationProvider organizationProvider, FhirContext fhirContext)
25+
ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext)
2526
{
26-
super(clientProvider, taskHelper, organizationProvider, fhirContext);
27+
super(clientProvider, taskHelper, readAccessHelper, organizationProvider, fhirContext);
2728
}
2829

2930
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/service/CalculateMultiMedicResults.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@
1414
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResult;
1515
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResults;
1616
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResultsValues;
17+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1718
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1819
import org.highmed.dsf.fhir.task.TaskHelper;
1920

2021
public class CalculateMultiMedicResults extends AbstractServiceDelegate
2122
{
22-
public CalculateMultiMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper)
23+
public CalculateMultiMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
24+
ReadAccessHelper readAccessHelper)
2325
{
24-
super(clientProvider, taskHelper);
26+
super(clientProvider, taskHelper, readAccessHelper);
2527
}
2628

2729
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/service/CheckFeasibilityResources.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import org.camunda.bpm.engine.delegate.DelegateExecution;
1313
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
14+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1415
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1516
import org.highmed.dsf.fhir.task.TaskHelper;
1617
import org.highmed.dsf.fhir.variables.FhirResourcesList;
@@ -20,9 +21,10 @@
2021

2122
public class CheckFeasibilityResources extends AbstractServiceDelegate
2223
{
23-
public CheckFeasibilityResources(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper)
24+
public CheckFeasibilityResources(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
25+
ReadAccessHelper readAccessHelper)
2426
{
25-
super(clientProvider, taskHelper);
27+
super(clientProvider, taskHelper, readAccessHelper);
2628
}
2729

2830
@Override

dsf-bpe-process-feasibility/src/main/java/org/highmed/dsf/bpe/service/CheckMultiMedicResults.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
1515
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResult;
1616
import org.highmed.dsf.bpe.variables.FinalFeasibilityQueryResults;
17+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1718
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1819
import org.highmed.dsf.fhir.task.TaskHelper;
1920
import org.hl7.fhir.r4.model.Extension;
@@ -25,9 +26,10 @@
2526

2627
public class CheckMultiMedicResults extends AbstractServiceDelegate
2728
{
28-
public CheckMultiMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper)
29+
public CheckMultiMedicResults(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
30+
ReadAccessHelper readAccessHelper)
2931
{
30-
super(clientProvider, taskHelper);
32+
super(clientProvider, taskHelper, readAccessHelper);
3133
}
3234

3335
@Override
Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
package org.highmed.dsf.bpe.service;
22

3+
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN;
4+
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN_VALUE_ERROR;
5+
import static org.highmed.dsf.bpe.ConstantsFeasibility.BPMN_EXECUTION_VARIABLE_COHORTS;
6+
import static org.highmed.dsf.bpe.ConstantsFeasibility.BPMN_EXECUTION_VARIABLE_QUERIES;
7+
import static org.highmed.dsf.bpe.ConstantsFeasibility.FEASIBILITY_QUERY_PREFIX;
8+
39
import java.util.HashMap;
410
import java.util.List;
511
import java.util.Map;
612
import java.util.Objects;
713

814
import org.camunda.bpm.engine.delegate.DelegateExecution;
915
import org.camunda.bpm.engine.delegate.JavaDelegate;
10-
import org.highmed.dsf.bpe.ConstantsBase;
11-
import org.highmed.dsf.bpe.ConstantsFeasibility;
1216
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
17+
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1318
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1419
import org.highmed.dsf.fhir.group.GroupHelper;
1520
import org.highmed.dsf.fhir.task.TaskHelper;
@@ -26,24 +31,27 @@ public class CheckQueries extends AbstractServiceDelegate implements Initializin
2631

2732
private final GroupHelper groupHelper;
2833

29-
public CheckQueries(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper, GroupHelper groupHelper)
34+
public CheckQueries(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
35+
ReadAccessHelper readAccessHelper, GroupHelper groupHelper)
3036
{
31-
super(clientProvider, taskHelper);
37+
super(clientProvider, taskHelper, readAccessHelper);
38+
3239
this.groupHelper = groupHelper;
3340
}
3441

3542
@Override
3643
public void afterPropertiesSet() throws Exception
3744
{
3845
super.afterPropertiesSet();
46+
3947
Objects.requireNonNull(groupHelper, "groupHelper");
4048
}
4149

4250
@Override
4351
protected void doExecute(DelegateExecution execution) throws Exception
4452
{
45-
List<Group> cohorts = ((FhirResourcesList) execution
46-
.getVariable(ConstantsFeasibility.BPMN_EXECUTION_VARIABLE_COHORTS)).getResourcesAndCast();
53+
List<Group> cohorts = ((FhirResourcesList) execution.getVariable(BPMN_EXECUTION_VARIABLE_COHORTS))
54+
.getResourcesAndCast();
4755

4856
Map<String, String> queries = new HashMap<>();
4957

@@ -53,22 +61,22 @@ protected void doExecute(DelegateExecution execution) throws Exception
5361
String aqlQuery = groupHelper.extractAqlQuery(group);
5462

5563
String groupId = group.getId();
56-
if (!aqlQuery.startsWith(ConstantsFeasibility.FEASIBILITY_QUERY_PREFIX))
64+
if (!aqlQuery.startsWith(FEASIBILITY_QUERY_PREFIX))
5765
{
5866
String errorMessage = "Initial single medic feasibility query check failed, wrong format for query of group with id '"
59-
+ groupId + "', expected query to start with '" + ConstantsFeasibility.FEASIBILITY_QUERY_PREFIX
60-
+ "' but got '" + aqlQuery + "'";
67+
+ groupId + "', expected query to start with '" + FEASIBILITY_QUERY_PREFIX + "' but got '"
68+
+ aqlQuery + "'";
6169

6270
logger.info(errorMessage);
63-
leadingTask.getOutput().add(getTaskHelper().createOutput(ConstantsBase.CODESYSTEM_HIGHMED_BPMN,
64-
ConstantsBase.CODESYSTEM_HIGHMED_BPMN_VALUE_ERROR, errorMessage));
71+
leadingTask.getOutput().add(getTaskHelper().createOutput(CODESYSTEM_HIGHMED_BPMN,
72+
CODESYSTEM_HIGHMED_BPMN_VALUE_ERROR, errorMessage));
6573
}
6674
else
6775
{
6876
queries.put(groupId, aqlQuery);
6977
}
7078
});
7179

72-
execution.setVariable(ConstantsFeasibility.BPMN_EXECUTION_VARIABLE_QUERIES, queries);
80+
execution.setVariable(BPMN_EXECUTION_VARIABLE_QUERIES, queries);
7381
}
7482
}

0 commit comments

Comments
 (0)