Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java @ 9190:0633f963c5be
uinfo.inundationduration workflow
author | gernotbelger |
---|---|
date | Thu, 28 Jun 2018 15:10:04 +0200 |
parents | 2f5052835b76 |
children | bc9a45d2b1fa |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java Thu Jun 28 14:11:12 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java Thu Jun 28 15:10:04 2018 +0200 @@ -9,19 +9,14 @@ */ package org.dive4elements.river.artifacts.uinfo.inundationduration; -import java.util.ArrayList; -import java.util.Collection; 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.common.GeneralResultType; -import org.dive4elements.river.artifacts.common.ResultRow; 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.common.SInfoResultType; import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; @@ -53,35 +48,34 @@ 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.. evtl ungünstig.. evtl. anders lösen - final DoubleRange range = indurax.getRange(); - final Double sedimentHeight = indurax.getSedimentHeight(); + final Integer year = indurax.getYear(); // null bei year -> Integer final String zonesRaw = indurax.getVegZones(); final List<VegetationZone> zones = VegetationZone.parse(zonesRaw); - - final InundationDurationCalculationResults results = new InundationDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange); - - final Collection<ResultRow> rows = new ArrayList<>(); - - final ResultRow row1 = ResultRow.create(). // - putValue(GeneralResultType.station, 88). // - putValue(SInfoResultType.discharge, 100). // - putValue(SInfoResultType.waterlevel, 2). // - putValue(SInfoResultType.gaugeLabel, "Torgau"); + final String scenarioUrl = indurax.getWMSScenarioUrl(); + final String scenarioStr = String.valueOf(indurax.getDwspl()); - rows.add(row1); - - final ResultRow row2 = ResultRow.create(). // - putValue(SInfoResultType.discharge, 200). // - putValue(SInfoResultType.waterlevel, 3). // - putValue(SInfoResultType.gaugeLabel, "Zollenspieker"); + // TODO: add vegetationzone-values as parameter to url and use this url as veg'zone'url - rows.add(row2); + final boolean isUseScenario = indurax.getIsUseScenario(); + final Integer[] mittelStartEndYears = indurax.mittelStartEndYears(); + final InundationDurationCalculationResult result = new InundationDurationCalculationResult(); - final InundationDurationCalculationResult result = new InundationDurationCalculationResult("Ergebnis 1", null, rows); + final String rangeDuration = year != null ? String.valueOf(year) + : new StringBuilder().append(String.valueOf(mittelStartEndYears[0])).append("-").append(mittelStartEndYears[1]).toString(); - results.addResult(result, problems); + 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); + } - return new CalculationResult(results, problems); + return new CalculationResult(result, problems); } } \ No newline at end of file