diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java @ 9426:b6e595f1696f

Activated cross section output mode for salix line and implemented some themes preliminary.
author gernotbelger
date Fri, 17 Aug 2018 15:31:16 +0200
parents 6f7e92c16050
children bd5f5d2220fa
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java	Fri Aug 17 15:31:02 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineState.java	Fri Aug 17 15:31:16 2018 +0200
@@ -17,6 +17,7 @@
 import org.dive4elements.river.artifacts.D4EArtifact;
 import org.dive4elements.river.artifacts.model.Calculation;
 import org.dive4elements.river.artifacts.model.CalculationResult;
+import org.dive4elements.river.artifacts.model.CrossSectionWaterLineFacet;
 import org.dive4elements.river.artifacts.model.DataFacet;
 import org.dive4elements.river.artifacts.model.EmptyFacet;
 import org.dive4elements.river.artifacts.model.FacetTypes;
@@ -48,7 +49,7 @@
             return null;
         }
 
-        return compute((UINFOArtifact) artifact, context, hash, facets, old);
+        return compute((UINFOArtifact) artifact, context, ComputeType.FEED, hash, facets, old);
     }
 
     @Override
@@ -57,7 +58,7 @@
             facets.add(new EmptyFacet());
             return null;
         }
-        return compute((UINFOArtifact) artifact, context, hash, facets, old);
+        return compute((UINFOArtifact) artifact, context, ComputeType.ADVANCE, hash, facets, old);
     }
 
     /**
@@ -66,7 +67,8 @@
      * @param old
      *            Object that was cached.
      */
-    private Object compute(final UINFOArtifact uinfo, final CallContext context, final String hash, final List<Facet> facets, final Object old) {
+    private Object compute(final UINFOArtifact uinfo, final CallContext context, final ComputeType type, final String hash, final List<Facet> facets,
+            final Object old) {
 
         final CalculationResult res = doCompute(uinfo, context, old);
 
@@ -77,14 +79,18 @@
 
         final List<SalixLineCalculationResult> resultList = results.getResults();
 
+        final String stateId = getID();
+
         int facetIndex = 0;
 
         if (!resultList.isEmpty()) {
-            facets.add(SalixLineProcessor.createSalixLineFilteredFacet(context, hash, this.id, facetIndex++, 0));
-            facets.add(SalixLineProcessor.createSalixLineRawFacet(context, hash, this.id, facetIndex++, 0));
-            facets.add(SalixLineProcessor.createSalixMnwMwFilteredFacet(context, hash, this.id, facetIndex++, 0));
-            facets.add(SalixLineProcessor.createSalixMnwMwRawFacet(context, hash, this.id, facetIndex++, 0));
-            facets.add(SalixLineProcessor.createSalixRankFacet(context, hash, this.id, facetIndex++, 0));
+            facets.add(SalixLineProcessor.createSalixLineFilteredFacet(context, hash, stateId, facetIndex++, 0));
+            facets.add(SalixLineProcessor.createSalixLineRawFacet(context, hash, stateId, facetIndex++, 0));
+            facets.add(SalixLineProcessor.createSalixMnwMwFilteredFacet(context, hash, stateId, facetIndex++, 0));
+            facets.add(SalixLineProcessor.createSalixMnwMwRawFacet(context, hash, stateId, facetIndex++, 0));
+            facets.add(SalixLineProcessor.createSalixRankFacet(context, hash, stateId, facetIndex++, 0));
+
+            facets.add(new CrossSectionWaterLineFacet(facetIndex++, "Salix Linie (!I10N!)", type, hash, stateId, SalixLineCrossSectionIndexData.salixLine()));
 
             final SalixLineCalculationResult result = resultList.get(0);
 
@@ -93,12 +99,17 @@
                         result.getScenarioLabel(i));
                 // REMARK: using data index as facetIndex, as we know there is only one result of this type. Else we should just
                 // increment
-                facets.add(SalixLineProcessor.createSalixScenarioFilteredFacet(context, hash, this.id, i, 0, facetIndex++, sublabel));
-                facets.add(SalixLineProcessor.createSalixScenarioRawFacet(context, hash, this.id, i, 0, facetIndex++, sublabel));
+                facets.add(SalixLineProcessor.createSalixScenarioFilteredFacet(context, hash, stateId, i, 0, facetIndex++, sublabel));
+                facets.add(SalixLineProcessor.createSalixScenarioRawFacet(context, hash, stateId, i, 0, facetIndex++, sublabel));
+
+                facets.add(new CrossSectionWaterLineFacet(facetIndex++, "Salix Linie Scenario (!I10N! )" + i, type, hash, stateId,
+                        SalixLineCrossSectionIndexData.scenario(i)));
             }
 
-            final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id);
-            final Facet pdf = new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, this.id);
+            // FIXME: add cross section wst lines (MW, MMHW, ...)
+
+            final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, stateId);
+            final Facet pdf = new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, stateId);
 
             facets.add(csv);
             facets.add(pdf);
@@ -107,7 +118,7 @@
         final Calculation report = res.getReport();
 
         if (report.hasProblems())
-            facets.add(new ReportFacet(ComputeType.ADVANCE, hash, this.id));
+            facets.add(new ReportFacet(ComputeType.ADVANCE, hash, stateId));
 
         return res;
     }

http://dive4elements.wald.intevation.org