diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixAnalysisCompute.java @ 9082:42c15e2f95fb

2.3.4.1.4 Wasserstand falsche Einheit FixAnalysis PDF start
author gernotbelger
date Fri, 25 May 2018 10:44:24 +0200
parents 5e38e2924c07
children ddcd52d239cd
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixAnalysisCompute.java	Fri May 25 09:10:19 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixAnalysisCompute.java	Fri May 25 10:44:24 2018 +0200
@@ -14,7 +14,6 @@
 import java.util.List;
 
 import org.apache.log4j.Logger;
-
 import org.dive4elements.artifactdatabase.state.Facet;
 import org.dive4elements.artifactdatabase.state.FacetActivity;
 import org.dive4elements.artifacts.Artifact;
@@ -49,15 +48,11 @@
 /**
  * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
  */
-public class FixAnalysisCompute
-extends      DefaultState
-implements   FacetTypes
-{
+public class FixAnalysisCompute extends DefaultState implements FacetTypes {
     /** The log used in this class. */
     private static Logger log = Logger.getLogger(FixAnalysisCompute.class);
 
-    private static final String I18N_REFERENCEPERIOD_SHORT =
-        "fix.reference.period.event.short";
+    private static final String I18N_REFERENCEPERIOD_SHORT = "fix.reference.period.event.short";
 
     private static final String I18N_ANALYSISPERIODS = "fix.analysis.periods";
 
@@ -69,84 +64,54 @@
 
     private static final String I18N_DEVIATION = "fix.deviation";
 
-    private static final String I18N_REFERENCEDEVIATION =
-        "fix.reference.deviation";
-
-    private static final String I18N_REFERENCEPERIOD =
-        "state.fix.analysis.referenceperiod";
+    private static final String I18N_REFERENCEDEVIATION = "fix.reference.deviation";
 
-    public static final String [] SECTOR_LABELS = {
-        "fix.mnq",
-        "fix.mq",
-        "fix.mhq",
-        "fix.hq5"
-    };
+    private static final String I18N_REFERENCEPERIOD = "state.fix.analysis.referenceperiod";
+
+    public static final String[] SECTOR_LABELS = { "fix.mnq", "fix.mq", "fix.mhq", "fix.hq5" };
 
     static {
         // Active/deactivate facets.
-        FacetActivity.Registry.getInstance().register(
-            "fixanalysis",
-            new FacetActivity() {
-                @Override
-                public Boolean isInitialActive(
-                    Artifact artifact,
-                    Facet    facet,
-                    String   output
-                ) {
-                    if (
-                        output.contains(FacetTypes.ChartType.FLSC.toString())
-                    ) {
-                        // Longitudinal section chart
-                        String name = facet.getName();
+        FacetActivity.Registry.getInstance().register("fixanalysis", new FacetActivity() {
+            @Override
+            public Boolean isInitialActive(final Artifact artifact, final Facet facet, final String output) {
+                if (output.contains(FacetTypes.ChartType.FLSC.toString())) {
+                    // Longitudinal section chart
+                    final String name = facet.getName();
 
-                        if (name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_DWT)
-                         || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_LS)
-                         || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_WQ)
-                         || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_DWT)
-                         || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_LS)
-                         || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_WQ)
-                        ) {
-                            return Boolean.FALSE;
-                        }
-                    }
-                    if (output.contains(FacetTypes.ChartType.FDWC.toString())
-                        && facet.getName().contains(
-                            FacetTypes.FIX_SECTOR_AVERAGE_DWT)) {
+                    if (name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_DWT) || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_LS)
+                            || name.contains(FacetTypes.FIX_ANALYSIS_EVENTS_WQ) || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_DWT)
+                            || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_LS) || name.contains(FacetTypes.FIX_REFERENCE_EVENTS_WQ)) {
                         return Boolean.FALSE;
                     }
-
-                    return Boolean.TRUE;
                 }
-            });
+                if (output.contains(FacetTypes.ChartType.FDWC.toString()) && facet.getName().contains(FacetTypes.FIX_SECTOR_AVERAGE_DWT)) {
+                    return Boolean.FALSE;
+                }
+
+                return Boolean.TRUE;
+            }
+        });
     }
 
-
     /**
      * The default constructor that initializes an empty State object.
      */
     public FixAnalysisCompute() {
     }
 
-
     @Override
