diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveProcessor.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 26e113e8224f
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveProcessor.java	Wed Oct 09 15:58:46 2019 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveProcessor.java	Wed Oct 09 16:17:16 2019 +0200
@@ -17,6 +17,8 @@
 import org.dive4elements.artifacts.CallContext;
 import org.dive4elements.river.artifacts.common.AbstractCalculationResult;
 import org.dive4elements.river.artifacts.model.FacetTypes;
+import org.dive4elements.river.artifacts.resources.Resources;
+import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult.Infrastructure;
 import org.dive4elements.river.exports.DiagramGenerator;
 import org.dive4elements.river.exports.DurationCurveGenerator;
 import org.dive4elements.river.exports.process.DefaultProcessor;
@@ -83,25 +85,53 @@
     }
 
     public static Facet createMainValuesQFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
-            final int facetIndex, final int resultIndex, final String description) {
+            final int facetIndex, final int resultIndex, final String description, final Infrastructure infrastructure) {
 
-        return new FloodDurationMainValuesQFacet(FACET_FLOOD_DURATION_MAINVALUES_Q, description);
+        return new FloodDurationMainValuesQFacet(FACET_FLOOD_DURATION_MAINVALUES_Q, description, facetIndex, infrastructure);
     }
 
     public static Facet createInfrastructureFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
-            final int facetIndex, final int resultIndex, final String description, final AttributeKey riverside, final boolean isW) {
+            final int facetIndex, final int resultIndex, final boolean isW, final AttributeKey riverside) {
 
-        if (riverside == AttributeKey.LEFT) {
+        final String description = getLabel(context, isW, riverside);
+        final String facetName = getFacetName(riverside, isW);
+
+        return new FloodDurationInfrastructureFacet(facetName, isW, resultIndex, riverside, facetIndex, description);
+    }
+
+    private static String getFacetName(final AttributeKey riverside, final boolean isW) {
+        switch (riverside) {
+        case LEFT:
             if (isW)
-                return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE_W_LEFT, description, riverside, isW);
+                return FACET_FLOOD_DURATION_INFRASTRUCTURE_W_LEFT;
             else
-                return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE_Q_LEFT, description, riverside, isW);
+                return FACET_FLOOD_DURATION_INFRASTRUCTURE_Q_LEFT;
+
+        case RIGHT:
+            if (isW)
+                return FACET_FLOOD_DURATION_INFRASTRUCTURE_W_RIGHT;
+            else
+                return FACET_FLOOD_DURATION_INFRASTRUCTURE_Q_RIGHT;
+        default:
+            throw new IllegalStateException();
         }
-        else {
+    }
+
+    private static String getLabel(final CallContext context, final boolean isW, final AttributeKey riverside) {
+        switch (riverside) {
+        case LEFT:
             if (isW)
-                return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE_W_RIGHT, description, riverside, isW);
+                return Resources.getMsg(context.getMeta(), "sinfo_facet_flood_duration_curve.infra.w.left.description");
             else
-                return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE_Q_RIGHT, description, riverside, isW);
+                return Resources.getMsg(context.getMeta(), "sinfo_facet_flood_duration_curve.infra.q.left.description");
+        case RIGHT:
+            if (isW)
+                return Resources.getMsg(context.getMeta(), "sinfo_facet_flood_duration_curve.infra.w.right.description");
+            else
+                return Resources.getMsg(context.getMeta(), "sinfo_facet_flood_duration_curve.infra.q.right.description");
+
+        default:
+            throw new IllegalStateException();
         }
     }
 

http://dive4elements.wald.intevation.org