From 9afb438eeae0f5a5d6cf63afdaf4b5df8b06a895 Mon Sep 17 00:00:00 2001
From: Paul-Christian Volkmer
Date: Tue, 7 Apr 2026 10:15:30 +0200
Subject: refactor: remove deprecated MtbService (#260)
---
.../oshelper/analyzer/TherapieplanAnalyzer.java | 62 +--------------
.../dnpm/oshelper/config/PluginConfiguration.java | 9 +--
.../oshelper/services/mtb/DefaultMtbService.java | 90 ----------------------
.../dev/dnpm/oshelper/services/mtb/MtbService.java | 51 ------------
4 files changed, 3 insertions(+), 209 deletions(-)
delete mode 100644 src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java
delete mode 100644 src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java
(limited to 'src/main/java/dev/dnpm/oshelper')
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
- *
- *
Wurde der Eingabewert id nicht übergeben, wird ein leerer String zurück gegeben.
- *
- *
Beispiel zur Nutzung in einem Formularscript
- *
- * executePluginMethod(
- * 'TherapieplanAnalyzer',
- * 'getProtokollauszug',
- * { id: 12345 },
- * (response) => console.log(response),
- * false
- * );
- *
- *
- * @param input Map mit Eingabewerten
- * @return Zeichenkette mit Protokollauszug
- */
- @Deprecated(since = "2.1", forRemoval = true)
- public String getProtokollauszug(Map 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;
@@ -67,11 +65,6 @@ public class PluginConfiguration {
return new SettingsService(settingsRepository);
}
- @Bean
- public MtbService mtbService(final IOnkostarApi onkostarApi) {
- return new DefaultMtbService(onkostarApi);
- }
-
@Bean
public SystemtherapieService systemtherapieService(
final IOnkostarApi onkostarApi,
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 .
- */
-
-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 procedures) {
- return this.sortedDistinctProcedureProtocolList(procedures.stream())
- .collect(Collectors.joining("\n\n"));
- }
-
- private Stream sortedDistinctProcedureProtocolList(Stream 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 .
- */
-
-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 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 selectAndApplyMapper(Procedure procedure) {
- return this.procedureToProtocolMapper(procedure).apply(procedure);
- }
-}
--
cgit v1.2.3