annotate src/main/java/de/intevation/lada/data/exporter/LAFCreator.java @ 366:567ce7697fc7 0.5

Code documentation.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 10 Sep 2013 15:55:54 +0200
parents c0357bd00666
children f3d0894d9bfc
rev   line source
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.data.exporter;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.text.DateFormat;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.text.SimpleDateFormat;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import java.util.ArrayList;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.util.List;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import java.util.Map;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import javax.inject.Inject;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import javax.inject.Named;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import de.intevation.lada.data.QueryBuilder;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 import de.intevation.lada.data.Repository;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.model.LKommentarM;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.model.LKommentarP;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import de.intevation.lada.model.LMessung;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import de.intevation.lada.model.LMesswert;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import de.intevation.lada.model.LOrt;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import de.intevation.lada.model.LProbe;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import de.intevation.lada.model.LProbeInfo;
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
21 import de.intevation.lada.model.LZusatzWert;
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import de.intevation.lada.model.Ort;
334
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
23 import de.intevation.lada.model.SKoordinatenArt;
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 import de.intevation.lada.model.SMessEinheit;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import de.intevation.lada.model.SMessgroesse;
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
26 import de.intevation.lada.model.SProbenZusatz;
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 import de.intevation.lada.model.SProbenart;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 import de.intevation.lada.rest.Response;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
30 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
31 * This creator produces a LAF conform String containing all information about
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
32 * a single {@link LProbe} object including subobjects like
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
33 * {@link LMessung}, {@link LMesswert}, {@link LKommentarP}...
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
34 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
35 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
36 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 @Named("lafcreator")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 public class LAFCreator
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 implements Creator
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 @Named("lproberepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 private Repository proben;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 @Named("lmessungrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 private Repository messungRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 @Named("lortrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 private Repository ortRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 @Named("lmessungrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 private Repository messwertRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 @Named("lkommentarmrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 private Repository mkommentarRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 @Named("lkommentarRepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 private Repository pkommentarRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 @Inject
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
67 @Named("lzusatzwertrepository")
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
68 private Repository zusatzwertRepo;
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
69
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
70 @Inject
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 @Named("readonlyrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 private Repository readonlyRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
74 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
75 * Create the LAF conform String.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
76 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
77 * @param probeId The {@link LProbe} id.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
78 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 @Override
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 public String create(String probeId) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 String lafProbe = "%PROBE%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 lafProbe += probeToLAF(probeId);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 return lafProbe;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
86 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
87 * Find the {@link LProbe} object and produce the LAF conform string.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
88 * @param probeId The {@link LProbe} id.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
89 * @return LAF conform string.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
90 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 private String probeToLAF(String probeId) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 Response found = this.proben.findById(LProbe.class, probeId);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 if (found.getData() == null) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 return null;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 ArrayList<LProbeInfo> aProbe = (ArrayList<LProbeInfo>)found.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 LProbeInfo probe = aProbe.get(0);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 String lafProbe = writeAttributes(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 return lafProbe;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
102 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
103 * Write the attributes and subobjects.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
104 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
105 * @param probe The {@link LProbeInfo} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
106 * @return LAF conform string.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
107 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 private String writeAttributes(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 QueryBuilder<LKommentarP> kommBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 new QueryBuilder<LKommentarP>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 pkommentarRepo.getEntityManager(), LKommentarP.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 kommBuilder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 Response kommentar = mkommentarRepo.filter(kommBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 List<LKommentarP> kommentare = (List<LKommentarP>)kommentar.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 QueryBuilder<SProbenart> artBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 new QueryBuilder<SProbenart>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 readonlyRepo.getEntityManager(), SProbenart.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 artBuilder.and("probenartId", probe.getProbenartId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 Response art = readonlyRepo.filter(artBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 List<SProbenart> probenart = (List<SProbenart>)art.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
124 QueryBuilder<LZusatzWert> zusatzBuilder =
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
125 new QueryBuilder<LZusatzWert>(
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
126 zusatzwertRepo.getEntityManager(), LZusatzWert.class);
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
127 zusatzBuilder.and("probeId", probe.getProbeId());
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
128 Response zusatz = zusatzwertRepo.filter(zusatzBuilder.getQuery());
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
129 List<LZusatzWert> zusatzwerte = (List<LZusatzWert>)zusatz.getData();
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
130
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 laf += probe.getDatenbasisId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 "": lafLine("DATENBASIS_S", probe.getDatenbasisId().toString());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 laf += probe.getNetzbetreiberId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 "" : lafLine("NETZKENNUNG", probe.getNetzbetreiberId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 laf += probe.getMstId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 "" : lafLine("MESSSTELLE", probe.getMstId());
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
138 laf += lafLine("PROBE_ID", probe.getProbeId());
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 laf += lafLine("HAUPTPROBENNUMMER", probe.getHauptprobenNr());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 laf += probe.getBaId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 "" : lafLine("MESSPROGRAMM_S", "\"" + probe.getBaId() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 laf += probe.getProbenartId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 "" : lafLine("PROBENART",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 "\"" + probenart.get(0).getProbenart() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 laf += probe.getSolldatumBeginn() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 "" : lafLine("SOLL_DATUM_UHRZEIT_A",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 format.format(probe.getSolldatumBeginn()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 laf += probe.getSolldatumEnde() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 "" : lafLine("SOLL_DATUM_UHRZEIT_E",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 format.format(probe.getSolldatumEnde()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 laf += probe.getProbeentnahmeBeginn() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_A",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 format.format(probe.getProbeentnahmeBeginn()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 laf += probe.getProbeentnahmeEnde() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_E",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 format.format(probe.getProbeentnahmeEnde()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 laf += probe.getUmwId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 "" : lafLine("UMWELTBEREICH_S", probe.getUmwId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 laf += probe.getMedia() == null ?
333
d43d371900e4 Renamed 'MEDIA' to 'MEDIUM'.
Raimund Renkert <rrenkert@intevation.de>
parents: 330
diff changeset
160 "" : lafLine("MEDIUM", "\"" + probe.getMedia() + "\"");
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 laf += probe.getMediaDesk() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 "" : lafLine("DESKRIPTOREN", "\"" + probe.getMediaDesk() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 laf += probe.getTest() == Boolean.TRUE ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 lafLine("TESTDATEN", "1") : lafLine("TESTDATEN", "0");
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
165 for (LZusatzWert zw : zusatzwerte) {
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
166 laf += writeZusatzwert(zw);
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
167 }
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 for (LKommentarP kp : kommentare) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 laf += writeKommentar(kp);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 laf += writeMessung(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172 laf += writeOrt(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
176 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
177 * Write {@link LZusatzWert} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
178 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
179 * @param zw The {@link LZusatzWert}.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
180 * @return Single LAF line.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
181 */
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
182 private String writeZusatzwert(LZusatzWert zw) {
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
183 QueryBuilder<SProbenZusatz> builder =
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
184 new QueryBuilder<SProbenZusatz>(
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
185 readonlyRepo.getEntityManager(), SProbenZusatz.class);
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
186 builder.and("pzsId", zw.getPzsId());
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
187 List<SProbenZusatz> zusaetze =
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
188 (List<SProbenZusatz>)readonlyRepo.filter(builder.getQuery());
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
189
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
190 String value = "\"" + zusaetze.get(0).getBeschreibung() + "\"";
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
191 value += " " + zw.getMesswertPzs();
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
192 value += " " + zusaetze.get(0).getMehId();
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
193 value += " " + zw.getMessfehler();
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
194 return lafLine("PZB_S", value);
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
195 }
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
196
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
197 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
198 * Write {@link LOrt} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
199 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
200 * @param probe The {@link LProbeInfo} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
201 * @return LAF conform string
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
202 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 private String writeOrt(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 QueryBuilder<LOrt> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
205 new QueryBuilder<LOrt>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
206 ortRepo.getEntityManager(),
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 LOrt.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
208 builder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
209 Response objects = ortRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
210 List<LOrt> orte = (List<LOrt>)objects.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 for(LOrt o : orte) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 laf += "%ORT%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 QueryBuilder<Ort> oBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
216 new QueryBuilder<Ort>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
217 readonlyRepo.getEntityManager(), Ort.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
218 oBuilder.and("ortId", o.getOrtId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
219 Response resp = readonlyRepo.filter(oBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
220 List<Ort> ort = (List<Ort>)resp.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
221 laf += lafLine("ORT_CODE",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
222 "\"" + ort.get(0).getBezeichnung() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
223 laf += lafLine("ORT_TYP", "\"" + o.getOrtsTyp() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
224 laf += o.getOrtszusatztext() == null ? "":
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
225 lafLine("ORT_ZUSATZTEXT", "\"" + o.getOrtszusatztext() + "\"");
334
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
226 laf += lafLine("ORT_LAND_S", String.valueOf(ort.get(0).getStaatId()));
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
227 QueryBuilder<SKoordinatenArt> kaBuilder =
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
228 new QueryBuilder<SKoordinatenArt>(
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
229 readonlyRepo.getEntityManager(), SKoordinatenArt.class);
361
c0357bd00666 Fixed LAF creator. TODO use koordinatenart and external koordinates.
Raimund Renkert <rrenkert@intevation.de>
parents: 334
diff changeset
230 String koord = "";
c0357bd00666 Fixed LAF creator. TODO use koordinatenart and external koordinates.
Raimund Renkert <rrenkert@intevation.de>
parents: 334
diff changeset
231 koord += ort.get(0).getLatitude() + " ";
c0357bd00666 Fixed LAF creator. TODO use koordinatenart and external koordinates.
Raimund Renkert <rrenkert@intevation.de>
parents: 334
diff changeset
232 koord += ort.get(0).getLongitude() + " ";
c0357bd00666 Fixed LAF creator. TODO use koordinatenart and external koordinates.
Raimund Renkert <rrenkert@intevation.de>
parents: 334
diff changeset
233 koord += "UTM (WGS84)";
c0357bd00666 Fixed LAF creator. TODO use koordinatenart and external koordinates.
Raimund Renkert <rrenkert@intevation.de>
parents: 334
diff changeset
234 //TODO: use table koordinatenart and koord*extern!
334
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
235 laf += lafLine("ORT_KOORDINATEN_S", koord);
305c042c81e7 Export additional attributes for 'ort'.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
236 laf += lafLine("ORT_GEMEINDESCHLUESSEL", ort.get(0).getGemId());
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
237 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
238 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
239 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
240
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
241 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
242 * Write {@link LKommentarP} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
243 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
244 * @param kp The {@link LKommentarP} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
245 * @return Single LAF line.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
246 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
247 private String writeKommentar(LKommentarP kp) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
248 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
249 String value = "\"" + kp.getErzeuger() + "\" " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
250 format.format(kp.getKDatum()) + " " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
251 "\"" + kp.getKText() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
252 return lafLine("PROBENKOMMENTAR", value);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
253 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
254
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
255 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
256 * Write {@link LMessung} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
257 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
258 * @param probe The {@link LProbeInfo} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
259 * @return LAF conform string.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
260 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
261 private String writeMessung(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
262 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
263 // Get all messungen
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
264 QueryBuilder<LMessung> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
265 new QueryBuilder<LMessung>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
266 messungRepo.getEntityManager(),
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
267 LMessung.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
268 builder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
269 Response objects = messungRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
270 List<LMessung> mess = (List<LMessung>)objects.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
271
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
272 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
273 for(LMessung m : mess) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
274 laf += "%MESSUNG%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
275 QueryBuilder<LMesswert> wertBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
276 new QueryBuilder<LMesswert>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
277 messwertRepo.getEntityManager(), LMesswert.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
278 wertBuilder.and("probeId", probe.getProbeId()).and("messungsId", m.getMessungsId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
279 Response messw = messwertRepo.filter(wertBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
280 List<LMesswert> werte = (List<LMesswert>)messw.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
281 QueryBuilder<LKommentarM> kommBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
282 new QueryBuilder<LKommentarM>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
283 mkommentarRepo.getEntityManager(), LKommentarM.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
284 kommBuilder.and("probeId", probe.getProbeId()).and("messungsId", m.getMessungsId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
285 Response kommentar = mkommentarRepo.filter(kommBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
286 List<LKommentarM> kommentare = (List<LKommentarM>)kommentar.getData();
330
046cdc094c72 Fixed keys and added probenzusatzwerte.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
287 laf += lafLine("MESSUNGS_ID", m.getMessungsId().toString());
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
288 laf += lafLine("NEBENPROBENNUMMER", m.getNebenprobenNr());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
289 laf += m.getMesszeitpunkt() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
290 "" : lafLine(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
291 "MESS_DATUM_UHRZEIT",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
292 format.format(m.getMesszeitpunkt()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
293 laf += m.getMessdauer() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
294 "" : lafLine("MESSZEIT_SEKUNDEN", m.getMessdauer().toString());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
295 laf += m.getMmtId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
296 "" : lafLine("MESSMETHODE_S", m.getMmtId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
297 for (LMesswert mw : werte) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
298 laf += writeMesswert(mw);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
299 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
300 for (LKommentarM mk: kommentare) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
301 laf += writeKommentar(mk);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
302 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
303 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
304 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
305 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
306
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
307 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
308 * Write {@link LKommentarM} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
309 * @param mk The {@link LKommentarM} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
310 * @return Single LAF line.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
311 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
312 private String writeKommentar(LKommentarM mk) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
313 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
314 String value = "\"" + mk.getErzeuger() + "\" " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
315 format.format(mk.getKDatum()) + " " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
316 "\"" + mk.getKText() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
317 return lafLine("KOMMENTAR", value);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
318 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
319
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
320 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
321 * Write {@link LMesswert} attributes.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
322 * @param mw The {@link LMesswert} object.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
323 * @return Single LAF line.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
324 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
325 private String writeMesswert(LMesswert mw) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
326 QueryBuilder<SMessgroesse> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
327 new QueryBuilder<SMessgroesse>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
328 readonlyRepo.getEntityManager(), SMessgroesse.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
329 builder.and("messgroesseId", mw.getMessgroesseId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
330 Response r = readonlyRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
331 List<SMessgroesse> sm = (List<SMessgroesse>)r.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
332 QueryBuilder<SMessEinheit> einheitBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
333 new QueryBuilder<SMessEinheit>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
334 readonlyRepo.getEntityManager(), SMessEinheit.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
335 einheitBuilder.and("mehId", mw.getMehId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
336 Response re = readonlyRepo.filter(einheitBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
337 List<SMessEinheit> me = (List<SMessEinheit>)re.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
338 String value = "\"" + sm.get(0).getMessgro0esse() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
339 if (mw.getGrenzwertueberschreitung() != null &&
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
340 !mw.getGrenzwertueberschreitung()) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
341 value += " <";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
342 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
343 else {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
344 value += " ";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
345 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
346 value += mw.getMesswert();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
347 value += " \"" + me.get(0).getEinheit() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
348 value += mw.getMessfehler() == null ? " NULL" : " " + mw.getMessfehler();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
349 value += mw.getNwgZuMesswert() == null ? " NULL" : " " + mw.getNwgZuMesswert();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
350 value += mw.getGrenzwertueberschreitung() == null ? " N" :
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
351 mw.getGrenzwertueberschreitung() ? " Y" : " N";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
352 return lafLine("MESSWERT", value);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
353 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
354
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
355 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
356 * Write a single LAF conform line from key and value.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
357 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
358 * @param key The key.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
359 * @param value The value.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
360 * @return LAF conform line.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 361
diff changeset
361 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
362 private String lafLine(String key, String value) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
363 for (int i = key.length(); i < 30; i++) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
364 key += " ";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
365 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
366 return key + value + "\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
367 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
368 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)