diff options
| author | Paul-Christian Volkmer | 2023-06-27 11:31:08 +0200 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-06-27 11:31:08 +0200 |
| commit | b1f281fa59fb595dad5f5928b997598559c0b8c1 (patch) | |
| tree | 80713c6c8308ce895260a95c79e4b4281caecb8a /src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java | |
| parent | 0dc733a75bbc365c1c2ec728c2ec975e4aa50e7f (diff) | |
Issue #4: Verschiebe Backend-Methode in EinzelempfehlungAnalyzer
Diffstat (limited to 'src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java')
| -rw-r--r-- | src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java | 34 |
1 files changed, 34 insertions, 0 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()); + } + } |
