diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationInfrastructureFacet.java @ 9612:f8308db94634

#20 UI, Diagramme
author dnt_bjoernsen <d.tironi@bjoernsen.de>
date Wed, 09 Oct 2019 16:17:16 +0200
parents f318359b81a2
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationInfrastructureFacet.java	Wed Oct 09 15:58:46 2019 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationInfrastructureFacet.java	Wed Oct 09 16:17:16 2019 +0200
@@ -17,6 +17,7 @@
 import org.dive4elements.artifacts.Artifact;
 import org.dive4elements.artifacts.CallContext;
 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.states.DefaultState.ComputeType;
 import org.dive4elements.river.exports.fixings.FixChartGenerator;
@@ -24,28 +25,32 @@
 import org.dive4elements.river.jfree.StickyAxisAnnotation;
 import org.dive4elements.river.model.Attribute.AttributeKey;
 
-
 /**
  * Facet to show W and Q annotation lines of an infrastructure height.
  */
 public class FloodDurationInfrastructureFacet extends DefaultFacet {
 
+    private static final long serialVersionUID = 1L;
+
     /** Own log. */
     private static Logger log = Logger.getLogger(FloodDurationInfrastructureFacet.class);
 
-    private final AttributeKey riverBankKey;
-
     private final boolean isW;
 
-    public FloodDurationInfrastructureFacet(final String name, final String description, final AttributeKey riverside, final boolean isW) {
+    private final int m_resultIndex;
+
+    private final AttributeKey m_riverside;
+
+    public FloodDurationInfrastructureFacet(final String name, final boolean isW, final int resultIndex, final AttributeKey attributeKey, final int facetIndex,
+            final String description) {
         this.description = description;
         this.name = name;
-        this.index = 0;
-        this.riverBankKey = riverside;
+        this.index = facetIndex;
+        this.m_riverside = attributeKey;
         this.isW = isW;
+        this.m_resultIndex = resultIndex;
     }
 
-
     /**
      * Returns the data this facet requires.
      */
@@ -60,24 +65,28 @@
 
         final FloodDurationCalculationResults data = (FloodDurationCalculationResults) res.getData();
 
+        final FloodDurationCalculationResult result = data.getResults().get(this.m_resultIndex);
+
         final double currentKm = FixChartGenerator.getCurrentKm(context);
 
-        final List<StickyAxisAnnotation> annotations = new FloodDurationCalculation(context).calcInfrastructureAnnotations(currentKm,
-                this.riverBankKey, this.isW, data.getResults().get(this.index));
+        final Calculation problems = new Calculation();
+
+        final FacetCalculator calculator = new FacetCalculator(context);
+        final List<StickyAxisAnnotation> annotations = calculator.calcInfrastructureAnnotations(problems, currentKm, this.isW, result, this.m_riverside);
 
         return new RiverAnnotation(this.description, annotations);
     }
 
-
     /**
      * Create a deep copy of this Facet.
+     *
      * @return a deep copy.
      */
     @Override
     public FloodDurationInfrastructureFacet deepCopy() {
-        final FloodDurationInfrastructureFacet copy = new FloodDurationInfrastructureFacet(this.name, this.description, this.riverBankKey, this.isW);
+        final FloodDurationInfrastructureFacet copy = new FloodDurationInfrastructureFacet(this.name, this.isW, this.m_resultIndex, this.m_riverside,
+                this.index, this.description);
         copy.set(this);
         return copy;
     }
 }
-

http://dive4elements.wald.intevation.org