summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/DNPM/services')
-rw-r--r--src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java12
-rw-r--r--src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java34
2 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java b/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java
new file mode 100644
index 0000000..5af03b2
--- /dev/null
+++ b/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java
@@ -0,0 +1,12 @@
+package DNPM.services.molekulargenetik;
+
+import DNPM.dto.Variant;
+import de.itc.onkostar.api.Procedure;
+
+import java.util.List;
+
+public interface MolekulargenetikFormService {
+
+ List<Variant> getVariants(Procedure procedure);
+
+}
diff --git a/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java b/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java
new file mode 100644
index 0000000..03017ad
--- /dev/null
+++ b/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java
@@ -0,0 +1,34 @@
+package DNPM.services.molekulargenetik;
+
+import DNPM.dto.Variant;
+import DNPM.security.FormSecured;
+import DNPM.security.PersonPoolSecured;
+import de.itc.onkostar.api.Procedure;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+public class OsMolekulargenetikFormService implements MolekulargenetikFormService {
+
+ @Override
+ @FormSecured
+ @PersonPoolSecured
+ public List<Variant> getVariants(Procedure procedure) {
+ if (! "OS.Molekulargenetik".equals(procedure.getFormName())) {
+ return List.of();
+ }
+
+ var subforms = procedure.getSubProceduresMap().get("MolekulargenetischeUntersuchung");
+ if (null == subforms) {
+ return List.of();
+ }
+
+ return subforms.stream()
+ .map(Variant::fromProcedure)
+ .filter(Optional::isPresent)
+ .map(Optional::get)
+ .collect(Collectors.toList());
+
+ }
+}