annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWSContainer.java @ 5307:6131b352e5e4

Data structure and factory for hws.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 14 Mar 2013 17:13:49 +0100
parents
children a1cb9a734cc5
rev   line source
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.model.map;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.List;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import org.apache.log4j.Logger;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import org.hibernate.mapping.Array;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 public class HWSContainer
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 private static Logger logger = Logger.getLogger(HWSContainer.class);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 private String river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 private HWS.TYPE type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 private List<HWS> hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 public HWSContainer() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 river = null;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 hws = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 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
23 this.river = river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 this.hws = hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 this.type = type;
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 void setRiver(String river) {
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 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 public String getRiver() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 return this.river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 public HWS.TYPE getType() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 return type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 public void setType(HWS.TYPE type) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 this.type = type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 public List<HWS> getHws() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 return hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 public void addHws(HWS hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 logger.debug("add hws: " + hws.getName());
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 this.hws.add(hws);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 }
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 public void addHws(List<HWS> hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 this.hws.addAll(hws);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 public List<HWS> getOfficialHWS() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 if (h.isOfficial()) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 results.add(h);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 }
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 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 public List<HWS> getHws(String name) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 logger.debug("find: " + name + " in " + hws.size() + " elements");
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 return new ArrayList<HWS>();
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 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 if (h.getName().equals(name)) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 results.add(h);
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 }
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 logger.debug("found: " + results.size());
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 public List<HWS> getHws(List<String> list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 for (String name : list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 results.addAll(getHws(name));
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 return results;
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 }

http://dive4elements.wald.intevation.org