gernotbelger@9422: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9422: * Software engineering by gernotbelger@9422: * Björnsen Beratende Ingenieure GmbH gernotbelger@9422: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9422: * gernotbelger@9422: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9422: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9422: * documentation coming with Dive4Elements River for details. gernotbelger@9422: */ gernotbelger@9422: package test.uinfo; gernotbelger@9422: gernotbelger@9422: import java.io.IOException; gernotbelger@9422: gernotbelger@9422: import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException; gernotbelger@9422: import org.dive4elements.river.client.shared.exceptions.ServerException; gernotbelger@9422: import org.dive4elements.river.client.shared.model.Data; gernotbelger@9422: import org.dive4elements.river.client.shared.model.DataItem; gernotbelger@9422: import org.dive4elements.river.client.shared.model.DefaultDataItem; gernotbelger@9422: import org.dive4elements.river.client.shared.model.StringOptionsData; gernotbelger@9422: gernotbelger@9422: import test.AbstractBerechnungsartenTester.River; gernotbelger@9422: import test.AbstractModuleRunner; gernotbelger@9422: import test.IFilenameMapper; gernotbelger@9422: import test.uinfo.UInfoBerechnungsartenTester.CalcMode; gernotbelger@9422: gernotbelger@9422: /** gernotbelger@9422: * @author Domenico Nardi Tironi gernotbelger@9422: * gernotbelger@9422: */ gernotbelger@9422: final class UinfoSalixRunner extends AbstractModuleRunner { gernotbelger@9422: gernotbelger@9422: private final String scenarioChoice; gernotbelger@9422: private boolean isUseScenario; gernotbelger@9422: gernotbelger@9422: public UinfoSalixRunner(final IFilenameMapper file, final double from, final double to, final River river, final String scenarioChoice) gernotbelger@9422: throws ConnectionException, ServerException { gernotbelger@9422: super(AbstractModuleRunner.Infotype.uinfo, CalcMode.uinfo_salix_line, file, from, to, river); gernotbelger@9422: this.scenarioChoice = scenarioChoice; gernotbelger@9422: this.isUseScenario = (scenarioChoice != null) ? (this.isUseScenario = true) : (this.isUseScenario = false); gernotbelger@9422: } gernotbelger@9422: gernotbelger@9422: @Override gernotbelger@9422: public void runTest(final boolean exportToFile) throws ServerException, IOException { gernotbelger@9422: /* Select River */ gernotbelger@9422: super.selectRiver(); gernotbelger@9422: gernotbelger@9422: /* Select ICalcMode */ gernotbelger@9422: super.selectCalcMode(); gernotbelger@9422: gernotbelger@9422: super.feed(new Data[] { gernotbelger@9422: new StringOptionsData("ld_mode", "ld_mode", new DataItem[] { new DefaultDataItem("distance_only", "distance_only", "distance_only") }) }); // ggf gernotbelger@9422: gernotbelger@9422: /* Select Range */ gernotbelger@9422: super.selectRange(); gernotbelger@9422: gernotbelger@9422: final String useScenario = String.valueOf(this.isUseScenario); gernotbelger@9422: final Data yearEpochSelect = new StringOptionsData("use_scenario", "use_scenario", gernotbelger@9422: new DataItem[] { new DefaultDataItem(useScenario, useScenario, useScenario) }); gernotbelger@9422: feedAndGo(new Data[] { yearEpochSelect }, 0); gernotbelger@9422: gernotbelger@9422: if (this.isUseScenario) { gernotbelger@9422: // TODO: make regional, supraregional, historical gernotbelger@9422: gernotbelger@9422: // /* Year or Epoch? eigentlich vermutlich überflüssig */ gernotbelger@9422: // final String yeSelectStr = this.isYears ? "state.sinfo.year" : "state.sinfo.epoch"; gernotbelger@9422: // final Data yearEpochSelect = new StringOptionsData("ye_select", "ye_select", gernotbelger@9422: // new DataItem[] { new DefaultDataItem(yeSelectStr, yeSelectStr, yeSelectStr) }); gernotbelger@9422: // feedAndGo(new Data[] { yearEpochSelect }, 0); gernotbelger@9422: // gernotbelger@9422: // if (this.years != null) { gernotbelger@9422: // final StringBuilder sb = new StringBuilder(); gernotbelger@9422: // for (final int value : this.years) { gernotbelger@9422: // sb.append(String.valueOf(value)); gernotbelger@9422: // sb.append(" "); gernotbelger@9422: // } gernotbelger@9422: // final Data yearsData = new StringOptionsData("years", "years", new DataItem[] { new DefaultDataItem("years", "years", gernotbelger@9422: // sb.toString()) }); gernotbelger@9422: // feedAndGo(new Data[] { yearsData }, 0); gernotbelger@9422: // } else if (this.epochs != null) { gernotbelger@9422: // final Data data = new StringOptionsData("epochs", "epochs", new DataItem[] { new DefaultDataItem("epochs", "epochs", gernotbelger@9422: // this.epochs) }); gernotbelger@9422: // feedAndGo(new Data[] { data }, 0); gernotbelger@9422: // } gernotbelger@9422: } gernotbelger@9422: gernotbelger@9422: describeCollection(); gernotbelger@9422: gernotbelger@9422: super.export(exportToFile); gernotbelger@9422: } gernotbelger@9422: }