Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/importer/laf/LafWriter.java @ 711:3ec358698b4d
Code style and documentation.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 22 Jul 2015 16:03:03 +0200 |
parents | 3118fbbe6292 |
children | c81881dac97e |
rev | line source |
---|---|
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
2 * Software engineering by Intevation GmbH |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
3 * |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
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:
616
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
7 */ |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.importer.laf; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import java.util.ArrayList; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import java.util.List; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.Map; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import javax.inject.Inject; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import javax.persistence.PersistenceException; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.lada.importer.ReportItem; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.lada.model.land.LKommentarM; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.lada.model.land.LKommentarP; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.lada.model.land.LMessung; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.lada.model.land.LMesswert; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.lada.model.land.LOrt; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.lada.model.land.LProbe; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.lada.model.land.MessungTranslation; |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
25 import de.intevation.lada.model.land.ProbeTranslation; |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.lada.model.stamm.SOrt; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.lada.util.annotation.AuthorizationConfig; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 import de.intevation.lada.util.annotation.RepositoryConfig; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 import de.intevation.lada.util.auth.Authorization; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 import de.intevation.lada.util.auth.AuthorizationType; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 import de.intevation.lada.util.auth.UserInfo; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.lada.util.data.Repository; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.lada.util.data.RepositoryType; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 * Writer to persist new entities in the database. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 public class LafWriter { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
42 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
43 * The repository to write database objects. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
44 */ |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
45 @Inject |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 @RepositoryConfig(type=RepositoryType.RW) |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 private Repository repository; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
49 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
50 * The authorization module. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
51 */ |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 @Inject |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 @AuthorizationConfig(type=AuthorizationType.OPEN_ID) |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 private Authorization authorization; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
56 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
57 * The errors. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
58 */ |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 private List<ReportItem> errors; |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
60 |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
61 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
62 * The warnings. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
63 */ |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 private List<ReportItem> warnings; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 |
626
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
66 /** |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
67 * The current probe id used to create child objects. |
9e733f44d8b0
Code style and comments.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
616
diff
changeset
|
68 */ |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
69 private Integer currentProbeId; |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
70 |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 * Default constructor. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 public LafWriter() { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 errors = new ArrayList<ReportItem>(); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 warnings = new ArrayList<ReportItem>(); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 * Write a new {@link LProbe} object to the database using |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 * authorization and validation. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 * @param probe The new {@link LProbe} object. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 */ |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
87 public boolean writeProbe(UserInfo userInfo, LProbe probe, ProbeTranslation probeTranslation) { |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 if (!authorization.isAuthorized(userInfo, probe)) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 errors.add(new ReportItem("auth", "not authorized", 699)); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 return false; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 } |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
92 if (probeTranslation.getProbeIdAlt() == null) { |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 errors.add(new ReportItem("probeId", "missing", 673)); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 return false; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 try { |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
97 repository.create(probe, "land"); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
98 probeTranslation.setProbeId(probe); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
99 this.currentProbeId = probe.getId(); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
100 repository.create(probeTranslation, "land"); |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 catch (PersistenceException e) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 errors.add(new ReportItem("probe", "writing", 670)); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 return false; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 * Write new {@link LMessung} objects to the database using |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 * authorization and validation. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 * @param messungen The new {@link LMessung} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 public boolean writeMessungen( |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 UserInfo userInfo, |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
119 LMessung messung, |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
120 MessungTranslation messungTranslation |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 ) { |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
122 messung.setProbeId(this.currentProbeId); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
123 repository.create(messung, "land"); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
124 messungTranslation.setMessungsId(messung); |
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
125 repository.create(messungTranslation, "land"); |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 * Write new {@link SOrt} objects to the database. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 * @param orte List of {@link SOrt} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 public boolean writeOrte(UserInfo userInfo, List<SOrt> orte) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 * Write new {@link LOrt} objects to the database using validation. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 * @param orte List of {@link LOrt} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 */ |
672
aeae6a81f28e
Validate imported Ort objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
147 public boolean writeLOrte(UserInfo userInfo, LOrt ort) { |
aeae6a81f28e
Validate imported Ort objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
148 ort.setProbeId(this.currentProbeId); |
aeae6a81f28e
Validate imported Ort objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
626
diff
changeset
|
149 repository.create(ort, "land"); |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 * Write new {@link LKommentarP} objects to the database. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 * @param kommentare List of {@link LKommentarP} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 public boolean writeProbenKommentare( |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 UserInfo userInfo, |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 List<LKommentarP> kommentare |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 ) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 for(LKommentarP kommentar: kommentare) { |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
165 kommentar.setProbeId(this.currentProbeId); |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 repository.create(kommentar, "land"); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 * Write new {@link LKommentarM} objects to the database. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 * @param kommentare List of {@link LKommentarM} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 public boolean writeMessungKommentare( |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 UserInfo userInfo, |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 Map<LMessung, List<LKommentarM>> kommentare |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 ) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 for (LMessung messung : kommentare.keySet()) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 for (LKommentarM kommentar: kommentare.get(messung)) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 kommentar.setMessungsId(messung.getId()); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 repository.create(kommentar, "land"); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 * Write new {@link LMesswert} objects to the database using validation. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 * |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 * @param auth The authentication information. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 * @param werte List of {@link LMesswert} objects. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 * @return success |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 public boolean writeMesswerte( |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 UserInfo userInfo, |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 Map<LMessung, List<LMesswert>> werte |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 ) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 for (LMessung messung : werte.keySet()) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 for(LMesswert messwert: werte.get(messung)) { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 messwert.setMessungsId(messung.getId()); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 repository.create(messwert, "land"); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 return true; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 * @return the errors |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 public List<ReportItem> getErrors() { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 return errors; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 * @return the warnings |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 public List<ReportItem> getWarnings() { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 return warnings; |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
224 |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 /** |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 * Reset the errors and warnings. |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 */ |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 public void reset() { |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 this.warnings = new ArrayList<ReportItem>(); |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 this.errors = new ArrayList<ReportItem>(); |
615
3f57484e06f1
Updated importer: Do validation and object creation in the correct order.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
610
diff
changeset
|
231 this.currentProbeId = null; |
610
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 } |
374a2e78cec5
Added importer impl for laf file format.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 } |