comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java @ 4789:0df2247d98e1

Create and add sieves regardless of the the order of diameter/value.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 09 Jan 2013 09:28:01 +0100
parents f02aa4ff3c0f
children bf2fd9c58ac4
comparison
equal deleted inserted replaced
4788:03c824858a40 4789:0df2247d98e1
142 Object value = tuple[i]; 142 Object value = tuple[i];
143 if (value == null) { 143 if (value == null) {
144 continue; 144 continue;
145 } 145 }
146 String alias = aliases[i]; 146 String alias = aliases[i];
147 if (alias.startsWith("SIEB")) { 147 if (alias.startsWith("SIEB")
148 Sieve s = new Sieve((Double)value, 0d); 148 || alias.startsWith("RSIEB")) {
149 sieves[index(alias)] = s; 149 int idx = index(alias);
150 } 150 Sieve s = sieves[idx];
151 else if (alias.startsWith("RSIEB")) { 151 double v = (Double)value;
152 Sieve s = sieves[index(alias)]; 152 if (s == null) {
153 if (s != null) { 153 s = new Sieve();
154 s.setLoad((Double)value); 154 sieves[idx] = s;
155 validSieves.add(s); 155 }
156 if (alias.startsWith("SIEB")) {
157 s.setDiameter(v);
158 }
159 else {
160 s.setLoad(v);
156 } 161 }
157 } 162 }
158 else if (alias.equals("REST")) { 163 else if (alias.equals("REST")) {
159 Sieve s = new Sieve(0d, (Double)value); 164 Sieve s = new Sieve(0d, (Double)value);
160 validSieves.add(s); 165 validSieves.add(s);
161 } 166 }
162 else { 167 else {
163 map.put(alias, value); 168 map.put(alias, value);
164 } 169 }
165 } 170
166 171 }
172 for (Sieve s: sieves) {
173 if (s != null) {
174 validSieves.add(s);
175 }
176 }
167 return new Measurement(map, validSieves); 177 return new Measurement(map, validSieves);
168 } 178 }
169 }; 179 };
170 180
171 private MeasurementFactory() { 181 private MeasurementFactory() {

http://dive4elements.wald.intevation.org