annotate src/main/java/de/intevation/lada/data/exporter/LAFCreator.java @ 327:891a2133cf46

Added LAF exporter and LAF creator.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 27 Aug 2013 09:45:23 +0200
parents
children 046cdc094c72
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;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 import de.intevation.lada.model.Ort;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import de.intevation.lada.model.SMessEinheit;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 import de.intevation.lada.model.SMessgroesse;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 import de.intevation.lada.model.SProbenart;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import de.intevation.lada.rest.Response;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 @Named("lafcreator")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 public class LAFCreator
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 implements Creator
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 @Named("lproberepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 private Repository proben;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 @Named("lmessungrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 private Repository messungRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 @Named("lortrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 private Repository ortRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 @Named("lmessungrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 private Repository messwertRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 @Named("lkommentarmrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 private Repository mkommentarRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 @Named("lkommentarRepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 private Repository pkommentarRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 @Named("readonlyrepository")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 private Repository readonlyRepo;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 @Override
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 public String create(String probeId) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 String lafProbe = "%PROBE%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 lafProbe += probeToLAF(probeId);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 return lafProbe;
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
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 private String probeToLAF(String probeId) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 Response found = this.proben.findById(LProbe.class, probeId);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 if (found.getData() == null) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 return null;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 ArrayList<LProbeInfo> aProbe = (ArrayList<LProbeInfo>)found.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 LProbeInfo probe = aProbe.get(0);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 String lafProbe = writeAttributes(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 return lafProbe;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 private String writeAttributes(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 QueryBuilder<LKommentarP> kommBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 new QueryBuilder<LKommentarP>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 pkommentarRepo.getEntityManager(), LKommentarP.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 kommBuilder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 Response kommentar = mkommentarRepo.filter(kommBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 List<LKommentarP> kommentare = (List<LKommentarP>)kommentar.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 QueryBuilder<SProbenart> artBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 new QueryBuilder<SProbenart>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 readonlyRepo.getEntityManager(), SProbenart.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 artBuilder.and("probenartId", probe.getProbenartId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 Response art = readonlyRepo.filter(artBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 List<SProbenart> probenart = (List<SProbenart>)art.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 laf += probe.getDatenbasisId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 "": lafLine("DATENBASIS_S", probe.getDatenbasisId().toString());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 laf += probe.getNetzbetreiberId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 "" : lafLine("NETZKENNUNG", probe.getNetzbetreiberId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 laf += probe.getMstId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 "" : lafLine("MESSSTELLE", probe.getMstId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 laf += lafLine("PROBEID", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 laf += lafLine("HAUPTPROBENNUMMER", probe.getHauptprobenNr());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 laf += probe.getBaId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 "" : lafLine("MESSPROGRAMM_S", "\"" + probe.getBaId() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 laf += probe.getProbenartId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 "" : lafLine("PROBENART",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 "\"" + probenart.get(0).getProbenart() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 laf += probe.getSolldatumBeginn() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 "" : lafLine("SOLL_DATUM_UHRZEIT_A",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 format.format(probe.getSolldatumBeginn()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 laf += probe.getSolldatumEnde() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 "" : lafLine("SOLL_DATUM_UHRZEIT_E",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 format.format(probe.getSolldatumEnde()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 laf += probe.getProbeentnahmeBeginn() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_A",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 format.format(probe.getProbeentnahmeBeginn()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 laf += probe.getProbeentnahmeEnde() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_E",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 format.format(probe.getProbeentnahmeEnde()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 laf += probe.getUmwId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 "" : lafLine("UMWELTBEREICH_S", probe.getUmwId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 laf += probe.getMedia() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 "" : lafLine("MEDIA", "\"" + probe.getMedia() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 laf += probe.getMediaDesk() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 "" : lafLine("DESKRIPTOREN", "\"" + probe.getMediaDesk() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 laf += probe.getTest() == Boolean.TRUE ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 lafLine("TESTDATEN", "1") : lafLine("TESTDATEN", "0");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 for (LKommentarP kp : kommentare) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 laf += writeKommentar(kp);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 laf += writeMessung(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 laf += writeOrt(probe);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 private String writeOrt(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 QueryBuilder<LOrt> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 new QueryBuilder<LOrt>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 ortRepo.getEntityManager(),
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 LOrt.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 builder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 Response objects = ortRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 List<LOrt> orte = (List<LOrt>)objects.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 for(LOrt o : orte) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 laf += "%ORT%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 QueryBuilder<Ort> oBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 new QueryBuilder<Ort>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 readonlyRepo.getEntityManager(), Ort.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 oBuilder.and("ortId", o.getOrtId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 Response resp = readonlyRepo.filter(oBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 List<Ort> ort = (List<Ort>)resp.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 laf += lafLine("ORT_CODE",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 "\"" + ort.get(0).getBezeichnung() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 laf += lafLine("ORT_TYP", "\"" + o.getOrtsTyp() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 laf += o.getOrtszusatztext() == null ? "":
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 lafLine("ORT_ZUSATZTEXT", "\"" + o.getOrtszusatztext() + "\"");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 private String writeKommentar(LKommentarP kp) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 String value = "\"" + kp.getErzeuger() + "\" " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 format.format(kp.getKDatum()) + " " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167 "\"" + kp.getKText() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 return lafLine("PROBENKOMMENTAR", value);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 }
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 private String writeMessung(LProbeInfo probe) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 // Get all messungen
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 QueryBuilder<LMessung> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 new QueryBuilder<LMessung>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 messungRepo.getEntityManager(),
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177 LMessung.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 builder.and("probeId", probe.getProbeId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 Response objects = messungRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 List<LMessung> mess = (List<LMessung>)objects.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 String laf = "";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183 for(LMessung m : mess) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 laf += "%MESSUNG%\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
185 QueryBuilder<LMesswert> wertBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 new QueryBuilder<LMesswert>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187 messwertRepo.getEntityManager(), LMesswert.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 wertBuilder.and("probeId", probe.getProbeId()).and("messungsId", m.getMessungsId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
189 Response messw = messwertRepo.filter(wertBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 List<LMesswert> werte = (List<LMesswert>)messw.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 QueryBuilder<LKommentarM> kommBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192 new QueryBuilder<LKommentarM>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 mkommentarRepo.getEntityManager(), LKommentarM.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 kommBuilder.and("probeId", probe.getProbeId()).and("messungsId", m.getMessungsId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
195 Response kommentar = mkommentarRepo.filter(kommBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196 List<LKommentarM> kommentare = (List<LKommentarM>)kommentar.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197 laf += lafLine("MESSUNGSID", m.getMessungsId().toString());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 laf += lafLine("NEBENPROBENNUMMER", m.getNebenprobenNr());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 laf += m.getMesszeitpunkt() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200 "" : lafLine(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
201 "MESS_DATUM_UHRZEIT",
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
202 format.format(m.getMesszeitpunkt()));
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 laf += m.getMessdauer() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 "" : lafLine("MESSZEIT_SEKUNDEN", m.getMessdauer().toString());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
205 laf += m.getMmtId() == null ?
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
206 "" : lafLine("MESSMETHODE_S", m.getMmtId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 for (LMesswert mw : werte) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
208 laf += writeMesswert(mw);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
209 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
210 for (LKommentarM mk: kommentare) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211 laf += writeKommentar(mk);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 return laf;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
216
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
217 private String writeKommentar(LKommentarM mk) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
218 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
219 String value = "\"" + mk.getErzeuger() + "\" " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
220 format.format(mk.getKDatum()) + " " +
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
221 "\"" + mk.getKText() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
222 return lafLine("KOMMENTAR", value);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
223 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
224
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
225 private String writeMesswert(LMesswert mw) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
226 QueryBuilder<SMessgroesse> builder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
227 new QueryBuilder<SMessgroesse>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
228 readonlyRepo.getEntityManager(), SMessgroesse.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
229 builder.and("messgroesseId", mw.getMessgroesseId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
230 Response r = readonlyRepo.filter(builder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
231 List<SMessgroesse> sm = (List<SMessgroesse>)r.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
232 QueryBuilder<SMessEinheit> einheitBuilder =
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
233 new QueryBuilder<SMessEinheit>(
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
234 readonlyRepo.getEntityManager(), SMessEinheit.class);
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
235 einheitBuilder.and("mehId", mw.getMehId());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
236 Response re = readonlyRepo.filter(einheitBuilder.getQuery());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
237 List<SMessEinheit> me = (List<SMessEinheit>)re.getData();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
238 String value = "\"" + sm.get(0).getMessgro0esse() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
239 if (mw.getGrenzwertueberschreitung() != null &&
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
240 !mw.getGrenzwertueberschreitung()) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
241 value += " <";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
242 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
243 else {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
244 value += " ";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
245 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
246 value += mw.getMesswert();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
247 value += " \"" + me.get(0).getEinheit() + "\"";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
248 value += mw.getMessfehler() == null ? " NULL" : " " + mw.getMessfehler();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
249 value += mw.getNwgZuMesswert() == null ? " NULL" : " " + mw.getNwgZuMesswert();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
250 value += mw.getGrenzwertueberschreitung() == null ? " N" :
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
251 mw.getGrenzwertueberschreitung() ? " Y" : " N";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
252 return lafLine("MESSWERT", 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
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
255 private String lafLine(String key, String value) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
256 for (int i = key.length(); i < 30; i++) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
257 key += " ";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
258 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
259 return key + value + "\n";
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
260 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
261 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)