annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENCalculation.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children af13ceeba52a
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 *
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
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
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
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
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import org.apache.log4j.Logger;
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4050
diff changeset
19 import org.dive4elements.artifacts.CallMeta;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4050
diff changeset
20 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
21
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 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
24
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 private static final Logger log = Logger.getLogger(WSPLGENCalculation.class);
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 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
28 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
29
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public WSPLGENCalculation() {
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 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
33 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
34 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
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 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
38 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
39 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
40 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
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 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
44 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
45 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
46 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
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 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
50 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
51 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
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 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
55 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
56 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
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 @Override
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 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
61 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
62
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 if (numErrors() > 0) {
4050
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3300
diff changeset
64 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
65 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
66 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
67 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
68
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 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
70 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 }
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 if (numWarnings() > 0) {
4050
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3300
diff changeset
74 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
75 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
76 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
77 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
78
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 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
80 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 }
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 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
84 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 }
e1cf76b3ecb4 Moved map and WSPLGEN code to subpackage 'map' in the model package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org