Mercurial > lada > lada-server
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 } |