comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/DischargeState.java @ 6185:7573683925a3

Add sorting for discharge value
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 04 Jun 2013 16:45:23 +0200
parents af13ceeba52a
children a07521dca5b5
comparison
equal deleted inserted replaced
6184:58e78e6662fa 6185:7573683925a3
7 */ 7 */
8 8
9 package org.dive4elements.river.artifacts.states; 9 package org.dive4elements.river.artifacts.states;
10 10
11 import java.util.List; 11 import java.util.List;
12 import java.util.Collections;
13 import java.util.Comparator;
12 14
13 import org.apache.log4j.Logger; 15 import org.apache.log4j.Logger;
14 16
15 import org.dive4elements.artifacts.Artifact; 17 import org.dive4elements.artifacts.Artifact;
16 import org.dive4elements.artifacts.CallContext; 18 import org.dive4elements.artifacts.CallContext;
66 68
67 List<DischargeZone> zones = getDischargeZones(artifact); 69 List<DischargeZone> zones = getDischargeZones(artifact);
68 70
69 KVP[] kvp = new KVP[zones.size()]; 71 KVP[] kvp = new KVP[zones.size()];
70 72
71 for (int i = 0, Z = zones.size(); i < Z; i++) { 73 Collections.sort(zones, new Comparator<DischargeZone>() {
72 DischargeZone zone = zones.get(i); 74 public int compare(DischargeZone a, DischargeZone b) {
75 return a.getValue().compareTo(b.getValue());
76 }
77 });
73 78
79 int i = 0;
80
81 for (DischargeZone zone: zones) {
74 String lower = zone.getLowerDischarge(); 82 String lower = zone.getLowerDischarge();
75 String upper = zone.getUpperDischarge(); 83 String upper = zone.getUpperDischarge();
76 84
77 if (lower.equals(upper)) { 85 if (lower.equals(upper)) {
78 kvp[i] = new KVP(zone.getId(), lower); 86 kvp[i] = new KVP(zone.getId(), lower);
79 } 87 }
80 else { 88 else {
81 kvp[i] = new KVP(zone.getId(), lower + " - " + upper); 89 kvp[i] = new KVP(zone.getId(), lower + " - " + upper);
82 } 90 }
91 i++;
83 } 92 }
84 93
85 return kvp; 94 return kvp;
86 } 95 }
87 96

http://dive4elements.wald.intevation.org