diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java @ 4183:1755a1bfe5ce

Merged
author Christian Lins <christian.lins@intevation.de>
date Fri, 19 Oct 2012 09:20:52 +0200
parents 200e70f31f6f
children 05eeedc5b156
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java	Tue Oct 16 12:44:15 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java	Fri Oct 19 09:20:52 2012 +0200
@@ -1,6 +1,7 @@
 package de.intevation.flys.artifacts.model;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -9,6 +10,46 @@
  */
 public class WQTimerange extends WQ {
 
+    public static class TimerangeItem implements Comparable<TimerangeItem> {
+        public double q;
+        public double w;
+        public Timerange timerange;
+
+        public TimerangeItem (Timerange timerange, double q, double w) {
+            this.timerange = timerange;
+            this.q = q;
+            this.w = w;
+        }
+
+        public double[] get(double[] wq) {
+            if (wq.length >= 2) {
+                wq[0] = w;
+                wq[1] = q;
+            }
+
+            return wq;
+        }
+
+        @Override
+        public int compareTo(TimerangeItem other) {
+            if (other.timerange.getStart() < timerange.getStart()) {
+                return 1;
+            }
+            else if (other.timerange.getStart() > timerange.getStart()) {
+                return -1;
+            }
+            else if (other.timerange.getEnd() < timerange.getEnd()) {
+                return 1;
+            }
+            else if (other.timerange.getEnd() > timerange.getEnd()){
+                return -1;
+            }
+            else {
+                return 0;
+            }
+        }
+    }
+
     protected List<Timerange> ts;
 
 
@@ -38,5 +79,15 @@
     public Timerange[] getTimeranges() {
         return ts.toArray(new Timerange[ts.size()]);
     }
+
+    public List<TimerangeItem> sort() {
+        ArrayList<TimerangeItem> items = new ArrayList<TimerangeItem>(ts.size());
+        for (int i = 0, n = size(); i < n; i++) {
+            items.add(new TimerangeItem(getTimerange(i), getQ(i), getW(i)));
+        }
+
+        Collections.sort(items);
+        return items;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org