Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java @ 5818:a4ff4167be1e
Request feature info on all layers and show it as html if
the server does not return valid gml.
Non queryable layers produce an error message when the request
fails. This is good enough
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 17:33:27 +0200 |
parents | 61f4d4164a30 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * A collection of triples W,Q,Timerange. * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class WQTimerange extends WQ { /** Used to sort <w,q,timerange> triples. */ 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; } /** Sets [w,q] in wq. */ 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> timeranges; public WQTimerange() { super(""); } public WQTimerange(String name) { super(name); timeranges = new ArrayList<Timerange>(); } public void add(double w, double q, Timerange t) { ws.add(w); qs.add(q); timeranges.add(t); } public Timerange getTimerange(int idx) { return timeranges.get(idx); } public Timerange[] getTimeranges() { return timeranges.toArray(new Timerange[timeranges.size()]); } public List<TimerangeItem> sort() { ArrayList<TimerangeItem> items = new ArrayList<TimerangeItem>(timeranges.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 :