annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSContainer.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: 5313
diff changeset
9 package org.dive4elements.river.artifacts.model.map;
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import java.util.List;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import org.apache.log4j.Logger;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 public class HWSContainer
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 private static Logger logger = Logger.getLogger(HWSContainer.class);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 private String river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 private HWS.TYPE type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 private List<HWS> hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 public HWSContainer() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 river = null;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 hws = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 public HWSContainer(String river, HWS.TYPE type, List<HWS> hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 this.river = river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 this.hws = hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 this.type = type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 public void setRiver(String river) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 this.river = river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 public String getRiver() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 return this.river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 public HWS.TYPE getType() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 return type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 public void setType(HWS.TYPE type) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 this.type = type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 public List<HWS> getHws() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 return hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 public void addHws(HWS hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 logger.debug("add hws: " + hws.getName());
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 this.hws.add(hws);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 public void addHws(List<HWS> hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 this.hws.addAll(hws);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 public List<HWS> getOfficialHWS() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 if (h.isOfficial()) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 results.add(h);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 public List<HWS> getHws(String name) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 logger.debug("find: " + name + " in " + hws.size() + " elements");
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 if (h.getName().equals(name)) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 results.add(h);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 logger.debug("found: " + results.size());
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 public List<HWS> getHws(List<String> list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 for (String name : list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 results.addAll(getHws(name));
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 }

http://dive4elements.wald.intevation.org