summaryrefslogtreecommitdiff
path: root/src/main/java/dev/dnpm/oshelper
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-04-07 10:15:30 +0200
committerGitHub2026-04-07 08:15:30 +0000
commit9afb438eeae0f5a5d6cf63afdaf4b5df8b06a895 (patch)
tree48fec966a5e2f65fbcc2d1e69cc97f8f79ca7cc9 /src/main/java/dev/dnpm/oshelper
parent149b33a18dcdfa7500e7d66b5774b2dca14b6f9c (diff)
refactor: remove deprecated MtbService (#260)
Diffstat (limited to 'src/main/java/dev/dnpm/oshelper')
-rw-r--r--src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java62
-rw-r--r--src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java9
-rw-r--r--src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java90
-rw-r--r--src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java51
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);
- }
-}