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.uinfo.UInfoBerechnungsartenTester.CalcMode; gernotbelger@9422: gernotbelger@9422: /** gernotbelger@9422: * @author Domenico Nardi Tironi gernotbelger@9422: * gernotbelger@9422: */ gernotbelger@9424: class UinfoSalixRunner extends AbstractModuleRunner { gernotbelger@9422: private final String scenarioChoice; gernotbelger@9422: private boolean isUseScenario; gernotbelger@9422: gernotbelger@9567: public UinfoSalixRunner(final double from, final double to, final River river, final String scenarioChoice) throws ConnectionException, ServerException { gernotbelger@9567: super(AbstractModuleRunner.Infotype.uinfo, CalcMode.uinfo_salix_line, 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@9567: public void runTest() 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@9424: /* use scenario */ gernotbelger@9424: final String key = "use_scenario"; gernotbelger@9424: final String value = String.valueOf(this.isUseScenario); gernotbelger@9424: gernotbelger@9441: super.feedAndGoSimpleTextInput(key, value); gernotbelger@9422: gernotbelger@9422: if (this.isUseScenario) { gernotbelger@9422: // TODO: make regional, supraregional, historical gernotbelger@9424: makeScenario(); gernotbelger@9422: } gernotbelger@9422: gernotbelger@9422: describeCollection(); gernotbelger@9422: gernotbelger@9567: super.runTests(); gernotbelger@9422: } gernotbelger@9424: gernotbelger@9424: protected void makeScenario() throws ConnectionException, ServerException { gernotbelger@9424: // Override in subs gernotbelger@9424: } gernotbelger@9424: gernotbelger@9424: protected final String getScenarioChoice() { gernotbelger@9424: gernotbelger@9424: return this.scenarioChoice; gernotbelger@9424: } gernotbelger@9422: }