annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/VegetationZoneServerClientXChange.java @ 9499:853f2dafc16e

VegetationZones in CrossSectionsDiagram
author gernotbelger
date Thu, 27 Sep 2018 18:06:26 +0200
parents e2da9c8a7c57
children d421c2bf0195
rev   line source
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
2 * Software engineering by
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
5 *
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
9 */
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
10
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
11 package org.dive4elements.river.client.shared.model;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
12
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
13 import java.util.ArrayList;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
14 import java.util.List;
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
15 import java.util.TreeSet;
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
16
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
17 /**
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
18 * @author Domenico Nardi Tironi
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
19 *
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
20 */
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
21 public class VegetationZoneServerClientXChange implements Comparable<VegetationZoneServerClientXChange> {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
22
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
23 // IMMER ABGLEICHEN MIT VegetationZoneServerClientXChange.class IM SERVER
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
24 public static final boolean HAS_COLORS_EDITABLE = false;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
25
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
26 private static final String TABLE_CELL_SEPARATOR = "TABLE_CELL_SEPARATOR";
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
27 private static final String TABLE_ROW_SEPARATOR = "TABLE_ROW_SEPARATOR";
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
28 private final String zoneName;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
29 private final int min_day_overflow;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
30 private final int max_day_overflow;
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
31 private final String hexColor;
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
32
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
33 public static List<VegetationZoneServerClientXChange> parse(final String zonesRaw) {
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
34 final List<VegetationZoneServerClientXChange> resultList = new ArrayList<VegetationZoneServerClientXChange>();
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
35
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
36 final List<String[]> results = new ArrayList<String[]>();
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
37 if (zonesRaw.contains(TABLE_ROW_SEPARATOR)) {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
38 final String[] rows = zonesRaw.split(TABLE_ROW_SEPARATOR);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
39 for (final String row : rows) {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
40 if (row.contains(TABLE_CELL_SEPARATOR)) {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
41 final String[] result = row.split(TABLE_CELL_SEPARATOR);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
42 results.add(result);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
43 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
44 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
45 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
46 for (final String[] zone : results) {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
47
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
48 final VegetationZoneServerClientXChange helper = new VegetationZoneServerClientXChange(zone[0], Integer.valueOf(zone[1]), Integer.valueOf(zone[2]),
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
49 zone[3]);
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
50 resultList.add(helper);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
51 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
52
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
53 return resultList;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
54 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
55
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
56 public static VegetationZoneServerClientXChange createFromTableEntry(final String zone, final String min_day_overflow, final String max_day_overflow,
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
57 final String hexColor) {
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
58 return new VegetationZoneServerClientXChange(zone, Integer.valueOf(min_day_overflow), Integer.valueOf(max_day_overflow), hexColor); // Error-Handling?
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
59 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
60
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
61 private VegetationZoneServerClientXChange(final String zone, final Integer min_day_overflow, final Integer max_day_overflow, final String hexColor) {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
62 this.zoneName = zone;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
63 this.min_day_overflow = min_day_overflow;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
64 this.max_day_overflow = max_day_overflow;
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
65 this.hexColor = hexColor;
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
66 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
67
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
68 public int getMax_day_overflow() {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
69 return this.max_day_overflow;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
70 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
71
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
72 public String getZoneName() {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
73 if (this.zoneName == null || this.zoneName.equals("")) {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
74 return "---";
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
75 }
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
76 return this.zoneName;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
77 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
78
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
79 public String getHexColor() {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
80 try {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
81 final int test = Integer.decode(this.hexColor);
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
82 return this.hexColor;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
83 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
84 catch (final NumberFormatException e) {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
85 return "#ffffff";
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
86 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
87 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
88
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
89 public int getMin_day_overflow() {
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
90 return this.min_day_overflow;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
91 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
92
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
93 public static final List<VegetationZoneServerClientXChange> getStandardList() {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
94
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
95 final List<VegetationZoneServerClientXChange> list = new ArrayList<VegetationZoneServerClientXChange>();
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
96 list.add(new VegetationZoneServerClientXChange("Zonaler Wald", 0, 5, "#336600"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
97 list.add(new VegetationZoneServerClientXChange("Hartholzaue, trocken", 6, 40, "#00cc00"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
98 list.add(new VegetationZoneServerClientXChange("Hartholzaue, feucht", 41, 80, "#66ff33"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
99 list.add(new VegetationZoneServerClientXChange("Silberweidenwald", 81, 140, "#008080"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
100 list.add(new VegetationZoneServerClientXChange("Weidengebüsch", 141, 200, "#33cccc"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
101 list.add(new VegetationZoneServerClientXChange("Uferröhricht", 201, 260, "#ffa8ff"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
102 list.add(new VegetationZoneServerClientXChange("Uferpioniere", 261, 320, "#ff0000"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
103 list.add(new VegetationZoneServerClientXChange("Vegetationslos", 321, 364, "#b2b2b2"));
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
104 list.add(new VegetationZoneServerClientXChange("Wasserfläche", 365, 365, "#0066ff"));
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
105
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
106 return list;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
107 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
108
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
109 public static final String parseListToDataString(final List<VegetationZoneServerClientXChange> list) {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
110
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
111 java.util.Collections.sort(list);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
112 final StringBuilder builder = new StringBuilder();
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
113 for (final VegetationZoneServerClientXChange zone : list) {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
114 builder.append(zone.getZoneName());
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
115 builder.append(TABLE_CELL_SEPARATOR);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
116 builder.append(zone.getMin_day_overflow());
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
117 builder.append(TABLE_CELL_SEPARATOR);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
118 builder.append(zone.getMax_day_overflow());
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
119 builder.append(TABLE_CELL_SEPARATOR);
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
120 builder.append(zone.getHexColor());
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
121 builder.append(TABLE_ROW_SEPARATOR);
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
122 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
123 return builder.toString();
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
124
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
125 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
126
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
127 @Override
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
128 public int compareTo(final VegetationZoneServerClientXChange o) {
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
129 final int basicCompare = Integer.valueOf(this.getMin_day_overflow()).compareTo(o.getMin_day_overflow());
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
130 if (basicCompare == 0)
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
131 return Integer.valueOf(this.getMax_day_overflow()).compareTo(o.getMax_day_overflow()); // wenn min==min && max==max, alphabetisch sortieren?
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
132
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
133 if (basicCompare == 0) {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
134 return 1; // for treeSet
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
135 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
136
9119
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
137 return basicCompare;
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
138 }
36c80c7fd02f missing files Veg'Zone, FontMapper
gernotbelger
parents:
diff changeset
139
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
140 public static final boolean zonesAreOverlapping(final List<VegetationZoneServerClientXChange> list) {
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
141 for (final VegetationZoneServerClientXChange zone : list) {
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
142 for (final VegetationZoneServerClientXChange zoneOther : list) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
143 if (zone != zoneOther) {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
144 final boolean overlaps = zone.overlaps(zoneOther);
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
145 if (overlaps) {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
146 return overlaps; // cancel. only one zone has to overlap
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
147 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
148 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
149 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
150 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
151
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
152 return false;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
153 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
154
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
155 public static final boolean hasGaps(final List<VegetationZoneServerClientXChange> list, final int lower, final int upper) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
156
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
157 if ((upper - lower) == 0)
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
158 return true;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
159
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
160 final TreeSet<VegetationZoneServerClientXChange> treeList = new TreeSet<VegetationZoneServerClientXChange>();
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
161 treeList.addAll(list);
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
162 int lowerCompare = lower;
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
163 for (final VegetationZoneServerClientXChange zone : treeList) {
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
164 if (zone.getLowerFromTo() > (lowerCompare)) { // nicht inklusiv
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
165 return true;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
166 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
167 lowerCompare = zone.getUpperFromTo();
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
168 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
169 if ((lowerCompare) < upper)
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
170 return true; // am Ende nicht geschlossen
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
171
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
172 return false;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
173 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
174
9403
e2da9c8a7c57 VegetationZone umbenennen
gernotbelger
parents: 9260
diff changeset
175 private boolean overlaps(final VegetationZoneServerClientXChange otherZone) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
176 final int otherLower = otherZone.getLowerFromTo();
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
177 final int otherUpper = otherZone.getUpperFromTo();
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
178
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
179 final int upper = getUpperFromTo();
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
180 final int lower = getLowerFromTo();
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
181 // final int otherSchwerpunkt = (otherLower + otherUpper) / 2;
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
182 if ((otherUpper <= upper && otherUpper > lower)) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
183 return true;
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
184 } else if (otherLower >= lower && otherLower < upper) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
185 return true;
9499
853f2dafc16e VegetationZones in CrossSectionsDiagram
gernotbelger
parents: 9403
diff changeset
186 } else if (otherLower == lower && otherUpper == upper) {
9260
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
187 return true;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
188 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
189 return false;
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
190 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
191
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
192 public Integer getLowerFromTo() {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
193 return this.min_day_overflow < this.max_day_overflow ? this.min_day_overflow : this.max_day_overflow; // Math. is forbidden :-(
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
194 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
195
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
196 public Integer getUpperFromTo() {
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
197 return this.min_day_overflow > this.max_day_overflow ? this.min_day_overflow : this.max_day_overflow;// Math. is forbidden :-(
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
198 }
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
199
b570b6fcc052 VegetationZone color added and disabled
gernotbelger
parents: 9119
diff changeset
200 }

http://dive4elements.wald.intevation.org