[Lada-commits] [PATCH] Added plaintext attributes to json export
Wald Commits
scm-commit at wald.intevation.org
Tue Nov 8 16:55:18 CET 2016
# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1478620514 -3600
# Node ID 35e15ff43a3b55e8baf62f4b2e8e672c7a1901f9
# Parent 07631488e9c00c371fbbd810694f98993d176013
Added plaintext attributes to json export.
diff -r 07631488e9c0 -r 35e15ff43a3b src/main/java/de/intevation/lada/exporter/json/JsonExporter.java
--- a/src/main/java/de/intevation/lada/exporter/json/JsonExporter.java Tue Nov 08 16:02:00 2016 +0100
+++ b/src/main/java/de/intevation/lada/exporter/json/JsonExporter.java Tue Nov 08 16:55:14 2016 +0100
@@ -32,10 +32,19 @@
import de.intevation.lada.model.land.Probe;
import de.intevation.lada.model.land.StatusProtokoll;
import de.intevation.lada.model.land.ZusatzWert;
+import de.intevation.lada.model.stammdaten.Datenbasis;
import de.intevation.lada.model.stammdaten.Deskriptoren;
+import de.intevation.lada.model.stammdaten.MessEinheit;
+import de.intevation.lada.model.stammdaten.MessMethode;
import de.intevation.lada.model.stammdaten.MessStelle;
+import de.intevation.lada.model.stammdaten.Messgroesse;
+import de.intevation.lada.model.stammdaten.MessprogrammKategorie;
import de.intevation.lada.model.stammdaten.Ort;
+import de.intevation.lada.model.stammdaten.Probenart;
+import de.intevation.lada.model.stammdaten.Staat;
import de.intevation.lada.model.stammdaten.StatusKombi;
+import de.intevation.lada.model.stammdaten.Umwelt;
+import de.intevation.lada.model.stammdaten.Verwaltungseinheit;
import de.intevation.lada.util.annotation.RepositoryConfig;
import de.intevation.lada.util.auth.UserInfo;
import de.intevation.lada.util.data.QueryBuilder;
@@ -96,6 +105,29 @@
private JsonNode addSubObjects(JsonNode proben) {
for (int i = 0; i < proben.size(); i++) {
+ ObjectNode probe = (ObjectNode)proben.get(i);
+ Probenart art = repository.getByIdPlain(
+ Probenart.class,
+ probe.get("probenartId").asInt(),
+ "stamm");
+ Datenbasis datenbasis = repository.getByIdPlain(
+ Datenbasis.class,
+ probe.get("datenbasisId").asInt(),
+ "stamm");
+ MessprogrammKategorie mpl = repository.getByIdPlain(
+ MessprogrammKategorie.class,
+ probe.get("mplId").asInt(),
+ "stamm");
+ Umwelt umw = repository.getByIdPlain(
+ Umwelt.class,
+ probe.get("umwId").asText(),
+ "stamm");
+ probe.put("probenart",
+ art == null ? "" : art.getProbenart());
+ probe.put("datenbasis",
+ datenbasis == null ? "" : datenbasis.getDatenbasis());
+ probe.put("mpl", mpl == null ? "" : mpl.getCode());
+ probe.put("umw", umw == null ? "" : umw.getUmweltBereich());
addMessungen(proben.get(i));
addKommentare(proben.get(i));
addZusatzwerte(proben.get(i));
@@ -111,11 +143,18 @@
MessStelle.class,
node.get("mstId").asText(),
"stamm");
+ MessStelle laborMessstelle = repository.getByIdPlain(
+ MessStelle.class,
+ node.get("laborMstId").asText(),
+ "stamm");
final ObjectMapper mapper = new ObjectMapper();
try {
String tmp = mapper.writeValueAsString(messstelle);
+ String tmp2 = mapper.writeValueAsString(laborMessstelle);
JsonNode nodes = mapper.readTree(tmp);
+ JsonNode nodes2 = mapper.readTree(tmp2);
((ObjectNode)node).set("messstelle", nodes);
+ ((ObjectNode)node).set("labormessstelle", nodes2);
} catch (IOException e) {
logger.debug("Could not export Messstelle for Probe "
+ node.get("idAlt").asText());
@@ -134,6 +173,12 @@
String tmp = mapper.writeValueAsString(messungen);
JsonNode nodes = mapper.readTree(tmp);
for (int i = 0; i < nodes.size(); i++) {
+ MessMethode mmt = repository.getByIdPlain(
+ MessMethode.class,
+ nodes.get(i).get("mmtId").asText(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put("mmt",
+ mmt == null ? "" : mmt.getMessmethode());
addMesswerte(nodes.get(i));
addMessungsKommentare(nodes.get(i));
addStatusProtokoll(nodes.get(i));
@@ -157,6 +202,15 @@
try {
String tmp = mapper.writeValueAsString(kommentare);
JsonNode nodes = mapper.readTree(tmp);
+ for (int i = 0; i < nodes.size(); i++) {
+ MessStelle mst = repository.getByIdPlain(
+ MessStelle.class,
+ nodes.get(i).get("mstId").asText(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put(
+ "mst",
+ mst.getMessStelle());
+ }
((ObjectNode)probe).set("kommentare", nodes);
} catch (IOException e) {
logger.debug("Could not export Kommentare for Probe "
@@ -228,6 +282,20 @@
try {
String tmp = mapper.writeValueAsString(messwerte);
JsonNode nodes = mapper.readTree(tmp);
+ for (int i = 0; i < nodes.size(); i++) {
+ MessEinheit meh = repository.getByIdPlain(
+ MessEinheit.class,
+ nodes.get(i).get("mehId").asInt(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put("meh",
+ meh == null ? "" : meh.getEinheit());
+ Messgroesse mg = repository.getByIdPlain(
+ Messgroesse.class,
+ nodes.get(i).get("messgroesseId").asInt(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put("messgroesse",
+ mg == null ? "" : mg.getMessgroesse());
+ }
((ObjectNode)node).set("messwerte", nodes);
} catch (IOException e) {
logger.debug("Could not export Messwerte for Messung "
@@ -247,6 +315,15 @@
try {
String tmp = mapper.writeValueAsString(kommentare);
JsonNode nodes = mapper.readTree(tmp);
+ for (int i = 0; i < nodes.size(); i++) {
+ MessStelle mst = repository.getByIdPlain(
+ MessStelle.class,
+ nodes.get(i).get("mstId").asText(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put(
+ "mst",
+ mst.getMessStelle());
+ }
((ObjectNode)node).set("kommentare", nodes);
} catch (IOException e) {
logger.debug("Could not export Kommentare for Messung "
@@ -277,6 +354,13 @@
((ObjectNode)nodes.get(i)).put(
"statusWert",
kombi.getStatusWert().getWert());
+ MessStelle mst = repository.getByIdPlain(
+ MessStelle.class,
+ nodes.get(i).get("mstId").asText(),
+ "stamm");
+ ((ObjectNode)nodes.get(i)).put(
+ "mst",
+ mst.getMessStelle());
}
((ObjectNode)node).set("statusprotokoll", nodes);
} catch (IOException e) {
@@ -308,18 +392,27 @@
}
private void addOrt(JsonNode node) {
- QueryBuilder<Ort> builder = new QueryBuilder<Ort>(
- repository.entityManager("stamm"),
- Ort.class
- );
- builder.and("id", node.get("ortId").asInt());
- List<Ort> ort=
- repository.filterPlain(builder.getQuery(), "stamm");
+ Ort ort = repository.getByIdPlain(
+ Ort.class,
+ node.get("ortId").asInt(),
+ "stamm");
final ObjectMapper mapper = new ObjectMapper();
try {
String tmp = mapper.writeValueAsString(ort);
- JsonNode nodes = mapper.readTree(tmp);
- ((ObjectNode)node).set("ort", nodes);
+ JsonNode oNode = mapper.readTree(tmp);
+ Verwaltungseinheit ve = repository.getByIdPlain(
+ Verwaltungseinheit.class,
+ oNode.get("gemId").asText(),
+ "stamm");
+ ((ObjectNode)oNode).put("gem",
+ ve == null ? "" : ve.getBezeichnung());
+ Staat staat = repository.getByIdPlain(
+ Staat.class,
+ oNode.get("staatId").asInt(),
+ "stamm");
+ ((ObjectNode)oNode).put("staat",
+ staat == null ? "" : staat.getStaat());
+ ((ObjectNode)node).set("ort", oNode);
} catch (IOException e) {
logger.debug("Could not export Ort for Ortszuordnung "
+ node.get("id").asText());
More information about the Lada-commits
mailing list