diff options
Diffstat (limited to 'src/main/java/DNPM')
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); + } + +} |
