summaryrefslogtreecommitdiff
path: root/src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-09-03 14:35:10 +0200
committerGitHub2026-09-03 14:35:10 +0200
commitfb91356b7777dfa5b6088bcc3a48b43924c1c0fd (patch)
treea3d384390e388395953865a286f15292aaa04a86 /src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java
parent59daf77a63bd17bb14248cf9881046dd6b331e2a (diff)
build: apply Spotless plugin (#293)
Diffstat (limited to 'src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java')
-rw-r--r--src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java195
1 files changed, 98 insertions, 97 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java b/src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java
index 941d3c8..12dc47a 100644
--- a/src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java
+++ b/src/main/java/dev/dnpm/oshelper/analyzer/EinzelempfehlungAnalyzer.java
@@ -19,135 +19,136 @@
package dev.dnpm.oshelper.analyzer;
+import de.itc.onkostar.api.Disease;
+import de.itc.onkostar.api.IOnkostarApi;
+import de.itc.onkostar.api.Procedure;
+import de.itc.onkostar.api.analysis.AnalyzerRequirement;
import dev.dnpm.oshelper.dto.Studie;
import dev.dnpm.oshelper.dto.Variant;
import dev.dnpm.oshelper.security.PermissionType;
import dev.dnpm.oshelper.security.PersonPoolBasedPermissionEvaluator;
import dev.dnpm.oshelper.services.StudienService;
import dev.dnpm.oshelper.services.molekulargenetik.MolekulargenetikFormService;
-import de.itc.onkostar.api.Disease;
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Procedure;
-import de.itc.onkostar.api.analysis.AnalyzerRequirement;
+import java.util.List;
+import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
-import java.util.List;
-import java.util.Map;
-
/**
- * Diese Klasse implementiert ein Plugin, welches Funktionen für DNPM UF Einzelempfehlung bereitstellt.
+ * Diese Klasse implementiert ein Plugin, welches Funktionen für DNPM UF Einzelempfehlung
+ * bereitstellt.
*
* @since 0.2.0
*/
@Component
public class EinzelempfehlungAnalyzer extends BackendService {
- private final static Logger logger = LoggerFactory.getLogger(EinzelempfehlungAnalyzer.class);
-
- private final IOnkostarApi onkostarApi;
-
- private final MolekulargenetikFormService molekulargenetikFormService;
+ private static final Logger logger = LoggerFactory.getLogger(EinzelempfehlungAnalyzer.class);
- private final StudienService studienService;
+ private final IOnkostarApi onkostarApi;
- private final PersonPoolBasedPermissionEvaluator permissionEvaluator;
+ private final MolekulargenetikFormService molekulargenetikFormService;
- public EinzelempfehlungAnalyzer(
- final IOnkostarApi onkostarApi,
- final StudienService studienService,
- final MolekulargenetikFormService molekulargenetikFormService,
- final PersonPoolBasedPermissionEvaluator permissionEvaluator
- ) {
- this.onkostarApi = onkostarApi;
- this.studienService = studienService;
- this.molekulargenetikFormService = molekulargenetikFormService;
- this.permissionEvaluator = permissionEvaluator;
- }
+ private final StudienService studienService;
- @Override
- public String getDescription() {
- return "Stellt Funktionen zur Nutzung im Therapieplan-Unterformular für Einzelempfehlungen bereit";
- }
+ private final PersonPoolBasedPermissionEvaluator permissionEvaluator;
- /**
- * @deprecated
- */
- @Override
- public boolean isRelevantForDeletedProcedure() {
- return false;
- }
+ public EinzelempfehlungAnalyzer(
+ final IOnkostarApi onkostarApi,
+ final StudienService studienService,
+ final MolekulargenetikFormService molekulargenetikFormService,
+ final PersonPoolBasedPermissionEvaluator permissionEvaluator) {
+ this.onkostarApi = onkostarApi;
+ this.studienService = studienService;
+ this.molekulargenetikFormService = molekulargenetikFormService;
+ this.permissionEvaluator = permissionEvaluator;
+ }
- @Override
- public boolean isRelevantForAnalyzer(Procedure procedure, Disease disease) {
- return false;
- }
+ @Override
+ public String getDescription() {
+ return "Stellt Funktionen zur Nutzung im Therapieplan-Unterformular für Einzelempfehlungen bereit";
+ }
- @Override
- public boolean isSynchronous() {
- return false;
- }
+ /**
+ * @deprecated
+ */
+ @Override
+ public boolean isRelevantForDeletedProcedure() {
+ return false;
+ }
- @Override
- public AnalyzerRequirement getRequirement() {
- return AnalyzerRequirement.PROCEDURE;
- }
+ @Override
+ public boolean isRelevantForAnalyzer(Procedure procedure, Disease disease) {
+ return false;
+ }
- public List<Variant> getVariants(Map<String, Object> input) {
- var procedureId = AnalyzerUtils.getRequiredId(input, "id");
+ @Override
+ public boolean isSynchronous() {
+ return false;
+ }
- if (procedureId.isEmpty()) {
- return List.of();
- }
+ @Override
+ public AnalyzerRequirement getRequirement() {
+ return AnalyzerRequirement.PROCEDURE;
+ }
- var procedure = onkostarApi.getProcedure(procedureId.get());
- if (null == procedure) {
- return List.of();
- }
+ public List<Variant> getVariants(Map<String, Object> input) {
+ var procedureId = AnalyzerUtils.getRequiredId(input, "id");
- if (permissionEvaluator.hasPermission(SecurityContextHolder.getContext().getAuthentication(), procedure, PermissionType.READ)) {
- return molekulargenetikFormService.getVariants(procedure);
- } else {
- logger.error("Security: No permission to access procedure '{}'", procedure.getId());
- return List.of();
- }
+ if (procedureId.isEmpty()) {
+ return List.of();
}
- /**
- * Übergibt alle Studien, deren (Kurz-)Beschreibung oder NCT-Nummer den übergebenen Eingabewert <code>q</code> enthält
- *
- * <p>Wurde der Eingabewert nicht angegeben oder ist leer, werden alle Studien übergeben.
- *
- * <p>Beispiel zur Nutzung in einem Formularscript
- * <pre>
- * executePluginMethod(
- * 'TherapieplanAnalyzer',
- * 'getStudien',
- * { q: 'NCT-12', inactive: true },
- * (response) => console.log(response),
- * false
- * );
- * </pre>
- *
- * @param input Map mit Eingabewerten
- * @return Liste mit Studien
- */
- public List<Studie> getStudien(Map<String, Object> input) {
- var query = AnalyzerUtils.getRequiredValue(input, "q", String.class);
- var inactive = AnalyzerUtils.getRequiredValue(input, "inactive", Boolean.class).orElse(false);
-
- if (query.isEmpty() || query.get().isBlank()) {
- if (inactive) {
- return studienService.findAll();
- }
- return studienService.findActive();
- }
- if (inactive) {
- return studienService.findByQuery(query.get());
- }
- return studienService.findActiveByQuery(query.get());
+ var procedure = onkostarApi.getProcedure(procedureId.get());
+ if (null == procedure) {
+ return List.of();
}
+ if (permissionEvaluator.hasPermission(
+ SecurityContextHolder.getContext().getAuthentication(), procedure, PermissionType.READ)) {
+ return molekulargenetikFormService.getVariants(procedure);
+ } else {
+ logger.error("Security: No permission to access procedure '{}'", procedure.getId());
+ return List.of();
+ }
+ }
+
+ /**
+ * Übergibt alle Studien, deren (Kurz-)Beschreibung oder NCT-Nummer den übergebenen Eingabewert
+ * <code>q</code> enthält
+ *
+ * <p>Wurde der Eingabewert nicht angegeben oder ist leer, werden alle Studien übergeben.
+ *
+ * <p>Beispiel zur Nutzung in einem Formularscript
+ *
+ * <pre>
+ * executePluginMethod(
+ * 'TherapieplanAnalyzer',
+ * 'getStudien',
+ * { q: 'NCT-12', inactive: true },
+ * (response) => console.log(response),
+ * false
+ * );
+ * </pre>
+ *
+ * @param input Map mit Eingabewerten
+ * @return Liste mit Studien
+ */
+ public List<Studie> getStudien(Map<String, Object> input) {
+ var query = AnalyzerUtils.getRequiredValue(input, "q", String.class);
+ var inactive = AnalyzerUtils.getRequiredValue(input, "inactive", Boolean.class).orElse(false);
+
+ if (query.isEmpty() || query.get().isBlank()) {
+ if (inactive) {
+ return studienService.findAll();
+ }
+ return studienService.findActive();
+ }
+ if (inactive) {
+ return studienService.findByQuery(query.get());
+ }
+ return studienService.findActiveByQuery(query.get());
+ }
}