view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java @ 3612:f3fc8d49d741

Removed superfluous import. flys-artifacts/trunk@5251 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 23 Aug 2012 14:52:27 +0000
parents 66f539df4e8b
children e727e3ebdf85
line wrap: on
line source
package de.intevation.flys.artifacts.model.fixings;

import java.util.Date;
import java.util.TreeSet;

import de.intevation.flys.artifacts.model.Parameters;

import de.intevation.flys.utils.KMIndex;

public class FixAnalysisResult
extends      FixResult
{
    protected KMIndex<AnalysisPeriod []> analysisPeriods;

    public FixAnalysisResult() {
    }

    public FixAnalysisResult(
        Parameters                 parameters,
        KMIndex<QWD []>            referenced,
        KMIndex<QW []>             outliers,
        KMIndex<AnalysisPeriod []> analysisPeriods
    ) {
        super(parameters, referenced, outliers);
        this.analysisPeriods = analysisPeriods;
    }

    public int getUsedSectorsInAnalysisPeriods() {
        int result = 0;
        for (KMIndex.Entry<AnalysisPeriod []> entry: analysisPeriods) {
            for (AnalysisPeriod period: entry.getValue()) {
                for (int i = 0; i < 4; ++i) {
                    result |= period.getQSectorAverage(i) != null
                        ? (1 << i)
                        : 0;
                }
                // XXX: Stop early on result == ~(~0 << 4)) ?
            }
        }
        return result;
    }

    public TreeSet<Date> getReferenceEventsDates() {
        TreeSet<Date> dates = new TreeSet<Date>();
        for (KMIndex.Entry<QWD []> entry: referenced) {
            for (int i = 0; i < entry.getValue().length; i++) {
                QWD qwd = entry.getValue()[i];
                dates.add(qwd.date);
            }
        }
        return dates;
    }

    public TreeSet<Date> getAnalysisEventsDates(int analysisPeriod) {
        TreeSet<Date> dates = new TreeSet<Date>();
        for (KMIndex.Entry<AnalysisPeriod []> entry: analysisPeriods) {
            AnalysisPeriod period = entry.getValue()[analysisPeriod];
            for (int i = 0; i < period.qwds.length; i++) {
                QWD qwd = period.qwds[i];
                dates.add(qwd.date);
            }
        }
        return dates;
    }

    public KMIndex<AnalysisPeriod []> getAnalysisPeriods() {
        return analysisPeriods;
    }

    public void setAnalysisPeriods(KMIndex<AnalysisPeriod []> analysisPeriods) {
        this.analysisPeriods = analysisPeriods;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org