From b1f281fa59fb595dad5f5928b997598559c0b8c1 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 27 Jun 2023 11:31:08 +0200 Subject: Issue #4: Verschiebe Backend-Methode in EinzelempfehlungAnalyzer --- .../DNPM/analyzer/EinzelempfehlungAnalyzer.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java') diff --git a/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java b/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java index 6f38bdb..dfe9d22 100644 --- a/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java +++ b/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java @@ -1,8 +1,10 @@ package DNPM.analyzer; +import DNPM.dto.Studie; import DNPM.dto.Variant; import DNPM.security.PermissionType; import DNPM.security.PersonPoolBasedPermissionEvaluator; +import DNPM.services.StudienService; import DNPM.services.molekulargenetik.MolekulargenetikFormService; import de.itc.onkostar.api.Disease; import de.itc.onkostar.api.IOnkostarApi; @@ -32,14 +34,18 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer { private final MolekulargenetikFormService molekulargenetikFormService; + private final StudienService studienService; + private final PersonPoolBasedPermissionEvaluator permissionEvaluator; 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; } @@ -112,4 +118,32 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer { } } + /** + * Übergibt alle Studien, deren (Kurz-)Beschreibung oder NCT-Nummer den übergebenen Eingabewert q enthält + * + *

Wurde der Eingabewert nicht angegeben oder ist leer, werden alle Studien übergeben. + * + *

Beispiel zur Nutzung in einem Formularscript + *

+     * executePluginMethod(
+     *   'TherapieplanAnalyzer',
+     *   'getStudien',
+     *   { q: 'NCT-12' },
+     *   (response) => console.log(response),
+     *   false
+     * );
+     * 
+ * + * @param input Map mit Eingabewerten + * @return Liste mit Studien + */ + public List getStudien(Map input) { + var query = AnalyzerUtils.getRequiredValue(input, "q", String.class); + + if (query.isEmpty() || query.get().isBlank()) { + return studienService.findAll(); + } + return studienService.findByQuery(query.get()); + } + } -- cgit v1.2.3