Skip to content

Commit 1dcc472

Browse files
committed
Deleted ErrorOutputComponentGenerator and moved create method to ProcessError class
1 parent 20a3875 commit 1dcc472

File tree

3 files changed

+27
-45
lines changed

3 files changed

+27
-45
lines changed

src/main/java/dev/dsf/bpe/ProcessError.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package dev.dsf.bpe;
22

33
import java.io.Serializable;
4+
import java.util.List;
45
import java.util.Objects;
6+
import java.util.stream.Collectors;
57

8+
import org.hl7.fhir.r4.model.CodeType;
69
import org.hl7.fhir.r4.model.Coding;
710
import org.hl7.fhir.r4.model.Extension;
811
import org.hl7.fhir.r4.model.StringType;
12+
import org.hl7.fhir.r4.model.Task;
913
import org.hl7.fhir.r4.model.UrlType;
1014

1115
//todo: remove process and processStep + CodeSystems, make message never contain e.getMessage() becaus security
@@ -70,4 +74,26 @@ public static ProcessError toError(Extension extension)
7074

7175
return new ProcessError(processCode, stepCode, action, potentialFixUrl, message);
7276
}
77+
78+
public static List<Task.TaskOutputComponent> toTaskOutput(List<ProcessError> errors)
79+
{
80+
if (errors == null || errors.isEmpty())
81+
return List.of();
82+
return errors.stream().map(ProcessError::toTaskOutput).collect(Collectors.toList());
83+
}
84+
85+
public static Task.TaskOutputComponent toTaskOutput(ProcessError error)
86+
{
87+
Task.TaskOutputComponent param = new Task.TaskOutputComponent();
88+
89+
param.getType().addCoding(new Coding(CodeSystem.DsfPing.URL, CodeSystem.DsfPing.Code.ERROR.getValue(), null));
90+
param.addExtension(ProcessError.toExtension(error));
91+
Extension dataAbsentReason = new Extension()
92+
.setUrl("http://hl7.org/fhir/StructureDefinition/data-absent-reason")
93+
.setValue(new CodeType("not-applicable"));
94+
param.setValue(new StringType());
95+
param.getValue().addExtension(dataAbsentReason);
96+
97+
return param;
98+
}
7399
}

src/main/java/dev/dsf/bpe/service/ping/StoreResults.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import dev.dsf.bpe.mail.AggregateErrorMailService;
2323
import dev.dsf.bpe.util.ErrorListUtils;
2424
import dev.dsf.bpe.util.task.NetworkSpeedCalculator;
25-
import dev.dsf.bpe.util.task.output.generator.ErrorOutputComponentGenerator;
2625
import dev.dsf.bpe.util.task.output.generator.PingStatusGenerator;
2726
import dev.dsf.bpe.v1.ProcessPluginApi;
2827
import dev.dsf.bpe.v1.activity.AbstractServiceDelegate;
@@ -61,8 +60,7 @@ protected void doExecute(DelegateExecution execution, Variables variables) throw
6160
Targets targets = variables.getTargets();
6261
Map<Target, List<ProcessError>> errorsPerTarget = new HashMap<>();
6362

64-
ErrorOutputComponentGenerator.create(ErrorListUtils.getErrorList(execution).getEntries())
65-
.forEach(task::addOutput);
63+
ProcessError.toTaskOutput(ErrorListUtils.getErrorList(execution).getEntries()).forEach(task::addOutput);
6664

6765
targets.getEntries().stream().sorted(Comparator.comparing(Target::getEndpointIdentifierValue)).forEach(target ->
6866
{

src/main/java/dev/dsf/bpe/util/task/output/generator/ErrorOutputComponentGenerator.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)