diff options
| author | Paul-Christian Volkmer | 2026-04-07 10:15:30 +0200 |
|---|---|---|
| committer | GitHub | 2026-04-07 08:15:30 +0000 |
| commit | 9afb438eeae0f5a5d6cf63afdaf4b5df8b06a895 (patch) | |
| tree | 48fec966a5e2f65fbcc2d1e69cc97f8f79ca7cc9 /src/main | |
| parent | 149b33a18dcdfa7500e7d66b5774b2dca14b6f9c (diff) | |
refactor: remove deprecated MtbService (#260)
Diffstat (limited to 'src/main')
4 files changed, 3 insertions, 209 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java b/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java index 50b8c20..85baf5f 100644 --- a/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java +++ b/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java @@ -19,18 +19,13 @@ package dev.dnpm.oshelper.analyzer; -import dev.dnpm.oshelper.security.DelegatingDataBasedPermissionEvaluator; -import dev.dnpm.oshelper.security.PermissionType; -import dev.dnpm.oshelper.services.mtb.MtbService; -import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory; import de.itc.onkostar.api.Disease; import de.itc.onkostar.api.Procedure; import de.itc.onkostar.api.analysis.AnalyseTriggerEvent; import de.itc.onkostar.api.analysis.AnalyzerRequirement; -import org.springframework.security.core.context.SecurityContextHolder; +import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory; import org.springframework.stereotype.Component; -import java.util.Map; import java.util.Set; /** @@ -43,18 +38,10 @@ public class TherapieplanAnalyzer extends Analyzer { private final TherapieplanServiceFactory therapieplanServiceFactory; - private final MtbService mtbService; - - private final DelegatingDataBasedPermissionEvaluator permissionEvaluator; - public TherapieplanAnalyzer( - final TherapieplanServiceFactory therapieplanServiceFactory, - final MtbService mtbService, - final DelegatingDataBasedPermissionEvaluator permissionEvaluator + final TherapieplanServiceFactory therapieplanServiceFactory ) { this.therapieplanServiceFactory = therapieplanServiceFactory; - this.mtbService = mtbService; - this.permissionEvaluator = permissionEvaluator; } @Override @@ -99,49 +86,4 @@ public class TherapieplanAnalyzer extends Analyzer { therapieplanServiceFactory.currentUsableInstance().updateRequiredMtbEntries(procedure); } - /** - * Übergibt den Text der referenzierten MTBs für den Protokollauszug - * - * <p>Wurde der Eingabewert <code>id</code> nicht übergeben, wird ein leerer String zurück gegeben. - * - * <p>Beispiel zur Nutzung in einem Formularscript - * <pre> - * executePluginMethod( - * 'TherapieplanAnalyzer', - * 'getProtokollauszug', - * { id: 12345 }, - * (response) => console.log(response), - * false - * ); - * </pre> - * - * @param input Map mit Eingabewerten - * @return Zeichenkette mit Protokollauszug - */ - @Deprecated(since = "2.1", forRemoval = true) - public String getProtokollauszug(Map<String, Object> input) { - var procedureId = AnalyzerUtils.getRequiredId(input, "id"); - - if (procedureId.isEmpty()) { - return ""; - } - - if ( - permissionEvaluator.hasPermission( - SecurityContextHolder.getContext().getAuthentication(), - procedureId.get(), - Procedure.class.getSimpleName(), - PermissionType.READ - ) - ) { - return mtbService.getProtocol( - therapieplanServiceFactory - .currentUsableInstance() - .findReferencedMtbs(procedureId.get()) - ); - } - - return ""; - } - } diff --git a/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java b/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java index f52fa29..bb6619f 100644 --- a/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java +++ b/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java @@ -19,6 +19,7 @@ package dev.dnpm.oshelper.config; +import de.itc.onkostar.api.IOnkostarApi; import dev.dnpm.oshelper.atc.services.AgentCodeService; import dev.dnpm.oshelper.atc.services.CsvAgentCodeService; import dev.dnpm.oshelper.atc.services.OnkostarAgentCodeService; @@ -27,14 +28,11 @@ import dev.dnpm.oshelper.services.*; import dev.dnpm.oshelper.services.consent.ConsentManagerServiceFactory; import dev.dnpm.oshelper.services.molekulargenetik.MolekulargenetikFormService; import dev.dnpm.oshelper.services.molekulargenetik.OsMolekulargenetikFormService; -import dev.dnpm.oshelper.services.mtb.DefaultMtbService; -import dev.dnpm.oshelper.services.mtb.MtbService; import dev.dnpm.oshelper.services.strahlentherapie.DefaultStrahlentherapieService; import dev.dnpm.oshelper.services.strahlentherapie.StrahlentherapieService; import dev.dnpm.oshelper.services.systemtherapie.DefaultSystemtherapieService; import dev.dnpm.oshelper.services.systemtherapie.SystemtherapieService; import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory; -import de.itc.onkostar.api.IOnkostarApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -68,11 +66,6 @@ public class PluginConfiguration { } @Bean - public MtbService mtbService(final IOnkostarApi onkostarApi) { - return new DefaultMtbService(onkostarApi); - } - - @Bean public SystemtherapieService systemtherapieService( final IOnkostarApi onkostarApi, final SettingsService settingsService diff --git a/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java b/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java deleted file mode 100644 index bc8a0cc..0000000 --- a/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * This file is part of onkostar-plugin-dnpm - * - * Copyright (C) 2023-2026 the original author or authors. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package dev.dnpm.oshelper.services.mtb; - -import de.itc.onkostar.api.IOnkostarApi; -import de.itc.onkostar.api.Procedure; - -import java.util.Comparator; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * Standardimplementierung des MtbService - * - * @since 0.0.2 - */ -@Deprecated(forRemoval = true, since = "2.1.0") -public class DefaultMtbService implements MtbService { - - private final IOnkostarApi onkostarApi; - - public DefaultMtbService(final IOnkostarApi onkostarApi) { - this.onkostarApi = onkostarApi; - } - - /** - * Zusammenfassung der Prozeduren. - * Dabei werden alle Prozeduren sortiert, mit ermitteltem Mapper in {@link Optional} eines {@link String}s - * gewandelt und, wenn dies erfolgreich war, die Zeichenkette extrahiert. - * Im Anschluss wird die Abfolge der Zeichenketten mit den einzelnen Prozedur-Zusammenfassungen in eine - * einzige Zusammenfassung zusammengefügt. - * @param procedures Prozeduren, die zusammen gefasst werden sollen - * @return Text mit Zusammenfassung aller übergebenen Prozeduren - */ - @Override - public String getProtocol(List<Procedure> procedures) { - return this.sortedDistinctProcedureProtocolList(procedures.stream()) - .collect(Collectors.joining("\n\n")); - } - - private Stream<String> sortedDistinctProcedureProtocolList(Stream<Procedure> procedures) { - return procedures - .sorted(Comparator.comparing(Procedure::getStartDate)) - .map(this::selectAndApplyMapper) - .filter(Optional::isPresent) - .map(Optional::get) - .distinct(); - } - - /** - * Übergibt anzuwendenden Mapper für eine Prozedur. - * Wurde keine Implementierung festgelegt, wird ein Mapper zurückgegeben, der eine - * Prozedur in ein leeres {@link Optional} zurück gibt, übergeben. - * @param procedure Prozedur, für die ein Mapper ermittelt werden soll - * @return Mapper für diese Prozedur - */ - @Override - public ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure) { - switch (procedure.getFormName()) { - case "OS.Tumorkonferenz": - return new OsTumorkonferenzToProtocolMapper(); - case "OS.Tumorkonferenz.VarianteUKW": - return new OsTumorkonferenzVarianteUkwToProtocolMapper(); - case "MR.MTB_Anmeldung": - return new MrMtbAnmeldungToProtocolMapper(this.onkostarApi); - default: - return p -> Optional.empty(); - } - } - -} diff --git a/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java b/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java deleted file mode 100644 index ec0724c..0000000 --- a/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of onkostar-plugin-dnpm - * - * Copyright (C) 2023-2026 the original author or authors. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package dev.dnpm.oshelper.services.mtb; - -import de.itc.onkostar.api.Procedure; - -import java.util.List; -import java.util.Optional; - -@Deprecated(forRemoval = true, since = "2.1.0") -public interface MtbService { - /** - * Zusammenfassung der Prozeduren - * @param procedures Prozeduren, die zusammen gefasst werden sollen - * @return Text mit Zusammenfassung der Prozeduren - */ - String getProtocol(List<Procedure> procedures); - - /** - * Übergibt anzuwendenden Mapper für eine Prozedur - * @param procedure Prozedur, für die ein Mapper ermittelt werden soll - * @return Mapper für diese Prozedur - */ - ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure); - - /** - * Select mapper using method {@link #procedureToProtocolMapper(Procedure)} and apply procedure - * @param procedure The Procedure to select mapper for and apply - * @return {@link Optional} with protocol or empty {@link Optional} - */ - default Optional<String> selectAndApplyMapper(Procedure procedure) { - return this.procedureToProtocolMapper(procedure).apply(procedure); - } -} |
