diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java | 34 | ||||
| -rw-r--r-- | src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java | 36 |
2 files changed, 34 insertions, 36 deletions
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 <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' }, + * (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); + + if (query.isEmpty() || query.get().isBlank()) { + return studienService.findAll(); + } + return studienService.findByQuery(query.get()); + } + } diff --git a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java index aef635b..6561da4 100644 --- a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java +++ b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java @@ -1,9 +1,7 @@ package DNPM.analyzer; -import DNPM.dto.Studie; import DNPM.security.DelegatingDataBasedPermissionEvaluator; import DNPM.security.PermissionType; -import DNPM.services.StudienService; import DNPM.services.mtb.MtbService; import DNPM.services.therapieplan.TherapieplanServiceFactory; import de.itc.onkostar.api.Disease; @@ -15,7 +13,6 @@ import de.itc.onkostar.api.analysis.OnkostarPluginType; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; -import java.util.List; import java.util.Map; import java.util.Set; @@ -27,8 +24,6 @@ import java.util.Set; @Component public class TherapieplanAnalyzer implements IProcedureAnalyzer { - private final StudienService studienService; - private final TherapieplanServiceFactory therapieplanServiceFactory; private final MtbService mtbService; @@ -36,12 +31,10 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer { private final DelegatingDataBasedPermissionEvaluator permissionEvaluator; public TherapieplanAnalyzer( - final StudienService studienService, final TherapieplanServiceFactory therapieplanServiceFactory, final MtbService mtbService, final DelegatingDataBasedPermissionEvaluator permissionEvaluator ) { - this.studienService = studienService; this.therapieplanServiceFactory = therapieplanServiceFactory; this.mtbService = mtbService; this.permissionEvaluator = permissionEvaluator; @@ -104,35 +97,6 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer { therapieplanServiceFactory.currentUsableInstance().updateRequiredMtbEntries(procedure); } - - /** - * Ü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' }, - * (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); - - if (query.isEmpty() || query.get().isBlank()) { - return studienService.findAll(); - } - return studienService.findByQuery(query.get()); - } - /** * Übergibt den Text der referenzierten MTBs für den Protokollauszug * |
