diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java @ 9481:787fc085459b

TSV introduced; uinfo.inundationWMS-Config
author gernotbelger
date Wed, 12 Sep 2018 10:55:09 +0200
parents bc9a45d2b1fa
children bf6b63208f34
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java	Mon Sep 10 17:06:23 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java	Wed Sep 12 10:55:09 2018 +0200
@@ -11,17 +11,12 @@
 
 import java.util.List;
 
-import org.apache.commons.lang.math.DoubleRange;
 import org.dive4elements.artifacts.CallContext;
-import org.dive4elements.river.artifacts.access.RiverAccess;
 import org.dive4elements.river.artifacts.model.Calculation;
 import org.dive4elements.river.artifacts.model.CalculationResult;
-import org.dive4elements.river.artifacts.resources.Resources;
-import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils;
-import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
+import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationCalculationResult.WmsLayer;
 import org.dive4elements.river.artifacts.uinfo.vegetationzones.VegetationZoneServerClientXChange;
-import org.dive4elements.river.model.River;
 
 /**
  * @author Domenico Nardi Tironi
@@ -38,42 +33,33 @@
     public CalculationResult calculate(final UINFOArtifact uinfo) {
         final Calculation problems = new Calculation();
 
-        final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name());
-        final String user = CalculationUtils.findArtifactUser(this.context, uinfo);
-
-        final RiverAccess access = new RiverAccess(uinfo);
+        final InundationDurationAccess indurax = new InundationDurationAccess(uinfo);
 
-        final InundationDurationAccess indurax = new InundationDurationAccess(uinfo);
-        final River river = indurax.getRiver();
-        final RiverInfo riverInfo = new RiverInfo(river);
-        final DoubleRange calcRange = indurax.getRange();
-        final String url = indurax.getWMSUrl();
-        final Integer year = indurax.getYear(); // null bei year -> Integer
         final String zonesRaw = indurax.getVegZones();
         final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(zonesRaw);
-        final String scenarioUrl = indurax.getWMSScenarioUrl();
-        final String scenarioStr = String.valueOf(indurax.getDwspl());
+
+        final boolean isUseScenario = indurax.getIsUseScenario();
+
+        final InundationDurationCalculationResult result = new InundationDurationCalculationResult();
+
+        final WmsLayer inundationDurationLayer = indurax.createWMSLayer(this.context.getMeta(), "uinfo.export.url.inundationduration.inundationduration");
+        result.addLayer(inundationDurationLayer);
 
         // TODO: add vegetationzone-values as parameter to url and use this url as veg'zone'url
-
-        final boolean isUseScenario = indurax.getIsUseScenario();
-        final Integer[] mittelStartEndYears = indurax.mittelStartEndYears();
-        final InundationDurationCalculationResult result = new InundationDurationCalculationResult();
-
-        final String rangeDuration = year != null ? String.valueOf(year)
-                : new StringBuilder().append(String.valueOf(mittelStartEndYears[0])).append("-").append(mittelStartEndYears[1]).toString();
+        final WmsLayer vegetationLayer = indurax.createWMSLayer(this.context.getMeta(), "uinfo.export.url.inundationduration.vegetation");
+        result.addLayer(vegetationLayer);
 
-        result.addLayer(Resources.getMsg(this.context.getMeta(), "uinfo.export.url.inundationduration.inundationduration", new Object[] { rangeDuration }), url,
-                true);
-        // TODO: add vegetationzone-values as parameter to url and use this url as veg'zone'url
-        result.addLayer(Resources.getMsg(this.context.getMeta(), "uinfo.export.url.inundationduration.vegetation", new Object[] { rangeDuration }), url, false);
         if (isUseScenario) {
-            result.addLayer(
-                    Resources.getMsg(this.context.getMeta(), "uinfo.export.url.inundationduration.scenario", new Object[] { rangeDuration, scenarioStr }),
-                    scenarioUrl, true);
-            // TODO: add vegetationzone-values as parameter to url and use this url as veg'zone'url
-            result.addLayer(Resources.getMsg(this.context.getMeta(), "uinfo.export.url.inundationduration.vegetation_scenario",
-                    new Object[] { rangeDuration, scenarioStr }), scenarioUrl, false);
+            // TODO: wieder einkommentieren, sobald die URL-Definition für Szenarien geklärt ist (und hoffentlich analog zu "mittel"
+            // und "jahre" funktioniert)
+            // final WmsLayer scenarioInundationDurationLayer = indurax.createScenarioWMSLayer(this.context.getMeta(),
+            // "uinfo.export.url.inundationduration.scenario");
+            // result.addLayer(scenarioInundationDurationLayer);
+            //
+            // // TODO: add vegetationzone-values as styles to layer
+            // final WmsLayer scenarioVegetationLayer = indurax.createScenarioWMSLayer(this.context.getMeta(),
+            // "uinfo.export.url.inundationduration.vegetation_scenario");
+            // result.addLayer(scenarioVegetationLayer);
         }
 
         return new CalculationResult(result, problems);

http://dive4elements.wald.intevation.org