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 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)