-    public Object computeAdvance(
-        D4EArtifact artifact,
-        String       hash,
-        CallContext  context,
-        List<Facet>  facets,
-        Object       old
-    ) {
+    public Object computeAdvance(final D4EArtifact artifact, final String hash, final CallContext context, final List<Facet> facets, final Object old) {
         log.debug("FixAnalysisCompute.computeAdvance");
 
         CalculationResult res;
 
-        FixAnalysisAccess access = new FixAnalysisAccess(artifact);
+        final FixAnalysisAccess access = new FixAnalysisAccess(artifact);
 
         if (old instanceof CalculationResult) {
-            res = (CalculationResult)old;
-        }
-        else {
-            FixAnalysisCalculation calc = new FixAnalysisCalculation(access);
+            res = (CalculationResult) old;
+        } else {
+            final FixAnalysisCalculation calc = new FixAnalysisCalculation(access);
             res = calc.calculate();
         }
 
@@ -155,40 +120,35 @@
         }
 
         if (res.getReport().hasProblems()) {
-            facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
+            facets.add(new ReportFacet(ComputeType.ADVANCE, hash, this.id));
         }
 
-        FixAnalysisResult fr = (FixAnalysisResult)res.getData();
+        final FixAnalysisResult fr = (FixAnalysisResult) res.getData();
         if (fr == null) {
             return res;
         }
 
-        facets.add(
-            new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
-        facets.add(
-            new DataFacet(
-                FIX_PARAMETERS, "parameters", ComputeType.ADVANCE, hash, id));
-        facets.add(
-            new DataFacet(AT, "AT data", ComputeType.ADVANCE, hash, id));
+        facets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, this.id));
+        facets.add(new DataFacet(FIX_PARAMETERS, "parameters", ComputeType.ADVANCE, hash, this.id));
+        facets.add(new DataFacet(AT, "AT data", ComputeType.ADVANCE, hash, this.id));
+        facets.add(new DataFacet(PDF, "PDF data", ComputeType.ADVANCE, hash, this.id));
 
         int maxId = -100;
 
-        int sectorMask = fr.getUsedSectorsInAnalysisPeriods();
-
-        int qsS = access.getQSectorStart();
-        int qsE = access.getQSectorEnd();
+        final int sectorMask = fr.getUsedSectorsInAnalysisPeriods();
 
-        DateFormat df = Formatter.getDateFormatter(
-            context.getMeta(), "dd.MM.yyyy");
-        DateFormat lf = Formatter.getDateFormatter(
-            context.getMeta(), "dd.MM.yyyy'T'HH:mm");
+        final int qsS = access.getQSectorStart();
+        final int qsE = access.getQSectorEnd();
 
-        DateRange [] periods = access.getAnalysisPeriods();
+        final DateFormat df = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy");
+        final DateFormat lf = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy'T'HH:mm");
+
+        final DateRange[] periods = access.getAnalysisPeriods();
 
         for (int i = 0; i < periods.length; i++) {
-            DateRange period = periods[i];
-            String startDate = df.format(period.getFrom());
-            String endDate   = df.format(period.getTo());
+            final DateRange period = periods[i];
+            final String startDate = df.format(period.getFrom());
+            final String endDate = df.format(period.getTo());
 
             for (int j = qsS; j <= qsE; j++) {
 
@@ -197,14 +157,10 @@
                     continue;
                 }
 
-                String sector = SECTOR_LABELS[j];
-                String description = "\u0394W (" +
-                    Resources.getMsg(context.getMeta(),
-                        sector,
-                        sector) +
-                        ")";
+                final String sector = SECTOR_LABELS[j];
+                final String description = "\u0394W (" + Resources.getMsg(context.getMeta(), sector, sector) + ")";
 
-                int sectorNdx = j - qsS;
+                final int sectorNdx = j - qsS;
                 int facetNdx = i << 2;
                 facetNdx = facetNdx | j;
 
@@ -212,139 +168,75 @@
                     maxId = facetNdx;
                 }
 
+                facets.add(new FixAvSectorFacet(facetNdx, FIX_SECTOR_AVERAGE_DWT + "_" + sectorNdx, description));
                 facets.add(
-                    new FixAvSectorFacet(
-                        facetNdx,
-                        FIX_SECTOR_AVERAGE_DWT + "_" + sectorNdx,
-                        description));
-                facets.add(
-                    new FixLongitudinalAvSectorFacet(
-                        facetNdx,
-                        FIX_SECTOR_AVERAGE_LS + "_" + sectorNdx,
-                        description + ":" + startDate + " - " + endDate));
+                        new FixLongitudinalAvSectorFacet(facetNdx, FIX_SECTOR_AVERAGE_LS + "_" + sectorNdx, description + ":" + startDate + " - " + endDate));
                 // TODO: i18n
