From f09826a8fff78361de9cbe5eccdfffb86a6e610a Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Wed, 15 Mar 2023 12:01:50 +0100 Subject: Verwende Spring Configuration zur Pluginkonfiguration Dies erlaubt eine dynamische Konfiguration der zu verwendenden Service-Implementierungen mit Anpassungen je nach Standort oder Einstellungen. --- src/main/java/DNPM/config/PluginConfiguration.java | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/java/DNPM/config/PluginConfiguration.java (limited to 'src/main/java/DNPM/config/PluginConfiguration.java') diff --git a/src/main/java/DNPM/config/PluginConfiguration.java b/src/main/java/DNPM/config/PluginConfiguration.java new file mode 100644 index 0000000..d417132 --- /dev/null +++ b/src/main/java/DNPM/config/PluginConfiguration.java @@ -0,0 +1,42 @@ +package DNPM.config; + +import DNPM.services.*; +import de.itc.onkostar.api.IOnkostarApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; + +/** + * Dynamische Konfiguration des Plugins basierend auf Onkostar-Einstellungen + * + * @since 0.0.2 + */ +@Configuration +@ComponentScan(basePackages = "DNPM.analyzer") +public class PluginConfiguration { + + @Bean + public FormService formService(final DataSource dataSource) { + return new DefaultFormService(dataSource); + } + + @Bean + public StudienService studienService(final DataSource dataSource) { + return new DefaultStudienService(dataSource); + } + + @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); + } + +} -- cgit v1.2.3