annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSContainer.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: 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
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
14 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
15 import org.apache.logging.log4j.LogManager;
5307
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 class HWSContainer
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 {
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
19 private static Logger log = LogManager.getLogger(HWSContainer.class);
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 private String river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 private HWS.TYPE type;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 private List<HWS> hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 public HWSContainer() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 river = null;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 hws = new ArrayList<HWS>();
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 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
30 this.river = river;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 this.hws = hws;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 this.type = type;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 public void setRiver(String river) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 this.river = river;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 public String getRiver() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 return this.river;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 public HWS.TYPE getType() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 return type;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 public void setType(HWS.TYPE type) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 this.type = type;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 public List<HWS> getHws() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 return hws;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 public void addHws(HWS hws) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
56 log.debug("add hws: " + hws.getName());
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 this.hws.add(hws);
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 public void addHws(List<HWS> hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 this.hws.addAll(hws);
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 public List<HWS> getOfficialHWS() {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 if (h.isOfficial()) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 results.add(h);
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 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 return results;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 public List<HWS> getHws(String name) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
78 log.debug("find: " + name + " in " + hws.size() + " elements");
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 for (HWS h: hws) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 if (h.getName().equals(name)) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 results.add(h);
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 }
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
88 log.debug("found: " + results.size());
5307
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 return results;
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
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 public List<HWS> getHws(List<String> list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 if (hws == null || hws.size() == 0) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 return new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 List<HWS> results = new ArrayList<HWS>();
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 for (String name : list) {
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 results.addAll(getHws(name));
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 return results;
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 }
6131b352e5e4 Data structure and factory for hws.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 }

http://dive4elements.wald.intevation.org