view flys-aft/src/main/java/de/intevation/aft/TimeInterval.java @ 4255:670e98f5a441

Fixed leak while merging facets. The ThemeList that is used by OutputHelper to sort the Facets for an Output now uses a list to store the ManagedFacets. The correct order is made up by sorting the List using Collections.sort() function of the Java JDK. Therfore, the ManagedFacet class implements the Comparable interface. The return value of its compareTo(other) method depends on the value of the 'position' field.
author Ingo Weinzierl <weinzierl.ingo@googlemail.com>
date Thu, 25 Oct 2012 14:01:46 +0200
parents b6a18d706cbe
children b195fede1c3b
line wrap: on
line source
package de.intevation.aft;

import java.util.Date;

public class TimeInterval
implements   Comparable<TimeInterval>
{
    protected int  id;
    protected Date start;
    protected Date stop;

    public TimeInterval() {
    }

    public TimeInterval(Date start, Date stop) {
        this.start = start;
        this.stop  = stop;
    }

    public TimeInterval(int id, Date start, Date stop) {
        this(start, stop);
        this.id    = id;
    }

    protected static int compare(Date d1, Date d2) {
        long s1 = d1 != null ? d1.getTime()/1000L : 0L;
        long s2 = d2 != null ? d2.getTime()/1000L : 0L;
        long diff = s1 - s2;
        return diff < 0L 
            ? -1
            : diff > 0L ? 1 : 0;
    }

    @Override
    public int compareTo(TimeInterval other) {
        int cmp = compare(start, other.start);
        return cmp != 0 
            ? cmp
            : compare(stop, other.stop);
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Date getStart() {
        return start;
    }

    public void setStart(Date start) {
        this.start = start;
    }

    public Date getStop() {
        return stop;
    }

    public void setStop(Date stop) {
        this.stop = stop;
    }

    public String toString() {
        return "[TimeInterval: start=" + start + ", stop=" + stop + "]";
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org