summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/DNPM/analyzer/Analyzer.java12
-rw-r--r--src/main/java/DNPM/analyzer/BackendService.java25
-rw-r--r--src/main/java/DNPM/analyzer/ConsentManager.java (renamed from src/main/java/DNPM/ConsentManager.java)21
-rw-r--r--src/main/java/DNPM/analyzer/DNPMHelper.java (renamed from src/main/java/DNPM/DNPMHelper.java)32
-rw-r--r--src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java24
-rw-r--r--src/main/java/DNPM/analyzer/FollowUpAnalyzer.java19
-rw-r--r--src/main/java/DNPM/analyzer/IPluginPart.java19
-rw-r--r--src/main/java/DNPM/analyzer/Merkmalskatalog.java (renamed from src/main/java/DNPM/Merkmalskatalog.java)26
-rw-r--r--src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java19
-rw-r--r--src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java19
-rw-r--r--src/main/resources/de/itc/onkostar/library/moduleContext.xml6
-rw-r--r--src/test/java/DNPM/ConsentManagerTest.java1
-rw-r--r--src/test/java/DNPM/DNPMHelperTest.java1
-rw-r--r--src/test/java/DNPM/MerkmalskatalogTest.java1
14 files changed, 74 insertions, 151 deletions
diff --git a/src/main/java/DNPM/analyzer/Analyzer.java b/src/main/java/DNPM/analyzer/Analyzer.java
new file mode 100644
index 0000000..fd2fdec
--- /dev/null
+++ b/src/main/java/DNPM/analyzer/Analyzer.java
@@ -0,0 +1,12 @@
+package DNPM.analyzer;
+
+import de.itc.onkostar.api.analysis.OnkostarPluginType;
+
+public abstract class Analyzer implements IPluginPart {
+
+ @Override
+ public final OnkostarPluginType getType() {
+ return OnkostarPluginType.ANALYZER;
+ }
+
+}
diff --git a/src/main/java/DNPM/analyzer/BackendService.java b/src/main/java/DNPM/analyzer/BackendService.java
new file mode 100644
index 0000000..84895dd
--- /dev/null
+++ b/src/main/java/DNPM/analyzer/BackendService.java
@@ -0,0 +1,25 @@
+package DNPM.analyzer;
+
+import de.itc.onkostar.api.Disease;
+import de.itc.onkostar.api.Procedure;
+import de.itc.onkostar.api.analysis.OnkostarPluginType;
+
+public abstract class BackendService implements IPluginPart {
+
+ @Override
+ public final OnkostarPluginType getType() {
+ return OnkostarPluginType.BACKEND_SERVICE;
+ }
+
+ /**
+ * Ein Backend-Service verwendet die Methode nicht, daher wird hier eine final Stub-Implementierung
+ * verwendet, die ein Überschreiben verhindert.
+ * @param procedure
+ * @param disease
+ */
+ @Override
+ public final void analyze(Procedure procedure, Disease disease) {
+ // No op
+ }
+
+}
diff --git a/src/main/java/DNPM/ConsentManager.java b/src/main/java/DNPM/analyzer/ConsentManager.java
index 877f087..6051bc0 100644
--- a/src/main/java/DNPM/ConsentManager.java
+++ b/src/main/java/DNPM/analyzer/ConsentManager.java
@@ -1,16 +1,14 @@
-package DNPM;
+package DNPM.analyzer;
import DNPM.services.consent.ConsentManagerServiceFactory;
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 de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class ConsentManager implements IProcedureAnalyzer {
+public class ConsentManager extends Analyzer {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -32,26 +30,11 @@ public class ConsentManager implements IProcedureAnalyzer {
}
@Override
- public String getName() {
- return "Consent Manager";
- }
-
- @Override
public AnalyzerRequirement getRequirement() {
return AnalyzerRequirement.PROCEDURE;
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.ANALYZER;
- }
-
- @Override
- public String getVersion() {
- return "0.3.0";
- }
-
- @Override
public boolean isRelevantForAnalyzer(Procedure prozedur, Disease erkrankung) {
return prozedur.getFormName().equals(onkostarApi.getGlobalSetting("consentform"));
}
diff --git a/src/main/java/DNPM/DNPMHelper.java b/src/main/java/DNPM/analyzer/DNPMHelper.java
index 838ca9a..9bfa04a 100644
--- a/src/main/java/DNPM/DNPMHelper.java
+++ b/src/main/java/DNPM/analyzer/DNPMHelper.java
@@ -1,6 +1,6 @@
-package DNPM;
+package DNPM.analyzer;
-import DNPM.analyzer.AnalyzerUtils;
+import DNPM.VerweisVon;
import DNPM.security.IllegalSecuredObjectAccessException;
import DNPM.security.PermissionType;
import DNPM.security.PersonPoolBasedPermissionEvaluator;
@@ -11,8 +11,6 @@ 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 de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@@ -27,7 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-public class DNPMHelper implements IProcedureAnalyzer {
+public class DNPMHelper extends BackendService {
private static final Logger logger = LoggerFactory.getLogger(DNPMHelper.class);
@@ -41,30 +39,13 @@ public class DNPMHelper implements IProcedureAnalyzer {
final IOnkostarApi onkostarApi,
final SystemtherapieService systemtherapieService,
final PersonPoolBasedPermissionEvaluator permissionEvaluator
- ) {
+ ) {
this.onkostarApi = onkostarApi;
this.systemtherapieService = systemtherapieService;
this.personPoolBasedPermissionEvaluator = permissionEvaluator;
}
@Override
- public OnkostarPluginType getType() {
- // Typ des Plugins
- // Für das Interface IProcedureAnalyzer gültig sind ANALYZER und BACKEND_SERVICE
- return OnkostarPluginType.BACKEND_SERVICE;
- }
-
- @Override
- public String getVersion() {
- return "0.4.0";
- }
-
- @Override
- public String getName() {
- return "UMR DNPM";
- }
-
- @Override
public String getDescription() {
return "Methoden für DNPM-Formulare";
}
@@ -90,11 +71,6 @@ public class DNPMHelper implements IProcedureAnalyzer {
return false;
}
- @Override
- public void analyze(Procedure entry, Disease currentDisease) {
- // wird nicht benötigt, da dass Plugin nicht ausgeführt wird
- }
-
@SuppressWarnings("unchecked")
public List<Map<String, String>> getVerweise(final Map<String, Object> input) {
var procedureId = AnalyzerUtils.getRequiredId(input, "ProcedureId");
diff --git a/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java b/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java
index 1ace2f8..1724272 100644
--- a/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/EinzelempfehlungAnalyzer.java
@@ -10,8 +10,6 @@ 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 de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -26,7 +24,7 @@ import java.util.Map;
* @since 0.2.0
*/
@Component
-public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
+public class EinzelempfehlungAnalyzer extends BackendService {
private final static Logger logger = LoggerFactory.getLogger(EinzelempfehlungAnalyzer.class);
@@ -51,21 +49,6 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.BACKEND_SERVICE;
- }
-
- @Override
- public String getVersion() {
- return "0.4.0";
- }
-
- @Override
- public String getName() {
- return "DNPM Einzelempfehlung Backend Service";
- }
-
- @Override
public String getDescription() {
return "Stellt Funktionen zur Nutzung im Therapieplan-Unterformular für Einzelempfehlungen bereit";
}
@@ -93,11 +76,6 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
return AnalyzerRequirement.PROCEDURE;
}
- @Override
- public void analyze(Procedure procedure, Disease disease) {
- // No op
- }
-
public List<Variant> getVariants(Map<String, Object> input) {
var procedureId = AnalyzerUtils.getRequiredId(input, "id");
diff --git a/src/main/java/DNPM/analyzer/FollowUpAnalyzer.java b/src/main/java/DNPM/analyzer/FollowUpAnalyzer.java
index 0a68461..07b5fa0 100644
--- a/src/main/java/DNPM/analyzer/FollowUpAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/FollowUpAnalyzer.java
@@ -6,8 +6,6 @@ import de.itc.onkostar.api.Item;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
-import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -20,7 +18,7 @@ import java.util.Set;
* @since 0.0.2
*/
@Component
-public class FollowUpAnalyzer implements IProcedureAnalyzer {
+public class FollowUpAnalyzer extends Analyzer {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -31,21 +29,6 @@ public class FollowUpAnalyzer implements IProcedureAnalyzer {
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.ANALYZER;
- }
-
- @Override
- public String getVersion() {
- return "0.4.0";
- }
-
- @Override
- public String getName() {
- return "DNPM FollowUp Analyzer";
- }
-
- @Override
public String getDescription() {
return "Aktualisiert verknüpfte Formulare nach Änderungen im FollowUp-Formular";
}
diff --git a/src/main/java/DNPM/analyzer/IPluginPart.java b/src/main/java/DNPM/analyzer/IPluginPart.java
new file mode 100644
index 0000000..31e9fff
--- /dev/null
+++ b/src/main/java/DNPM/analyzer/IPluginPart.java
@@ -0,0 +1,19 @@
+package DNPM.analyzer;
+
+import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
+
+public interface IPluginPart extends IProcedureAnalyzer {
+
+ default String getVersion() {
+ return "0.4.0";
+ }
+
+ default String getName() {
+ return "DNPM Plugin";
+ }
+
+ default String getDescription() {
+ return String.format("Plugin-Bestandteil '%s'", this.getClass().getSimpleName());
+ }
+
+}
diff --git a/src/main/java/DNPM/Merkmalskatalog.java b/src/main/java/DNPM/analyzer/Merkmalskatalog.java
index f11786e..071a559 100644
--- a/src/main/java/DNPM/Merkmalskatalog.java
+++ b/src/main/java/DNPM/analyzer/Merkmalskatalog.java
@@ -1,12 +1,9 @@
-package DNPM;
+package DNPM.analyzer;
-import DNPM.analyzer.AnalyzerUtils;
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 de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@@ -17,7 +14,7 @@ import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
-public class Merkmalskatalog implements IProcedureAnalyzer {
+public class Merkmalskatalog extends BackendService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -28,21 +25,6 @@ public class Merkmalskatalog implements IProcedureAnalyzer {
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.BACKEND_SERVICE;
- }
-
- @Override
- public String getVersion() {
- return "0.3.0";
- }
-
- @Override
- public String getName() {
- return "UMR Merkmalskatalog";
- }
-
- @Override
public String getDescription() {
return "Methoden für Merkmalskataloge";
}
@@ -67,10 +49,6 @@ public class Merkmalskatalog implements IProcedureAnalyzer {
return false;
}
- @Override
- public void analyze(Procedure procedure, Disease disease) {
- }
-
public List<String[]> getMerkmalskatalog(final Map<String, Object> input) {
var merkmalskatalog = AnalyzerUtils.getRequiredValue(input, "Merkmalskatalog", String.class);
var spalten = AnalyzerUtils.getRequiredValue(input, "Spalten", String.class);
diff --git a/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java b/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java
index e0d3037..af7fb9d 100644
--- a/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java
@@ -7,8 +7,6 @@ import de.itc.onkostar.api.Item;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
-import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -25,7 +23,7 @@ import java.util.stream.Collectors;
* @since 0.4.0
*/
@Component
-public class SystemtherapieAnalyzer implements IProcedureAnalyzer {
+public class SystemtherapieAnalyzer extends Analyzer {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -42,21 +40,6 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer {
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.ANALYZER;
- }
-
- @Override
- public String getVersion() {
- return "0.4.0";
- }
-
- @Override
- public String getName() {
- return "DNPM Systemtherapie Analyzer";
- }
-
- @Override
public String getDescription() {
return "Aktualisiert verknüpfte Formulare nach Änderungen im Formularen vom Typ Systemtherapie";
}
diff --git a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
index 9e69d3d..932cafb 100644
--- a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
@@ -8,8 +8,6 @@ import de.itc.onkostar.api.Disease;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
-import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
-import de.itc.onkostar.api.analysis.OnkostarPluginType;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
@@ -22,7 +20,7 @@ import java.util.Set;
* @since 0.0.2
*/
@Component
-public class TherapieplanAnalyzer implements IProcedureAnalyzer {
+public class TherapieplanAnalyzer extends Analyzer {
private final TherapieplanServiceFactory therapieplanServiceFactory;
@@ -41,21 +39,6 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
}
@Override
- public OnkostarPluginType getType() {
- return OnkostarPluginType.ANALYZER;
- }
-
- @Override
- public String getVersion() {
- return "0.4.0";
- }
-
- @Override
- public String getName() {
- return "DNPM Therapieplan Analyzer";
- }
-
- @Override
public String getDescription() {
return "Aktualisiert Unterformulare nach Änderungen im Therapieplan-Formular";
}
diff --git a/src/main/resources/de/itc/onkostar/library/moduleContext.xml b/src/main/resources/de/itc/onkostar/library/moduleContext.xml
index c554416..e806b99 100644
--- a/src/main/resources/de/itc/onkostar/library/moduleContext.xml
+++ b/src/main/resources/de/itc/onkostar/library/moduleContext.xml
@@ -10,14 +10,14 @@
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
- <bean id="DNPMHelper" class="DNPM.DNPMHelper">
+ <bean id="DNPMHelper" class="DNPM.analyzer.DNPMHelper">
<constructor-arg ref="localOnkostarApi" />
<constructor-arg ref="systemtherapieService" />
</bean>
- <bean id="Merkmalskatalog" class="DNPM.Merkmalskatalog">
+ <bean id="Merkmalskatalog" class="DNPM.analyzer.Merkmalskatalog">
<constructor-arg ref="localOnkostarApi" />
</bean>
- <bean id="ConsentManager" class="DNPM.ConsentManager">
+ <bean id="ConsentManager" class="DNPM.analyzer.ConsentManager">
<constructor-arg ref="localOnkostarApi" />
<constructor-arg ref="consentManagerServiceFactory" />
</bean>
diff --git a/src/test/java/DNPM/ConsentManagerTest.java b/src/test/java/DNPM/ConsentManagerTest.java
index e4e33e5..cb206db 100644
--- a/src/test/java/DNPM/ConsentManagerTest.java
+++ b/src/test/java/DNPM/ConsentManagerTest.java
@@ -1,5 +1,6 @@
package DNPM;
+import DNPM.analyzer.ConsentManager;
import DNPM.services.consent.ConsentManagerServiceFactory;
import DNPM.services.consent.MrConsentManagerService;
import de.itc.onkostar.api.IOnkostarApi;
diff --git a/src/test/java/DNPM/DNPMHelperTest.java b/src/test/java/DNPM/DNPMHelperTest.java
index 17e8901..7fd8b63 100644
--- a/src/test/java/DNPM/DNPMHelperTest.java
+++ b/src/test/java/DNPM/DNPMHelperTest.java
@@ -1,5 +1,6 @@
package DNPM;
+import DNPM.analyzer.DNPMHelper;
import DNPM.security.IllegalSecuredObjectAccessException;
import DNPM.security.PermissionType;
import DNPM.security.PersonPoolBasedPermissionEvaluator;
diff --git a/src/test/java/DNPM/MerkmalskatalogTest.java b/src/test/java/DNPM/MerkmalskatalogTest.java
index 0c292dc..e97fb30 100644
--- a/src/test/java/DNPM/MerkmalskatalogTest.java
+++ b/src/test/java/DNPM/MerkmalskatalogTest.java
@@ -1,5 +1,6 @@
package DNPM;
+import DNPM.analyzer.Merkmalskatalog;
import de.itc.onkostar.api.IOnkostarApi;
import org.hibernate.SQLQuery;
import org.hibernate.Session;