-                String dev = "Abweichung: " + description;
-                facets.add(
-                    new FixLongitudinalAvSectorFacet(
-                        facetNdx,
-                        FIX_SECTOR_AVERAGE_LS_DEVIATION + "_" + sectorNdx,
-                        dev));
-                facets.add(
-                    new FixAvSectorFacet(
-                        facetNdx,
-                        FIX_SECTOR_AVERAGE_WQ + "_" + sectorNdx,
-                        description));
+                final String dev = "Abweichung: " + description;
+                facets.add(new FixLongitudinalAvSectorFacet(facetNdx, FIX_SECTOR_AVERAGE_LS_DEVIATION + "_" + sectorNdx, dev));
+                facets.add(new FixAvSectorFacet(facetNdx, FIX_SECTOR_AVERAGE_WQ + "_" + sectorNdx, description));
 
             }
 
-            String eventDesc =
-                Resources.getMsg(context.getMeta(),
-                                 I18N_ANALYSIS,
-                                 I18N_ANALYSIS);
+            final String eventDesc = Resources.getMsg(context.getMeta(), I18N_ANALYSIS, I18N_ANALYSIS);
 
-            Collection<Date> aeds = fr.getAnalysisEventsDates(i);
-            UniqueDateFormatter cf = new UniqueDateFormatter(df, lf, aeds);
+            final Collection<Date> aeds = fr.getAnalysisEventsDates(i);
+            final UniqueDateFormatter cf = new UniqueDateFormatter(df, lf, aeds);
 
             int k = 0;
-            for (Date d: aeds) {
+            for (final Date d : aeds) {
                 int anaNdx = i << 8;
                 anaNdx = anaNdx | k;
-                facets.add(new FixAnalysisEventsFacet(anaNdx,
-                    FIX_ANALYSIS_EVENTS_DWT,
-                    eventDesc + (i+1) + " - " + cf.format(d)));
-                facets.add(new FixLongitudinalAnalysisFacet(anaNdx,
-                    FIX_ANALYSIS_EVENTS_LS,
-                    eventDesc + (i+1) + " - " + cf.format(d)));
-                facets.add(new FixAnalysisEventsFacet(anaNdx,
-                    FIX_ANALYSIS_EVENTS_WQ,
-                    eventDesc + (i+1) +" - " + cf.format(d)));
+                facets.add(new FixAnalysisEventsFacet(anaNdx, FIX_ANALYSIS_EVENTS_DWT, eventDesc + (i + 1) + " - " + cf.format(d)));
+                facets.add(new FixLongitudinalAnalysisFacet(anaNdx, FIX_ANALYSIS_EVENTS_LS, eventDesc + (i + 1) + " - " + cf.format(d)));
+                facets.add(new FixAnalysisEventsFacet(anaNdx, FIX_ANALYSIS_EVENTS_WQ, eventDesc + (i + 1) + " - " + cf.format(d)));
                 k++;
             }
         }
 
-        IdGenerator idg = new IdGenerator(maxId + 1);
+        final IdGenerator idg = new IdGenerator(maxId + 1);
 
-        String i18n_ref = Resources.getMsg(context.getMeta(),
-                I18N_REFERENCEPERIOD_SHORT,
-                I18N_REFERENCEPERIOD_SHORT);
-        String i18n_dev = Resources.getMsg(context.getMeta(),
-                I18N_REFERENCEDEVIATION,
-                I18N_REFERENCEDEVIATION);
+        final String i18n_ref = Resources.getMsg(context.getMeta(), I18N_REFERENCEPERIOD_SHORT, I18N_REFERENCEPERIOD_SHORT);
+        final String i18n_dev = Resources.getMsg(context.getMeta(), I18N_REFERENCEDEVIATION, I18N_REFERENCEDEVIATION);
 
-        Collection<Date> reds = fr.getReferenceEventsDates();
-        UniqueDateFormatter cf = new UniqueDateFormatter(df, lf, reds);
+        final Collection<Date> reds = fr.getReferenceEventsDates();
+        final UniqueDateFormatter cf = new UniqueDateFormatter(df, lf, reds);
 
         int i = 0;
