1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-04 01:52:55 +00:00

Verwende Spring Configuration zur Pluginkonfiguration

Dies erlaubt eine dynamische Konfiguration der zu verwendenden Service-Implementierungen
mit Anpassungen je nach Standort oder Einstellungen.
This commit is contained in:
2023-03-15 12:01:50 +01:00
parent c6c1ebdfbb
commit f09826a8ff
12 changed files with 451 additions and 260 deletions

View File

@ -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);
}
}