Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java @ 3729:e727e3ebdf85
Factored out a pure QW model to be more reusable.
flys-artifacts/trunk@5402 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 08 Sep 2012 14:19:40 +0000 |
parents | f3fc8d49d741 |
children | 487a8cb4a222 |
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<QWI []> 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 :