Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/exporter/json/JsonExporter.java @ 1252:7610f8f58c9c
Added details for probe and zusatzwerte in json export.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 19 Dec 2016 10:52:48 +0100 |
parents | 5d2c68a4c344 |
children |
rev | line source |
---|---|
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
3 * |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
7 */ |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.exporter.json; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
9 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
10 import java.io.ByteArrayInputStream; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
11 import java.io.IOException; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
12 import java.io.InputStream; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
13 import java.util.List; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
14 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
15 import javax.inject.Inject; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
16 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
17 import org.apache.log4j.Logger; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
18 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
19 import com.fasterxml.jackson.databind.JsonNode; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
20 import com.fasterxml.jackson.databind.ObjectMapper; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
21 import com.fasterxml.jackson.databind.node.JsonNodeFactory; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
22 import com.fasterxml.jackson.databind.node.ObjectNode; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
23 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.lada.exporter.ExportConfig; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.lada.exporter.ExportFormat; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.lada.exporter.Exporter; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.lada.model.land.KommentarM; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
28 import de.intevation.lada.model.land.KommentarP; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
29 import de.intevation.lada.model.land.Messung; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
30 import de.intevation.lada.model.land.Messwert; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
31 import de.intevation.lada.model.land.Ortszuordnung; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.lada.model.land.Probe; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.lada.model.land.StatusProtokoll; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.lada.model.land.ZusatzWert; |
1252
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
35 import de.intevation.lada.model.stammdaten.Betriebsart; |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
36 import de.intevation.lada.model.stammdaten.Datenbasis; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.lada.model.stammdaten.Deskriptoren; |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
38 import de.intevation.lada.model.stammdaten.MessEinheit; |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
39 import de.intevation.lada.model.stammdaten.MessMethode; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
40 import de.intevation.lada.model.stammdaten.MessStelle; |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
41 import de.intevation.lada.model.stammdaten.Messgroesse; |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
42 import de.intevation.lada.model.stammdaten.MessprogrammKategorie; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
43 import de.intevation.lada.model.stammdaten.Ort; |
1252
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
44 import de.intevation.lada.model.stammdaten.ProbenZusatz; |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
45 import de.intevation.lada.model.stammdaten.Probenart; |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
46 import de.intevation.lada.model.stammdaten.Staat; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
47 import de.intevation.lada.model.stammdaten.StatusKombi; |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
48 import de.intevation.lada.model.stammdaten.Umwelt; |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
49 import de.intevation.lada.model.stammdaten.Verwaltungseinheit; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
50 import de.intevation.lada.util.annotation.RepositoryConfig; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
51 import de.intevation.lada.util.auth.UserInfo; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
52 import de.intevation.lada.util.data.QueryBuilder; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
53 import de.intevation.lada.util.data.Repository; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
54 import de.intevation.lada.util.data.RepositoryType; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
55 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
56 @ExportConfig(format=ExportFormat.JSON) |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
57 public class JsonExporter implements Exporter { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
58 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
59 @Inject private Logger logger; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
60 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
61 @Inject |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
62 @RepositoryConfig(type=RepositoryType.RO) |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
63 private Repository repository; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
64 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
65 @Override |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
66 public InputStream export(List<Integer> proben, UserInfo userInfo) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
67 logger.debug("export json"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
68 String json = ""; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
69 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
70 //Create json. |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
71 json = createJsonString(proben, userInfo); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
72 if (json == null) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
73 return null; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
74 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
75 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
76 InputStream in = new ByteArrayInputStream(json.getBytes()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
77 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
78 in.close(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
79 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
80 catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
81 logger.debug("Error while closing Stream."); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
82 return null; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
83 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
84 return in; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
85 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
86 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
87 private String createJsonString(List<Integer> probeIds, UserInfo userInfo) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
88 QueryBuilder<Probe> builder = new QueryBuilder<Probe>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
89 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
90 Probe.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
91 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
92 for (Integer id : probeIds) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
93 builder.or("id", id); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
94 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
95 List<Probe> proben = repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
96 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
97 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
98 String tmp = mapper.writeValueAsString(proben); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
99 JsonNode nodes = mapper.readTree(tmp); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
100 addSubObjects(nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
101 return mapper.writeValueAsString(nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
102 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
103 logger.debug("Error parsing object structure."); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
104 return null; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
105 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
106 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
107 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
108 private JsonNode addSubObjects(JsonNode proben) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
109 for (int i = 0; i < proben.size(); i++) { |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
110 ObjectNode probe = (ObjectNode)proben.get(i); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
111 Probenart art = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
112 Probenart.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
113 probe.get("probenartId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
114 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
115 Datenbasis datenbasis = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
116 Datenbasis.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
117 probe.get("datenbasisId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
118 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
119 MessprogrammKategorie mpl = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
120 MessprogrammKategorie.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
121 probe.get("mplId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
122 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
123 Umwelt umw = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
124 Umwelt.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
125 probe.get("umwId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
126 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
127 probe.put("probenart", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
128 art == null ? "" : art.getProbenart()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
129 probe.put("datenbasis", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
130 datenbasis == null ? "" : datenbasis.getDatenbasis()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
131 probe.put("mpl", mpl == null ? "" : mpl.getCode()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
132 probe.put("umw", umw == null ? "" : umw.getUmweltBereich()); |
1252
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
133 Betriebsart ba = repository.getByIdPlain( |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
134 Betriebsart.class, |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
135 probe.get("baId").asInt(), |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
136 "stamm"); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
137 probe.put("messregime", ba.getName()); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
138 addMessungen(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
139 addKommentare(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
140 addZusatzwerte(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
141 addDeskriptoren(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
142 addOrtszuordung(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
143 addMessstelle(proben.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
144 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
145 return proben; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
146 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
147 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
148 private void addMessstelle(JsonNode node) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
149 MessStelle messstelle = repository.getByIdPlain( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
150 MessStelle.class, |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
151 node.get("mstId").asText(), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
152 "stamm"); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
153 MessStelle laborMessstelle = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
154 MessStelle.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
155 node.get("laborMstId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
156 "stamm"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
157 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
158 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
159 String tmp = mapper.writeValueAsString(messstelle); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
160 String tmp2 = mapper.writeValueAsString(laborMessstelle); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
161 JsonNode nodes = mapper.readTree(tmp); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
162 JsonNode nodes2 = mapper.readTree(tmp2); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
163 ((ObjectNode)node).set("messstelle", nodes); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
164 ((ObjectNode)node).set("labormessstelle", nodes2); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
165 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
166 logger.debug("Could not export Messstelle for Probe " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
167 + node.get("idAlt").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
168 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
169 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
170 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
171 private void addMessungen(JsonNode probe) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
172 QueryBuilder<Messung> builder = new QueryBuilder<Messung>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
173 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
174 Messung.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
175 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
176 builder.and("probeId", probe.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
177 List<Messung> messungen = repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
178 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
179 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
180 String tmp = mapper.writeValueAsString(messungen); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
181 JsonNode nodes = mapper.readTree(tmp); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
182 for (int i = 0; i < nodes.size(); i++) { |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
183 MessMethode mmt = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
184 MessMethode.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
185 nodes.get(i).get("mmtId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
186 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
187 ((ObjectNode)nodes.get(i)).put("mmt", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
188 mmt == null ? "" : mmt.getMessmethode()); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
189 addMesswerte(nodes.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
190 addMessungsKommentare(nodes.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
191 addStatusProtokoll(nodes.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
192 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
193 ((ObjectNode)probe).set("messungen", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
194 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
195 logger.debug("Could not export Messungen for Probe " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
196 + probe.get("idAlt").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
197 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
198 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
199 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
200 private void addKommentare(JsonNode probe) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
201 QueryBuilder<KommentarP> builder = new QueryBuilder<KommentarP>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
202 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
203 KommentarP.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
204 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
205 builder.and("probeId", probe.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
206 List<KommentarP> kommentare = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
207 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
208 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
209 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
210 String tmp = mapper.writeValueAsString(kommentare); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
211 JsonNode nodes = mapper.readTree(tmp); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
212 for (int i = 0; i < nodes.size(); i++) { |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
213 MessStelle mst = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
214 MessStelle.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
215 nodes.get(i).get("mstId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
216 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
217 ((ObjectNode)nodes.get(i)).put( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
218 "mst", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
219 mst.getMessStelle()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
220 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
221 ((ObjectNode)probe).set("kommentare", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
222 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
223 logger.debug("Could not export Kommentare for Probe " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
224 + probe.get("idAlt").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
225 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
226 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
227 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
228 private void addZusatzwerte(JsonNode probe) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
229 QueryBuilder<ZusatzWert> builder = new QueryBuilder<ZusatzWert>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
230 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
231 ZusatzWert.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
232 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
233 builder.and("probeId", probe.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
234 List<ZusatzWert> zusatzwerte= |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
235 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
236 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
237 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
238 String tmp = mapper.writeValueAsString(zusatzwerte); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
239 JsonNode nodes = mapper.readTree(tmp); |
1252
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
240 for (int i = 0; i < nodes.size(); i++) { |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
241 ProbenZusatz pz = repository.getByIdPlain( |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
242 ProbenZusatz.class, |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
243 nodes.get(i).get("pzsId").asText(), |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
244 "stamm"); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
245 ((ObjectNode)nodes.get(i)).put( |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
246 "pzwGroesse", pz.getBeschreibung()); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
247 Integer mehId = pz.getMessEinheitId(); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
248 MessEinheit meh = repository.getByIdPlain( |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
249 MessEinheit.class, |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
250 mehId, |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
251 "stamm"); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
252 ((ObjectNode)nodes.get(i)).put( |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
253 "meh", meh.getEinheit()); |
7610f8f58c9c
Added details for probe and zusatzwerte in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1160
diff
changeset
|
254 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
255 ((ObjectNode)probe).set("zusatzwerte", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
256 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
257 logger.debug("Could not export Zusatzwerte for Probe " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
258 + probe.get("idAlt").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
259 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
260 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
261 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
262 private void addDeskriptoren(JsonNode probe) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
263 String desk = probe.get("mediaDesk").asText(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
264 String[] parts = desk.split(" "); |
1160
5d2c68a4c344
Do not export empty 'deskriptoren' in json exporter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1158
diff
changeset
|
265 if (parts.length <= 1) { |
5d2c68a4c344
Do not export empty 'deskriptoren' in json exporter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1158
diff
changeset
|
266 return; |
5d2c68a4c344
Do not export empty 'deskriptoren' in json exporter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1158
diff
changeset
|
267 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
268 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
269 QueryBuilder<Deskriptoren> builder = new QueryBuilder<Deskriptoren>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
270 repository.entityManager("stamm"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
271 Deskriptoren.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
272 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
273 int vorgaenger = 0; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
274 ObjectNode node = new ObjectNode(JsonNodeFactory.instance); |
1158
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
275 boolean isZebs = Integer.parseInt(parts[1]) == 1; |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
276 int hdV = 0; |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
277 int ndV = 0; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
278 for (int i = 0; i < parts.length - 1; i++) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
279 String beschreibung = ""; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
280 if (Integer.parseInt(parts[i+1]) != 0) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
281 builder.and("ebene", i); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
282 builder.and("sn", Integer.parseInt(parts[i+1])); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
283 if (vorgaenger != 0) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
284 builder.and("vorgaenger", vorgaenger); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
285 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
286 List<Deskriptoren> found = repository.filterPlain(builder.getQuery(), "stamm"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
287 if (found.size() > 0) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
288 beschreibung = found.get(0).getBeschreibung(); |
1158
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
289 if (isZebs && i < 4) { |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
290 vorgaenger = hdV; |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
291 } |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
292 else if (!isZebs && i < 2) { |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
293 vorgaenger = hdV; |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
294 } |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
295 else { |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
296 vorgaenger = ndV; |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
297 } |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
298 if (i == 1) { |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
299 ndV = found.get(0).getId(); |
3d1b7b1586a8
Fixed deskriptoren output in json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1157
diff
changeset
|
300 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
301 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
302 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
303 node.put("S" + i, beschreibung); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
304 builder = builder.getEmptyBuilder(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
305 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
306 ((ObjectNode)probe).set("deskriptoren", node); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
307 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
308 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
309 private void addMesswerte(JsonNode node) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
310 QueryBuilder<Messwert> builder = new QueryBuilder<Messwert>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
311 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
312 Messwert.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
313 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
314 builder.and("messungsId", node.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
315 List<Messwert> messwerte = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
316 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
317 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
318 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
319 String tmp = mapper.writeValueAsString(messwerte); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
320 JsonNode nodes = mapper.readTree(tmp); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
321 for (int i = 0; i < nodes.size(); i++) { |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
322 MessEinheit meh = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
323 MessEinheit.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
324 nodes.get(i).get("mehId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
325 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
326 ((ObjectNode)nodes.get(i)).put("meh", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
327 meh == null ? "" : meh.getEinheit()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
328 Messgroesse mg = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
329 Messgroesse.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
330 nodes.get(i).get("messgroesseId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
331 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
332 ((ObjectNode)nodes.get(i)).put("messgroesse", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
333 mg == null ? "" : mg.getMessgroesse()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
334 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
335 ((ObjectNode)node).set("messwerte", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
336 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
337 logger.debug("Could not export Messwerte for Messung " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
338 + node.get("nebenprobenNr").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
339 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
340 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
341 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
342 private void addMessungsKommentare(JsonNode node) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
343 QueryBuilder<KommentarM> builder = new QueryBuilder<KommentarM>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
344 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
345 KommentarM.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
346 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
347 builder.and("messungsId", node.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
348 List<KommentarM> kommentare = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
349 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
350 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
351 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
352 String tmp = mapper.writeValueAsString(kommentare); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
353 JsonNode nodes = mapper.readTree(tmp); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
354 for (int i = 0; i < nodes.size(); i++) { |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
355 MessStelle mst = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
356 MessStelle.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
357 nodes.get(i).get("mstId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
358 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
359 ((ObjectNode)nodes.get(i)).put( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
360 "mst", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
361 mst.getMessStelle()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
362 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
363 ((ObjectNode)node).set("kommentare", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
364 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
365 logger.debug("Could not export Kommentare for Messung " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
366 + node.get("nebenprobenNr").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
367 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
368 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
369 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
370 private void addStatusProtokoll(JsonNode node) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
371 QueryBuilder<StatusProtokoll> builder = new QueryBuilder<StatusProtokoll>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
372 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
373 StatusProtokoll.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
374 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
375 builder.and("messungsId", node.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
376 List<StatusProtokoll> status = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
377 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
378 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
379 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
380 String tmp = mapper.writeValueAsString(status); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
381 JsonNode nodes = mapper.readTree(tmp); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
382 for (int i = 0; i < nodes.size(); i++) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
383 StatusKombi kombi = repository.getByIdPlain( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
384 StatusKombi.class, |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
385 nodes.get(i).get("statusKombi").asInt(), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
386 "stamm"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
387 ((ObjectNode)nodes.get(i)).put( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
388 "statusStufe", |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
389 kombi.getStatusStufe().getStufe()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
390 ((ObjectNode)nodes.get(i)).put( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
391 "statusWert", |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
392 kombi.getStatusWert().getWert()); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
393 MessStelle mst = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
394 MessStelle.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
395 nodes.get(i).get("mstId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
396 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
397 ((ObjectNode)nodes.get(i)).put( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
398 "mst", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
399 mst.getMessStelle()); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
400 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
401 ((ObjectNode)node).set("statusprotokoll", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
402 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
403 logger.debug("Could not export Statusprotokoll for Messung " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
404 + node.get("nebenprobenNr").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
405 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
406 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
407 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
408 private void addOrtszuordung(JsonNode node) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
409 QueryBuilder<Ortszuordnung> builder = new QueryBuilder<Ortszuordnung>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
410 repository.entityManager("land"), |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
411 Ortszuordnung.class |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
412 ); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
413 builder.and("probeId", node.get("id").asInt()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
414 List<Ortszuordnung> ortszuordnung = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
415 repository.filterPlain(builder.getQuery(), "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
416 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
417 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
418 String tmp = mapper.writeValueAsString(ortszuordnung); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
419 JsonNode nodes = mapper.readTree(tmp); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
420 for (int i = 0; i < nodes.size(); i++) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
421 addOrt(nodes.get(i)); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
422 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
423 ((ObjectNode)node).set("ortszuordnung", nodes); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
424 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
425 logger.debug("Could not export Ortszuordnugen for Probe " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
426 + node.get("idAlt").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
427 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
428 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
429 |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
430 private void addOrt(JsonNode node) { |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
431 Ort ort = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
432 Ort.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
433 node.get("ortId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
434 "stamm"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
435 final ObjectMapper mapper = new ObjectMapper(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
436 try { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
437 String tmp = mapper.writeValueAsString(ort); |
1157
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
438 JsonNode oNode = mapper.readTree(tmp); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
439 Verwaltungseinheit ve = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
440 Verwaltungseinheit.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
441 oNode.get("gemId").asText(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
442 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
443 ((ObjectNode)oNode).put("gem", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
444 ve == null ? "" : ve.getBezeichnung()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
445 Staat staat = repository.getByIdPlain( |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
446 Staat.class, |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
447 oNode.get("staatId").asInt(), |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
448 "stamm"); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
449 ((ObjectNode)oNode).put("staat", |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
450 staat == null ? "" : staat.getStaat()); |
35e15ff43a3b
Added plaintext attributes to json export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
451 ((ObjectNode)node).set("ort", oNode); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
452 } catch (IOException e) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
453 logger.debug("Could not export Ort for Ortszuordnung " |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
454 + node.get("id").asText()); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
455 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
456 } |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
457 } |