diff options
| author | Paul-Christian Volkmer | 2023-03-15 12:01:50 +0100 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-03-15 12:01:50 +0100 |
| commit | f09826a8fff78361de9cbe5eccdfffb86a6e610a (patch) | |
| tree | b3f8e2dda25b6ba670b483e8bb760d7f6e97bb2b /src/main/java/DNPM/config | |
| parent | c6c1ebdfbbf8a0cf9f3faa5a41e21309f64bed46 (diff) | |
Verwende Spring Configuration zur Pluginkonfiguration
Dies erlaubt eine dynamische Konfiguration der zu verwendenden Service-Implementierungen
mit Anpassungen je nach Standort oder Einstellungen.
Diffstat (limited to 'src/main/java/DNPM/config')
| -rw-r--r-- | src/main/java/DNPM/config/PluginConfiguration.java | 42 |
1 files changed, 42 insertions, 0 deletions
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); + } + +} |
