Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java @ 3610:66f539df4e8b
Issue 716.
FixA: Spilt reference and analysis period themes into one theme for each event.
flys-artifacts/trunk@5239 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 23 Aug 2012 08:49:37 +0000 |
parents | 659c1111db13 |
children | 487a8cb4a222 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java Wed Aug 22 14:51:19 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java Thu Aug 23 08:49:37 2012 +0000 @@ -1,45 +1,40 @@ package de.intevation.flys.artifacts.states.fixation; +import java.text.DateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.TreeSet; + +import org.apache.log4j.Logger; + import de.intevation.artifactdatabase.state.Facet; - import de.intevation.artifacts.CallContext; - import de.intevation.flys.artifacts.FLYSArtifact; - import de.intevation.flys.artifacts.access.FixAnalysisAccess; - import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.DataFacet; import de.intevation.flys.artifacts.model.DateRange; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.ReportFacet; - +import de.intevation.flys.artifacts.model.fixings.FixAnalysisCalculation; import de.intevation.flys.artifacts.model.fixings.FixAnalysisEventsFacet; import de.intevation.flys.artifacts.model.fixings.FixAnalysisPeriodsFacet; +import de.intevation.flys.artifacts.model.fixings.FixAnalysisResult; import de.intevation.flys.artifacts.model.fixings.FixAvSectorFacet; -import de.intevation.flys.artifacts.model.fixings.FixAnalysisCalculation; import de.intevation.flys.artifacts.model.fixings.FixDerivateFacet; import de.intevation.flys.artifacts.model.fixings.FixDeviationFacet; import de.intevation.flys.artifacts.model.fixings.FixLongitudinalAnalysisFacet; +import de.intevation.flys.artifacts.model.fixings.FixLongitudinalAvSectorFacet; import de.intevation.flys.artifacts.model.fixings.FixLongitudinalDeviationFacet; import de.intevation.flys.artifacts.model.fixings.FixLongitudinalReferenceFacet; import de.intevation.flys.artifacts.model.fixings.FixOutlierFacet; import de.intevation.flys.artifacts.model.fixings.FixReferenceEventsFacet; -import de.intevation.flys.artifacts.model.fixings.FixAnalysisResult; import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; - import de.intevation.flys.artifacts.resources.Resources; - import de.intevation.flys.artifacts.states.DefaultState; - import de.intevation.flys.utils.IdGenerator; -import java.text.DateFormat; - -import java.util.List; - -import org.apache.log4j.Logger; - /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ @@ -50,7 +45,7 @@ /** The log used in this class. */ private static Logger log = Logger.getLogger(FixAnalysisCompute.class); - private static final String I18N_REFERENCEPERIOD = "fix.reference.period.events"; + private static final String I18N_REFERENCEPERIOD = "fix.reference.period.event.short"; private static final String I18N_ANALYSISPERIODS = "fix.analysis.periods"; @@ -58,7 +53,7 @@ private static final String I18N_OUTLIER = "fix.outlier"; - private static final String I18N_ANALYSIS = "fix.analysis"; + private static final String I18N_ANALYSIS = "fix.analysis.short"; private static final String I18N_DEVIATION = "fix.deviation"; @@ -109,7 +104,6 @@ } FixAnalysisResult fr = (FixAnalysisResult)res.getData(); - if (fr == null) { return res; } @@ -165,14 +159,14 @@ FIX_SECTOR_AVERAGE_DWT + "_" + sectorNdx, description)); facets.add( - new FixLongitudinalAnalysisFacet( + new FixLongitudinalAvSectorFacet( facetNdx, FIX_SECTOR_AVERAGE_LS + "_" + sectorNdx, description)); // TODO: i18n String dev = "Abweichung: " + description; facets.add( - new FixLongitudinalAnalysisFacet( + new FixLongitudinalAvSectorFacet( facetNdx, FIX_SECTOR_AVERAGE_LS_DEVIATION + "_" + sectorNdx, dev)); @@ -187,17 +181,23 @@ String eventDesc = Resources.getMsg(context.getMeta(), I18N_ANALYSIS, - I18N_ANALYSIS) + - ": " + startDate + " - " + endDate; - facets.add(new FixAnalysisEventsFacet(i, - FIX_ANALYSIS_EVENTS_DWT, - eventDesc)); - facets.add(new FixLongitudinalAnalysisFacet(i, - FIX_ANALYSIS_EVENTS_LS, - eventDesc)); - facets.add(new FixAnalysisEventsFacet(i, - FIX_ANALYSIS_EVENTS_WQ, - eventDesc)); + I18N_ANALYSIS); + + int k = 0; + for (Date d: fr.getAnalysisEventsDates(i)) { + int anaNdx = i << 8; + anaNdx = anaNdx | k; + facets.add(new FixAnalysisEventsFacet(anaNdx, + FIX_ANALYSIS_EVENTS_DWT, + eventDesc + (i+1) + " - " + df.format(d))); + facets.add(new FixLongitudinalAnalysisFacet(anaNdx, + FIX_ANALYSIS_EVENTS_LS, + eventDesc + (i+1) + " - " + df.format(d))); + facets.add(new FixAnalysisEventsFacet(anaNdx, + FIX_ANALYSIS_EVENTS_WQ, + eventDesc + (i+1) +" - " + df.format(d))); + k++; + } } IdGenerator idg = new IdGenerator(maxId + 1); @@ -209,16 +209,29 @@ I18N_REFERENCEDEVIATION, I18N_REFERENCEDEVIATION); + TreeSet<Date> dates = fr.getReferenceEventsDates(); + Iterator<Date> iter = dates.iterator(); + int i = 0; + while (iter.hasNext()) { + Date d = iter.next(); + int refNdx = idg.next() << 8; + refNdx |= i; + facets.add(new FixReferenceEventsFacet(refNdx, + FIX_REFERENCE_EVENTS_DWT, + i18n_ref + " - " + df.format(d))); + refNdx = idg.next() << 8; + refNdx = refNdx | i; + facets.add(new FixLongitudinalReferenceFacet(refNdx, + FIX_REFERENCE_EVENTS_LS, + i18n_ref + " - " + df.format(d))); + refNdx = idg.next() << 8; + refNdx |= i; + facets.add(new FixReferenceEventsFacet(refNdx, + FIX_REFERENCE_EVENTS_WQ, + i18n_ref + " - " + df.format(d))); + i++; + } - facets.add(new FixReferenceEventsFacet(idg.next(), - FIX_REFERENCE_EVENTS_DWT, - i18n_ref)); - facets.add(new FixLongitudinalReferenceFacet(idg.next(), - FIX_REFERENCE_EVENTS_LS, - i18n_ref)); - facets.add(new FixReferenceEventsFacet(idg.next(), - FIX_REFERENCE_EVENTS_WQ, - i18n_ref)); facets.add(new FixLongitudinalDeviationFacet(idg.next(), FIX_DEVIATION_LS,