mirror of
https://github.com/pcvolkmer/onkostar-plugin-dnpm.git
synced 2025-07-03 09:42:54 +00:00
Etwas Codebereinigung und Eingabeprüfung in Klasse Merkmalskatalog
This commit is contained in:
@ -1,22 +1,26 @@
|
||||
package DNPM;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.SQLQuery;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.type.StandardBasicTypes;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
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;
|
||||
import org.hibernate.type.StandardBasicTypes;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Merkmalskatalog implements IProcedureAnalyzer {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private IOnkostarApi onkostarApi;
|
||||
|
||||
@ -61,37 +65,47 @@ public class Merkmalskatalog implements IProcedureAnalyzer{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void analyze(Procedure procedurea, Disease disease) {}
|
||||
public void analyze(Procedure procedurea, Disease disease) {
|
||||
}
|
||||
|
||||
public List<String[]> getMerkmalskatalog(final Map<String, Object> input) {
|
||||
var merkmalskatalog = input.get("Merkmalskatalog");
|
||||
var spalten = input.get("Spalten");
|
||||
|
||||
if (null == merkmalskatalog || merkmalskatalog.toString().isBlank()) {
|
||||
logger.error("Kein Merkmalskatalog angegeben!");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (null == spalten || spalten.toString().isBlank()) {
|
||||
logger.error("Keine Spalten angegeben!");
|
||||
return null;
|
||||
}
|
||||
|
||||
String[] spaltenArray = spalten.toString().split("\\s*,\\s*");
|
||||
|
||||
public Object getMerkmalskatalog(final Map<String, Object> input) {
|
||||
String Merkmalskatalog = (String) input.get("Merkmalskatalog");
|
||||
String Spalten = (String) input.get("Spalten");
|
||||
String[] SpaltenArray = Spalten.split("\\s*,\\s*");
|
||||
String sql;
|
||||
try {
|
||||
SessionFactory sessionFactory = onkostarApi.getSessionFactory();
|
||||
Session session = sessionFactory.getCurrentSession();
|
||||
try {
|
||||
sql = "SELECT p.id, p.code, p.shortdesc, p.description, p.note, p.synonyms "
|
||||
|
||||
String sql = "SELECT p.id, p.code, p.shortdesc, p.description, p.note, p.synonyms "
|
||||
+ "FROM property_catalogue "
|
||||
+ "LEFT JOIN property_catalogue_version ON property_catalogue_version.datacatalog_id = property_catalogue.id "
|
||||
+ "LEFT JOIN property_catalogue_version_entry p ON p.property_version_id = property_catalogue_version.id "
|
||||
+ "WHERE name = '" + Merkmalskatalog + "' AND aktiv = 1 "
|
||||
+ "WHERE name = '" + merkmalskatalog + "' AND aktiv = 1 "
|
||||
+ "ORDER BY position ASC";
|
||||
|
||||
SQLQuery query = session.createSQLQuery(sql);
|
||||
|
||||
for (int i = 0; i < SpaltenArray.length; i++) {
|
||||
query.addScalar(SpaltenArray[i], StandardBasicTypes.STRING);
|
||||
for (String s : spaltenArray) {
|
||||
query.addScalar(s, StandardBasicTypes.STRING);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String[]> rows = query.list();
|
||||
return rows;
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("Fehler bei der Ausführung von getMerkmalskatalog()", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user