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