annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENCalculation.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 0a5239a1e46e
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4050
diff changeset
9 package org.dive4elements.river.artifacts.model.map;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.util.HashMap;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.util.Map;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import org.w3c.dom.Document;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import org.w3c.dom.Element;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
17 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
18 import org.apache.logging.log4j.LogManager;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4050
diff changeset
20 import org.dive4elements.artifacts.CallMeta;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4050
diff changeset
21 import org.dive4elements.river.artifacts.model.Calculation;
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 public class WSPLGENCalculation extends Calculation {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
26 private static final Logger log = LogManager.getLogger(
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 5994
diff changeset
27 WSPLGENCalculation.class);
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 protected Map<Integer, String> errors;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 protected Map<Integer, String> warnings;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 public WSPLGENCalculation() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 errors = new HashMap<Integer, String>();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 warnings = new HashMap<Integer, String>();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 public void addError(Integer key, String msg) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 log.debug("New error: (" + key + ") " + msg);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 errors.put(key, msg);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public void addWarning(Integer key, String msg) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 log.debug("New warning: (" + key + ") " + msg);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 warnings.put(key, msg);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 public int numErrors() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 return errors.size();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 public int numWarnings() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 return warnings.size();
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 public void toXML(Document document, CallMeta meta) {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 Element root = document.createElement("problems");
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 if (numErrors() > 0) {
4050
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3300
diff changeset
66 for (Map.Entry<Integer, String> entry: errors.entrySet()) {
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 Element problem = document.createElement("problem");
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 problem.setAttribute("error", String.valueOf(entry.getKey()));
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 problem.setTextContent(entry.getValue());
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 root.appendChild(problem);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 if (numWarnings() > 0) {
4050
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3300
diff changeset
76 for (Map.Entry<Integer, String> entry: warnings.entrySet()) {
3300
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 Element problem = document.createElement("problem");
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 problem.setAttribute("error", String.valueOf(entry.getKey()));
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 problem.setTextContent(entry.getValue());
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 root.appendChild(problem);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 document.appendChild(root);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org