-        for (Date d: reds) {
+        for (final Date d : reds) {
             int refNdx = idg.next() << 8;
-            refNdx |=  i;
-            facets.add(new FixReferenceEventsFacet(refNdx,
-                FIX_REFERENCE_EVENTS_DWT,
-                i18n_ref + " - " + cf.format(d)));
+            refNdx |= i;
+            facets.add(new FixReferenceEventsFacet(refNdx, FIX_REFERENCE_EVENTS_DWT, i18n_ref + " - " + cf.format(d)));
             refNdx = idg.next() << 8;
             refNdx = refNdx | i;
-            facets.add(new FixLongitudinalReferenceFacet(refNdx,
-                FIX_REFERENCE_EVENTS_LS,
-                i18n_ref + " - " + cf.format(d)));
+            facets.add(new FixLongitudinalReferenceFacet(refNdx, FIX_REFERENCE_EVENTS_LS, i18n_ref + " - " + cf.format(d)));
             refNdx = idg.next() << 8;
             refNdx |= i;
-            facets.add(new FixReferenceEventsFacet(refNdx,
-                FIX_REFERENCE_EVENTS_WQ,
-                i18n_ref + " - " + cf.format(d)));
+            facets.add(new FixReferenceEventsFacet(refNdx, FIX_REFERENCE_EVENTS_WQ, i18n_ref + " - " + cf.format(d)));
             i++;
         }
 
-        facets.add(new FixLongitudinalDeviationFacet(idg.next(),
-            FIX_DEVIATION_LS,
-            i18n_dev));
+        facets.add(new FixLongitudinalDeviationFacet(idg.next(), FIX_DEVIATION_LS, i18n_dev));
 
-        String i18n_ana = Resources.getMsg(context.getMeta(),
-                I18N_ANALYSISPERIODS,
-                I18N_ANALYSISPERIODS);
-        facets.add(new FixAnalysisPeriodsFacet(idg.next(),
-            FIX_ANALYSIS_PERIODS_DWT,
-            i18n_ana));
-        facets.add(new FixAnalysisPeriodsFacet(idg.next(),
-            FIX_ANALYSIS_PERIODS_LS,
-            i18n_ana));
-        facets.add(new FixAnalysisPeriodsFacet(idg.next(),
-            FIX_ANALYSIS_PERIODS_WQ,
-            i18n_ana));
+        final String i18n_ana = Resources.getMsg(context.getMeta(), I18N_ANALYSISPERIODS, I18N_ANALYSISPERIODS);
+        facets.add(new FixAnalysisPeriodsFacet(idg.next(), FIX_ANALYSIS_PERIODS_DWT, i18n_ana));
+        facets.add(new FixAnalysisPeriodsFacet(idg.next(), FIX_ANALYSIS_PERIODS_LS, i18n_ana));
+        facets.add(new FixAnalysisPeriodsFacet(idg.next(), FIX_ANALYSIS_PERIODS_WQ, i18n_ana));
 
-        String i18n_refp = Resources.getMsg(context.getMeta(),
-                I18N_REFERENCEPERIOD,
-                I18N_REFERENCEPERIOD);
-        facets.add(new DataFacet(idg.next(),
-            FIX_REFERENCE_PERIOD_DWT,
-            i18n_refp,
-            ComputeType.ADVANCE, null, null));
+        final String i18n_refp = Resources.getMsg(context.getMeta(), I18N_REFERENCEPERIOD, I18N_REFERENCEPERIOD);
+        facets.add(new DataFacet(idg.next(), FIX_REFERENCE_PERIOD_DWT, i18n_refp, ComputeType.ADVANCE, null, null));
 
         facets.add(new FixWQCurveFacet(idg.next(), "W/Q"));
 
-        Boolean preprocessing = access.getPreprocessing();
+        final Boolean preprocessing = access.getPreprocessing();
 
         if (preprocessing != null && preprocessing) {
-            facets.add(new FixOutlierFacet(
-                idg.next(),
-                FIX_OUTLIER,
-                Resources.getMsg(
-                    context.getMeta(), I18N_OUTLIER, I18N_OUTLIER)));
+            facets.add(new FixOutlierFacet(idg.next(), FIX_OUTLIER, Resources.getMsg(context.getMeta(), I18N_OUTLIER, I18N_OUTLIER)));
         }
 
-        facets.add(new FixDerivateFacet(
-            idg.next(),
-            FIX_DERIVATE_CURVE,
-            Resources.getMsg(
-                context.getMeta(),
-                I18N_DERIVATIVE,
-                I18N_DERIVATIVE)));
+        facets.add(new FixDerivateFacet(idg.next(), FIX_DERIVATE_CURVE, Resources.getMsg(context.getMeta(), I18N_DERIVATIVE, I18N_DERIVATIVE)));
 
-        facets.add(new FixDeviationFacet(
-            idg.next(),
-            FIX_DEVIATION_DWT,
-            Resources.getMsg(context.getMeta(),
-                I18N_DEVIATION,
-                I18N_DEVIATION)));
+        facets.add(new FixDeviationFacet(idg.next(), FIX_DEVIATION_DWT, Resources.getMsg(context.getMeta(), I18N_DEVIATION, I18N_DEVIATION)));
         return res;
     }
 }

http://dive4elements.wald.intevation.org