annotate src/main/java/de/intevation/lada/data/importer/LAFProducer.java @ 331:5d11428e6a09

Made the importer a little more robust and introduced a better warning/error reporting.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 27 Aug 2013 15:28:21 +0200
parents 5844d7457dde
children cb47c33b119d
rev   line source
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.data.importer;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
4 import java.util.HashMap;
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
5 import java.util.LinkedList;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.util.List;
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
7 import java.util.Map;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
9 import javax.inject.Inject;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import javax.inject.Named;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import de.intevation.lada.model.LKommentarM;
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
13 import de.intevation.lada.model.LKommentarMId;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.model.LKommentarP;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.model.LMessung;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import de.intevation.lada.model.LMessungId;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import de.intevation.lada.model.LMesswert;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import de.intevation.lada.model.LMesswertId;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import de.intevation.lada.model.LOrt;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import de.intevation.lada.model.LProbe;
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
21 import de.intevation.lada.model.LProbe;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 @Named("lafproducer")
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 public class LAFProducer
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 implements Producer
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 private LProbe probe;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 private LMessung messung;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 private LOrt ort;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 private List<LKommentarP> pKommentare;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 private List<LKommentarM> mKommentare;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 private List<LMessung> messungen;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 private List<LOrt> orte;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 private List<LMesswert> messwerte;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 private List<EntryFormat> probenFormat;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 private List<EntryFormat> messungFormat;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 private List<EntryFormat> ortFormat;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
42 private Map<String, List<ReportData>> warnings;
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
43 private Map<String, List<ReportData>> errors;
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
44
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
45 @Inject
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 private AttributeMapper mapper;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 public LAFProducer() {
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
49 this.warnings = new HashMap<String, List<ReportData>>();
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
50 this.errors = new HashMap<String, List<ReportData>>();
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 this.probe = new LProbe();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 this.pKommentare = new ArrayList<LKommentarP>();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 this.mKommentare = new ArrayList<LKommentarM>();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 this.messungen = new ArrayList<LMessung>();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 this.orte = new ArrayList<LOrt>();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 this.messwerte = new ArrayList<LMesswert>();
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
57 String fileName = System.getProperty("de.intevation.lada.importconfig");
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 LAFFormat format = new LAFFormat();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 format.readConfigFile(fileName);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 probenFormat = format.getFormat("probe");
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 messungFormat = format.getFormat("messung");
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 ortFormat = format.getFormat("ort");
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 @Override
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
66 public void addData(String key, Object values)
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
67 throws LAFParserException {
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 String lKey = key.toLowerCase();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 if(lKey.equals("probenkommentar")) {
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
70 LKommentarP kommentar = new LKommentarP();
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
71 kommentar.setProbeId(this.probe.getProbeId());
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 this.pKommentare.add(
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
73 mapper.addAttribute(lKey, values, kommentar));
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 else if (lKey.equals("kommentar")) {
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
76 LKommentarMId id = new LKommentarMId();
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
77 id.setMessungsId(this.messung.getMessungsId());
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
78 id.setProbeId(this.probe.getProbeId());
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
79 LKommentarM kommentar = new LKommentarM();
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
80 kommentar.setId(id);
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
81 kommentar.setMessungsId(this.messung.getMessungsId());
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
82 kommentar.setProbeId(this.probe.getProbeId());
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 this.mKommentare.add(
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
84 mapper.addAttribute(lKey, values, kommentar));
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 else if (lKey.equals("probenzusatzbeschreibung")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 //TODO: implement this!
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 else if (lKey.equals("pzb_s")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 //TODO: implement this!
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 else if (lKey.equals("messwert")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 LMesswertId id = new LMesswertId();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 id.setProbeId(this.probe.getProbeId());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 id.setMessungsId(this.messung.getId().getMessungsId());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 LMesswert m = new LMesswert();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 m.setId(id);
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
98 m.setMessungsId(this.messung.getMessungsId());
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
99 m.setProbeId(this.probe.getProbeId());
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
100 LMesswert wert = mapper.addAttribute(lKey, values, m);
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
101 if (wert != null) {
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
102 this.messwerte.add(wert);
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
103 }
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 else if (isValidMessung(lKey, values.toString())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 this.messung = mapper.addAttribute(lKey, values, this.messung);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 else if (isValidProbe(lKey, values.toString())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 this.probe = mapper.addAttribute(lKey, values, this.probe);
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
110 if (this.probe == null) {
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
111 this.errors.put(values.toString(), mapper.getErrors());
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
112 throw new LAFParserException(values.toString() + " exists");
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
113 }
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 else if (isValidOrt(lKey, values.toString())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 this.ort = mapper.addAttribute(lKey, values, this.ort);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 private boolean isValidOrt(String key, String value) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 for (EntryFormat ef: ortFormat) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 if (ef.getKey().equals(key.toLowerCase())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 if (ef.getPattern().matcher(value).matches()) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 return true;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 return false;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 private boolean isValidMessung(String key, String value) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 for (EntryFormat ef: messungFormat) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 if (ef.getKey().equals(key.toLowerCase())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 if (ef.getPattern().matcher(value).matches()) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 return true;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 return false;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 private boolean isValidProbe(String key, String value) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 for (EntryFormat ef: probenFormat) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 if (ef.getKey().equals(key.toLowerCase())) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 if (ef.getPattern().matcher(value).matches()) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 return true;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 return false;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 public LProbe getProbe() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 return this.probe;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 public List<LMessung> getMessungen() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 return this.messungen;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 public List<LOrt> getOrte() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 return this.orte;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 public List<LKommentarP> getProbenKommentare() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 return this.pKommentare;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 public List<LKommentarM> getMessungsKommentare() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 return this.mKommentare;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 public List<LMesswert> getMesswerte() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 return this.messwerte;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183 @Override
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 public void reset() {
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
185 this.errors.clear();
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
186 this.warnings.clear();
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187 this.probe = new LProbe();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 this.messungen.clear();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
189 this.messung = null;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 this.orte.clear();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 this.ort = null;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192 this.messwerte.clear();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 this.mKommentare.clear();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 this.pKommentare.clear();
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
195 mapper.reset();
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 public void newMessung() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 if (this.messung != null) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200 this.messungen.add(this.messung);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
201 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
202 LMessungId id = new LMessungId();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 id.setProbeId(this.probe.getProbeId());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 this.messung = new LMessung();
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 317
diff changeset
205 this.messung.setProbeId(this.probe.getProbeId());
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
206 this.messung.setId(id);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
208
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
209 public void newOrt() {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
210 if (this.ort != null) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211 this.orte.add(this.ort);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 this.ort = new LOrt();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 this.ort.setProbeId(this.probe.getProbeId());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 }
331
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
216
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
217 /**
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
218 * @return the warnings
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
219 */
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
220 public Map<String, List<ReportData>> getWarnings() {
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
221 return this.warnings;
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
222 }
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
223
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
224 /**
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
225 * @return the errors
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
226 */
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
227 public Map<String, List<ReportData>> getErrors() {
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
228 return this.errors;
5d11428e6a09 Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents: 321
diff changeset
229 }
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
230 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)