Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/exporter/laf/LafCreator.java @ 1187:3c24d33bf0db
Export the id according to the specification for PZB_S.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 21 Nov 2016 14:54:09 +0100 |
parents | 4c612aaba378 |
children |
rev | line source |
---|---|
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
2 * Software engineering by Intevation GmbH |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
3 * |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
7 */ |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.exporter.laf; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import java.text.DateFormat; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import java.text.SimpleDateFormat; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import javax.inject.Inject; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import javax.inject.Named; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
17 import org.apache.log4j.Logger; |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
18 |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.lada.exporter.Creator; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
20 import de.intevation.lada.model.land.KommentarM; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
21 import de.intevation.lada.model.land.KommentarP; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
22 import de.intevation.lada.model.land.Messung; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
23 import de.intevation.lada.model.land.Messwert; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
24 import de.intevation.lada.model.land.Ortszuordnung; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
25 import de.intevation.lada.model.land.Probe; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
26 import de.intevation.lada.model.land.ZusatzWert; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
27 import de.intevation.lada.model.stammdaten.MessEinheit; |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
28 import de.intevation.lada.model.stammdaten.MessStelle; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
29 import de.intevation.lada.model.stammdaten.Messgroesse; |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
30 import de.intevation.lada.model.stammdaten.Ort; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
31 import de.intevation.lada.model.stammdaten.ProbenZusatz; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
32 import de.intevation.lada.model.stammdaten.Probenart; |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.lada.util.annotation.RepositoryConfig; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.lada.util.data.QueryBuilder; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 import de.intevation.lada.util.data.Repository; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 import de.intevation.lada.util.data.RepositoryType; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.lada.util.rest.Response; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 * This creator produces a LAF conform String containing all information about |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 * a single {@link LProbe} object including subobjects like |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 * {@link LMessung}, {@link LMesswert}, {@link LKommentarP}... |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 */ |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 @Named("lafcreator") |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 public class LafCreator |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 implements Creator |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 { |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
50 // Some format strings corresponding to LAF notation |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
51 private static final String KEY_FORMAT = "%-30s"; |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
52 private static final String DEFAULT_FORMAT = "%s"; |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
53 private static final String CN = "\"%s\""; // cn, mcn, scn |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
54 |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
55 @Inject |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
56 private Logger logger; |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
57 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
58 * The repository used to read data. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
59 */ |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 @Inject |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 @RepositoryConfig(type=RepositoryType.RO) |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 private Repository repository; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 * Create the LAF conform String. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 * @param probeId The {@link LProbe} id. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 */ |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 @Override |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 public String create(String probeId) { |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 String lafProbe = "%PROBE%\n"; |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
72 lafProbe += lafLine("UEBERTRAGUNGSFORMAT", "7", CN); |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
73 lafProbe += lafLine("VERSION", "0084", CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 lafProbe += probeToLAF(probeId); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 return lafProbe; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 * Find the {@link LProbe} object and produce the LAF conform string. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 * @param probeId The {@link LProbe} id. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 * @return LAF conform string. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 */ |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 private String probeToLAF(String probeId) { |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
84 Response found = repository.getById(Probe.class, Integer.valueOf(probeId), "land"); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 if (found.getData() == null) { |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 return null; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
88 Probe aProbe = (Probe)found.getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 String lafProbe = writeAttributes(aProbe); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 return lafProbe; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 * Write the attributes and subobjects. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 * @param probe The {@link LProbeInfo} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 * @return LAF conform string. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 */ |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
99 @SuppressWarnings("unchecked") |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
100 private String writeAttributes(Probe probe) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
102 QueryBuilder<KommentarP> kommBuilder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
103 new QueryBuilder<KommentarP>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
104 repository.entityManager("land"), KommentarP.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 kommBuilder.and("probeId", probe.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 Response kommentar = repository.filter(kommBuilder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
107 List<KommentarP> kommentare = (List<KommentarP>)kommentar.getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
109 QueryBuilder<Probenart> builder = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
110 new QueryBuilder<Probenart>( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
111 repository.entityManager("stamm"), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
112 Probenart.class); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
113 builder.and("id", probe.getProbenartId()); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
114 List<Probenart> probenarten = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
115 (List<Probenart>)repository.filter( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
116 builder.getQuery(), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
117 "stamm").getData(); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
118 String probenart = probenarten.get(0).getProbenart(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
120 MessStelle messstelle = |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
121 repository.getByIdPlain(MessStelle.class, probe.getMstId(), "stamm"); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
122 |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
123 QueryBuilder<ZusatzWert> zusatzBuilder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
124 new QueryBuilder<ZusatzWert>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
125 repository.entityManager("land"), ZusatzWert.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 zusatzBuilder.and("probeId", probe.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 Response zusatz = repository.filter(zusatzBuilder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
128 List<ZusatzWert> zusatzwerte = (List<ZusatzWert>)zusatz.getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 String laf = ""; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 laf += probe.getDatenbasisId() == null ? |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
132 "": lafLine("DATENBASIS_S", |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
133 String.format("%02d", probe.getDatenbasisId())); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
134 laf += messstelle == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
135 "" : lafLine("NETZKENNUNG", messstelle.getNetzbetreiberId(), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 laf += probe.getMstId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
137 "" : lafLine("MESSSTELLE", probe.getMstId(), CN); |
1152
b81a515f765d
Export messlabor as probe attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1149
diff
changeset
|
138 laf += probe.getLaborMstId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
139 "" : lafLine("MESSLABOR", probe.getLaborMstId(), CN); |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
140 laf += lafLine("PROBE_ID", probe.getIdAlt(), CN); |
1159
67fff2a4437e
Do not export an empty HauptprobenNr.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1156
diff
changeset
|
141 laf += probe.getHauptprobenNr() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
142 "" : lafLine("HAUPTPROBENNUMMER", probe.getHauptprobenNr(), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 laf += probe.getBaId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
144 "" : lafLine("MESSPROGRAMM_S", probe.getBaId(), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 laf += probe.getProbenartId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
146 "" : lafLine("PROBENART", probenart, CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 laf += probe.getSolldatumBeginn() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 "" : lafLine("SOLL_DATUM_UHRZEIT_A", |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 format.format(probe.getSolldatumBeginn())); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 laf += probe.getSolldatumEnde() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 "" : lafLine("SOLL_DATUM_UHRZEIT_E", |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 format.format(probe.getSolldatumEnde())); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 laf += probe.getProbeentnahmeBeginn() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_A", |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 format.format(probe.getProbeentnahmeBeginn())); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 laf += probe.getProbeentnahmeEnde() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 "" : lafLine("PROBENAHME_DATUM_UHRZEIT_E", |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 format.format(probe.getProbeentnahmeEnde())); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 laf += probe.getUmwId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
160 "" : lafLine("UMWELTBEREICH_S", probe.getUmwId(), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 laf += probe.getMediaDesk() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
162 "" : lafLine("DESKRIPTOREN", |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
163 probe.getMediaDesk().replaceAll(" ", "").substring(2), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 laf += probe.getTest() == Boolean.TRUE ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 lafLine("TESTDATEN", "1") : lafLine("TESTDATEN", "0"); |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
166 laf += writeOrt(probe); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
167 for (ZusatzWert zw : zusatzwerte) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 laf += writeZusatzwert(zw); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
170 for (KommentarP kp : kommentare) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 laf += writeKommentar(kp); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 laf += writeMessung(probe); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 return laf; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 * Write {@link LZusatzWert} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 * @param zw The {@link LZusatzWert}. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 * @return Single LAF line. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 */ |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
183 @SuppressWarnings("unchecked") |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
184 private String writeZusatzwert(ZusatzWert zw) { |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
185 QueryBuilder<ProbenZusatz> builder = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
186 new QueryBuilder<ProbenZusatz>( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
187 repository.entityManager("stamm"), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
188 ProbenZusatz.class); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
189 builder.and("id", zw.getPzsId()); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
190 List<ProbenZusatz> zusatz = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
191 (List<ProbenZusatz>)repository.filter( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
192 builder.getQuery(), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
193 "stamm").getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 |
1187
3c24d33bf0db
Export the id according to the specification for PZB_S.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1184
diff
changeset
|
195 String value = "\"" + zusatz.get(0).getId() + "\""; |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 value += " " + zw.getMesswertPzs(); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
197 value += " " + zusatz.get(0).getMessEinheitId(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 value += " " + zw.getMessfehler(); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 return lafLine("PZB_S", value); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 * Write {@link LOrt} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 * @param probe The {@link LProbeInfo} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 * @return LAF conform string |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 */ |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
208 @SuppressWarnings("unchecked") |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
209 private String writeOrt(Probe probe) { |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
210 QueryBuilder<Ortszuordnung> builder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
211 new QueryBuilder<Ortszuordnung>( |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 repository.entityManager("land"), |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
213 Ortszuordnung.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 builder.and("probeId", probe.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 Response objects = repository.filter(builder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
216 List<Ortszuordnung> orte = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
217 (List<Ortszuordnung>)objects.getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 String laf = ""; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
220 for(Ortszuordnung o : orte) { |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
221 String type = ""; |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
222 if ("E".equals(o.getOrtszuordnungTyp())) { |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
223 type = "P_"; |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
224 } |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
225 else if ("U".equals(o.getOrtszuordnungTyp())) { |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
226 type = "U_"; |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
227 laf += "%URSPRUNGSORT%\n"; |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
228 } |
1153
28b177100217
Export ortstyp 'U' and 'E' only.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1152
diff
changeset
|
229 else { |
28b177100217
Export ortstyp 'U' and 'E' only.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1152
diff
changeset
|
230 continue; |
28b177100217
Export ortstyp 'U' and 'E' only.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1152
diff
changeset
|
231 } |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
232 if (o.getOrtszusatztext() != null && |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
233 o.getOrtszusatztext().length() > 0) { |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
234 laf += lafLine(type + "ORTS_ZUSATZTEXT", |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
235 o.getOrtszusatztext(), CN); |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
236 } |
810
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
237 QueryBuilder<Ort> oBuilder = |
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
238 new QueryBuilder<Ort>( |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
239 repository.entityManager("stamm"), |
810
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
240 Ort.class); |
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
241 oBuilder.and("id", o.getOrtId()); |
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
242 List<Ort> sOrte= |
092e673cbb8d
Added and updated model, services, etc for to fit the new db schema.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
683
diff
changeset
|
243 (List<Ort>)repository.filter( |
679
618d1b2f396f
Fixed LAF exporter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
675
diff
changeset
|
244 oBuilder.getQuery(), |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
245 "stamm").getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 |
1182
275904fd7d39
staatId might be null since rev 33dc7dc6b7bc.
Tom Gottfried <tom@intevation.de>
parents:
1159
diff
changeset
|
247 if (sOrte.get(0).getStaatId() != null) { |
275904fd7d39
staatId might be null since rev 33dc7dc6b7bc.
Tom Gottfried <tom@intevation.de>
parents:
1159
diff
changeset
|
248 laf += lafLine(type + "HERKUNFTSLAND_S", |
275904fd7d39
staatId might be null since rev 33dc7dc6b7bc.
Tom Gottfried <tom@intevation.de>
parents:
1159
diff
changeset
|
249 String.format("%08d", sOrte.get(0).getStaatId())); |
275904fd7d39
staatId might be null since rev 33dc7dc6b7bc.
Tom Gottfried <tom@intevation.de>
parents:
1159
diff
changeset
|
250 } |
275904fd7d39
staatId might be null since rev 33dc7dc6b7bc.
Tom Gottfried <tom@intevation.de>
parents:
1159
diff
changeset
|
251 |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
252 if (sOrte.get(0).getGemId() != null && |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
253 sOrte.get(0).getGemId().length() > 0) { |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
254 laf += lafLine(type + "GEMEINDESCHLUESSEL", |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
255 sOrte.get(0).getGemId()); |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
256 } |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
257 |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
258 String koord = String.format("%02d", sOrte.get(0).getKdaId()); |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
259 koord += " \""; |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
260 koord += sOrte.get(0).getKoordXExtern() + "\" \""; |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
261 koord += sOrte.get(0).getKoordYExtern() + "\""; |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
262 laf += lafLine(type + "KOORDINATEN_S", koord); |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
263 |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
264 if (sOrte.get(0).getOzId() != null && |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
265 sOrte.get(0).getOzId().length() > 0) { |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
266 laf += lafLine(type + "ORTS_ZUSATZCODE", |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
267 sOrte.get(0).getOzId(), CN); |
1149
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
268 } |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
269 if (sOrte.get(0).getHoeheUeberNn() != null) { |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
270 laf += lafLine(type + "HOEHE_NN", |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
271 String.format("%f", sOrte.get(0).getHoeheUeberNn())); |
791e07a5f046
Export entnahme ort and ursprungs orte.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1110
diff
changeset
|
272 } |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
273 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
274 return laf; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
275 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
276 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
277 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
278 * Write {@link LKommentarP} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
279 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
280 * @param kp The {@link LKommentarP} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
281 * @return Single LAF line. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
282 */ |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
283 private String writeKommentar(KommentarP kp) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
284 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
285 String value = "\"" + kp.getMstId() + "\" " + |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
286 format.format(kp.getDatum()) + " " + |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
287 "\"" + kp.getText() + "\""; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
288 return lafLine("PROBENKOMMENTAR", value); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
289 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
290 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
291 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
292 * Write {@link LMessung} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
293 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
294 * @param probe The {@link LProbeInfo} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
295 * @return LAF conform string. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
296 */ |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
297 @SuppressWarnings("unchecked") |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
298 private String writeMessung(Probe probe) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
299 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
300 // Get all messungen |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
301 QueryBuilder<Messung> builder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
302 new QueryBuilder<Messung>( |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
303 repository.entityManager("land"), |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
304 Messung.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
305 builder.and("probeId", probe.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
306 Response objects = repository.filter(builder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
307 List<Messung> mess = (List<Messung>)objects.getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
308 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
309 String laf = ""; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
310 for(Messung m : mess) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
311 laf += "%MESSUNG%\n"; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
312 QueryBuilder<Messwert> wertBuilder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
313 new QueryBuilder<Messwert>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
314 repository.entityManager("land"), Messwert.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
315 wertBuilder.and("messungsId", m.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
316 Response messw = repository.filter(wertBuilder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
317 List<Messwert> werte = (List<Messwert>)messw.getData(); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
318 QueryBuilder<KommentarM> kommBuilder = |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
319 new QueryBuilder<KommentarM>( |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
320 repository.entityManager("land"), KommentarM.class); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
321 kommBuilder.and("messungsId", m.getId()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
322 Response kommentar = repository.filter(kommBuilder.getQuery(), "land"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
323 List<KommentarM> kommentare = (List<KommentarM>)kommentar.getData(); |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
324 laf += lafLine("MESSUNGS_ID", m.getIdAlt().toString()); |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
325 laf += lafLine("NEBENPROBENNUMMER", m.getNebenprobenNr(), CN); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
326 laf += m.getMesszeitpunkt() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
327 "" : lafLine( |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
328 "MESS_DATUM_UHRZEIT", |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
329 format.format(m.getMesszeitpunkt())); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
330 laf += m.getMessdauer() == null ? |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
331 "" : lafLine("MESSZEIT_SEKUNDEN", m.getMessdauer().toString()); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
332 laf += m.getMmtId() == null ? |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
333 "" : lafLine("MESSMETHODE_S", m.getMmtId(), CN); |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
334 laf += lafLine("ERFASSUNG_ABGESCHLOSSEN", (m.getFertig() ? "1" : "0")); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
335 for (Messwert mw : werte) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
336 laf += writeMesswert(mw); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
337 } |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
338 for (KommentarM mk: kommentare) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
339 laf += writeKommentar(mk); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
340 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
341 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
342 return laf; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
343 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
344 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
345 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
346 * Write {@link LKommentarM} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
347 * @param mk The {@link LKommentarM} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
348 * @return Single LAF line. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
349 */ |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
350 private String writeKommentar(KommentarM mk) { |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
351 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
352 String value = "\"" + mk.getMstId() + "\" " + |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
353 format.format(mk.getDatum()) + " " + |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
354 "\"" + mk.getText() + "\""; |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
355 return lafLine("KOMMENTAR", value); |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
356 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
357 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
358 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
359 * Write {@link LMesswert} attributes. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
360 * @param mw The {@link LMesswert} object. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
361 * @return Single LAF line. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
362 */ |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
620
diff
changeset
|
363 @SuppressWarnings("unchecked") |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
810
diff
changeset
|
364 private String writeMesswert(Messwert mw) { |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
365 QueryBuilder<Messgroesse> builder = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
366 new QueryBuilder<Messgroesse>( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
367 repository.entityManager("stamm"), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
368 Messgroesse.class); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
369 builder.and("id", mw.getMessgroesseId()); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
370 List<Messgroesse> groessen = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
371 (List<Messgroesse>)repository.filter( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
372 builder.getQuery(), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
373 "stamm").getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
374 |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
375 QueryBuilder<MessEinheit> eBuilder = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
376 new QueryBuilder<MessEinheit>( |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
377 repository.entityManager("stamm"), |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
378 MessEinheit.class); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
379 eBuilder.and("id", mw.getMehId()); |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
380 List<MessEinheit> einheiten = |
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
381 (List<MessEinheit>)repository.filter( |
679
618d1b2f396f
Fixed LAF exporter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
675
diff
changeset
|
382 eBuilder.getQuery(), |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
383 "stamm").getData(); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
384 |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
385 String tag = "MESSWERT"; |
675
331cd2bb3109
Removed plain sql statements.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
386 String value = "\"" + groessen.get(0).getMessgroesse() + "\""; |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
387 value += " "; |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
388 value += mw.getMesswertNwg() == null ? " " : mw.getMesswertNwg(); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
389 value += mw.getMesswert(); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
390 value += " \"" + einheiten.get(0).getEinheit() + "\""; |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
391 value += mw.getMessfehler() == null ? " 0.0" : " " + mw.getMessfehler(); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
392 if (mw.getGrenzwertueberschreitung() == null || |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
393 !mw.getGrenzwertueberschreitung()) { |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
394 if (mw.getNwgZuMesswert() != null) { |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
395 tag += "_NWG"; |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
396 value += " " + mw.getNwgZuMesswert(); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
397 } |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
398 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
399 else { |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
400 tag += "_NWG_G"; |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
401 value += " " + mw.getNwgZuMesswert() == null ? "0.0": mw.getNwgZuMesswert(); |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
402 value += " " + mw.getGrenzwertueberschreitung() == null ? " N" : |
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
403 mw.getGrenzwertueberschreitung() ? " J" : " N"; |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
404 } |
1110
d85562f07e3d
Adjusted laf exporter to fit the new specifications.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1097
diff
changeset
|
405 return lafLine(tag, value); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
406 } |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
407 |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
408 /** |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
409 * Write a single LAF conform line from key and value. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
410 * |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
411 * @param key The key. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
412 * @param value The value. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
413 * @return LAF conform line. |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
414 */ |
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
415 private String lafLine(String key, String value) { |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
416 return lafLine(key, value, DEFAULT_FORMAT); |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
417 } |
1184
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
418 |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
419 /** |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
420 * Write a single LAF conform line from key and value. |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
421 * |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
422 * @param key The key. |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
423 * @param value The value. |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
424 * @param format A format string for the value |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
425 * @return LAF conform line. |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
426 */ |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
427 private String lafLine(String key, Object value, String format) { |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
428 return String.format(KEY_FORMAT, key) |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
429 + String.format(format, value) |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
430 + "\n"; |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
431 } |
4c612aaba378
LAF requires char sequences to be quoted in export.
Tom Gottfried <tom@intevation.de>
parents:
1182
diff
changeset
|
432 |
609
093bfdcdb09c
Added exporter impl. for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
433 } |