1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-02 01:02:55 +00:00

Merge pull request #43 from CCC-MF/issue_42

Issue #42: Vereinheitlichung der Analyzer-Klassen des Plugins
This commit is contained in:
2023-08-29 09:30:45 +02:00
committed by GitHub
14 changed files with 74 additions and 151 deletions

View File

@ -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;
}
}

View File

@ -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
}
}

View File

@ -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());
@ -31,26 +29,11 @@ public class ConsentManager implements IProcedureAnalyzer {
return "Aktualisiert Consent Daten in verknüpften Formularen";
}
@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"));

View File

@ -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,29 +39,12 @@ 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");

View File

@ -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);
@ -50,21 +48,6 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
this.permissionEvaluator = permissionEvaluator;
}
@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");

View File

@ -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());
@ -30,21 +28,6 @@ public class FollowUpAnalyzer implements IProcedureAnalyzer {
this.onkostarApi = onkostarApi;
}
@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";

View File

@ -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());
}
}

View File

@ -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());
@ -27,21 +24,6 @@ public class Merkmalskatalog implements IProcedureAnalyzer {
this.onkostarApi = onkostarApi;
}
@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);

View File

@ -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());
@ -41,21 +39,6 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer {
this.systemtherapieService = systemtherapieService;
}
@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";

View File

@ -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;
@ -40,21 +38,6 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
this.permissionEvaluator = permissionEvaluator;
}
@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";

View File

@ -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>

View File

@ -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;

View File

@ -1,5 +1,6 @@
package DNPM;
import DNPM.analyzer.DNPMHelper;
import DNPM.security.IllegalSecuredObjectAccessException;
import DNPM.security.PermissionType;
import DNPM.security.PersonPoolBasedPermissionEvaluator;

View File

@ -1,5 +1,6 @@
package DNPM;
import DNPM.analyzer.Merkmalskatalog;
import de.itc.onkostar.api.IOnkostarApi;
import org.hibernate.SQLQuery;
import org.hibernate.Session;