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.sinfo; gernotbelger@9422: gernotbelger@9422: import java.io.IOException; gernotbelger@9422: import java.util.ArrayList; 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.ICalcMode; gernotbelger@9422: import test.IFilenameMapper; gernotbelger@9422: import test.SimpleRecommendation; gernotbelger@9422: gernotbelger@9422: /** gernotbelger@9422: * @author Domenico Nardi Tironi gernotbelger@9422: * gernotbelger@9422: */ gernotbelger@9422: final class SinfoFlowdepthRunner extends AbstractModuleRunner { gernotbelger@9422: gernotbelger@9422: private final boolean useTkh; gernotbelger@9422: private final ArrayList pairIds = new ArrayList(); gernotbelger@9422: gernotbelger@9422: public SinfoFlowdepthRunner(final ICalcMode sinfoCalcFlowDepth, final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9422: final boolean useTkh) throws ConnectionException, ServerException { gernotbelger@9422: super(AbstractModuleRunner.Infotype.sinfo, sinfoCalcFlowDepth, file, from, to, river); gernotbelger@9422: this.useTkh = useTkh; gernotbelger@9422: } gernotbelger@9422: gernotbelger@9422: public void addRecommendationPair(final SimpleRecommendation rec1, final SimpleRecommendation rec2) throws ConnectionException, ServerException { gernotbelger@9422: this.pairIds.add(super.getRecommendationPairString(rec1, rec2)); 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: /* Select Range */ gernotbelger@9422: super.selectRange(); gernotbelger@9422: gernotbelger@9422: /* Select Fixpunkte */ gernotbelger@9422: feedAndGo(extractPairData(this.pairIds, "diffids"), 0); gernotbelger@9422: gernotbelger@9422: /* Select TRANSPORTKÖRPERHÖHHEN - einziger Unterschied zu FlowdepthMinMax */ gernotbelger@9422: final String useTkhStr = String.valueOf(this.useTkh); gernotbelger@9422: feedAndGo(new Data[] { new StringOptionsData("use_transport_bodies", "use_transport_bodies", gernotbelger@9422: new DataItem[] { new DefaultDataItem(useTkhStr, useTkhStr, useTkhStr) }) }, 0); gernotbelger@9422: gernotbelger@9422: describeCollection(); gernotbelger@9422: gernotbelger@9422: super.export(exportToFile); gernotbelger@9422: } gernotbelger@9422: }