summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java11
-rw-r--r--src/main/java/DNPM/config/PluginConfiguration.java11
-rw-r--r--src/main/java/DNPM/services/TherapieplanServiceFactory.java27
3 files changed, 35 insertions, 14 deletions
diff --git a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
index 29441cf..fe2f0d7 100644
--- a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
@@ -2,7 +2,7 @@ package DNPM.analyzer;
import DNPM.services.Studie;
import DNPM.services.StudienService;
-import DNPM.services.TherapieplanService;
+import DNPM.services.TherapieplanServiceFactory;
import de.itc.onkostar.api.Disease;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
@@ -25,14 +25,14 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
private final StudienService studienService;
- private final TherapieplanService therapieplanService;
+ private final TherapieplanServiceFactory therapieplanServiceFactory;
public TherapieplanAnalyzer(
final StudienService studienService,
- final TherapieplanService therapieplanService
+ final TherapieplanServiceFactory therapieplanServiceFactory
) {
this.studienService = studienService;
- this.therapieplanService = therapieplanService;
+ this.therapieplanServiceFactory = therapieplanServiceFactory;
}
@Override
@@ -89,7 +89,7 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
@Override
public void analyze(Procedure procedure, Disease disease) {
- therapieplanService.updateRequiredMtbEntries(procedure);
+ therapieplanServiceFactory.currentUsableinstance().updateRequiredMtbEntries(procedure);
}
@@ -108,6 +108,7 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
* false
* );
* </pre>
+ *
* @param input Map mit Eingabewerten
*/
public List<Studie> getStudien(Map<String, Object> input) {
diff --git a/src/main/java/DNPM/config/PluginConfiguration.java b/src/main/java/DNPM/config/PluginConfiguration.java
index d417132..36b1875 100644
--- a/src/main/java/DNPM/config/PluginConfiguration.java
+++ b/src/main/java/DNPM/config/PluginConfiguration.java
@@ -28,15 +28,8 @@ public class PluginConfiguration {
}
@Bean
- public TherapieplanService therapieplanService(final IOnkostarApi onkostarApi, final FormService formService) {
- if (
- null != onkostarApi.getGlobalSetting("mehrere_mtb_in_mtbepisode")
- && onkostarApi.getGlobalSetting("mehrere_mtb_in_mtbepisode").equals("true")
- ) {
- return new MultipleMtbTherapieplanService();
- }
-
- return new DefaultTherapieplanService(onkostarApi, formService);
+ public TherapieplanServiceFactory therapieplanServiceFactory(final IOnkostarApi onkostarApi, final FormService formService) {
+ return new TherapieplanServiceFactory(onkostarApi, formService);
}
}
diff --git a/src/main/java/DNPM/services/TherapieplanServiceFactory.java b/src/main/java/DNPM/services/TherapieplanServiceFactory.java
new file mode 100644
index 0000000..a6e869c
--- /dev/null
+++ b/src/main/java/DNPM/services/TherapieplanServiceFactory.java
@@ -0,0 +1,27 @@
+package DNPM.services;
+
+import de.itc.onkostar.api.IOnkostarApi;
+
+public class TherapieplanServiceFactory {
+
+ private final IOnkostarApi onkostarApi;
+
+ private final FormService formService;
+
+ public TherapieplanServiceFactory(IOnkostarApi onkostarApi, FormService formService) {
+ this.onkostarApi = onkostarApi;
+ this.formService = formService;
+ }
+
+ public TherapieplanService currentUsableinstance() {
+ if (
+ null != onkostarApi.getGlobalSetting("mehrere_mtb_in_mtbepisode")
+ && onkostarApi.getGlobalSetting("mehrere_mtb_in_mtbepisode").equals("true")
+ ) {
+ return new MultipleMtbTherapieplanService();
+ }
+
+ return new DefaultTherapieplanService(onkostarApi, formService);
+ }
+
+}