Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java @ 9558:709a73badd48
VegetationZone removed from Uinfo-Ü'Dauern Workflow
author | gernotbelger |
---|---|
date | Wed, 24 Oct 2018 12:00:49 +0200 |
parents | bf6b63208f34 |
children | ba0561906f81 |
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.uinfo.inundationduration; import java.io.IOException; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.model.Calculation; import org.dive4elements.river.artifacts.model.CalculationResult; import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationAccess.WmsClassification; import org.dive4elements.river.artifacts.uinfo.inundationduration.InundationDurationCalculationResult.WmsLayer; /** * @author Domenico Nardi Tironi * */ final class InundationDurationCalculation { private final CallContext context; public InundationDurationCalculation(final CallContext context) { this.context = context; } public CalculationResult calculate(final UINFOArtifact uinfo) { final Calculation problems = new Calculation(); try { final InundationDurationAccess indurax = new InundationDurationAccess(uinfo); // VegetationZones have been removed - these two lines should be deleted // final String zonesRaw = indurax.getVegZones(); // final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(zonesRaw); // FIXME: instead find out a-uuid of referenced vegetations // FIXME: final String vegZoneId = "unknown"; final boolean isUseScenario = indurax.getIsUseScenario(); final InundationDurationCalculationResult result = new InundationDurationCalculationResult(); final WmsLayer inundationDurationLayer = indurax.createWMSLayer(this.context, "uinfo.export.url.inundationduration.inundationduration", WmsClassification.asIs, vegZoneId); result.addLayer(inundationDurationLayer); final WmsLayer vegetationLayer = indurax.createWMSLayer(this.context, "uinfo.export.url.inundationduration.vegetation", WmsClassification.vegetationZone, vegZoneId); result.addLayer(vegetationLayer); if (isUseScenario) { // 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); } catch (IOException | TsvReaderException e) { e.printStackTrace(); problems.addProblem("Invalid server configuration: " + e.getLocalizedMessage()); return new CalculationResult(null, problems); } } }