gernotbelger@9127: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9127: * Software engineering by gernotbelger@9127: * Björnsen Beratende Ingenieure GmbH gernotbelger@9127: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9127: * gernotbelger@9127: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9127: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9127: * documentation coming with Dive4Elements River for details. gernotbelger@9127: */ gernotbelger@9422: package test.sinfo; gernotbelger@9127: gernotbelger@9127: import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException; gernotbelger@9127: import org.dive4elements.river.client.shared.exceptions.ServerException; gernotbelger@9127: gernotbelger@9422: import test.AbstractBerechnungsartenTester.River; gernotbelger@9422: import test.AbstractModuleRunner; gernotbelger@9422: import test.IFilenameMapper; gernotbelger@9422: import test.SimpleRecommendation; gernotbelger@9422: import test.sinfo.SinfoBerechnungsartenTester.CalcMode; gernotbelger@9422: import test.sinfo.SinfoFloodDurationRiversideChoice.RiversideChoiceKey; gernotbelger@9127: gernotbelger@9127: /** gernotbelger@9127: * @author Domenico Nardi Tironi gernotbelger@9127: * gernotbelger@9127: */ gernotbelger@9422: final class SinfoRunnerCreatorHelper { gernotbelger@9127: gernotbelger@9422: private SinfoRunnerCreatorHelper() { gernotbelger@9133: throw new UnsupportedOperationException(); gernotbelger@9127: } gernotbelger@9127: gernotbelger@9127: // HELPER-Methods: gernotbelger@9127: gernotbelger@9422: public final static AbstractModuleRunner createSinfoFlowdepthMinMaxTest(final IFilenameMapper file, final double from, final double to, gernotbelger@9228: final River beispielfluss, final SimpleRecommendation rec0, final SimpleRecommendation rec1) throws ConnectionException, ServerException { gernotbelger@9127: // TODO: make recommendationPair to method parameter if needed gernotbelger@9422: final SinfoFlowdepthMinMaxRunner proof = new SinfoFlowdepthMinMaxRunner(CalcMode.sinfo_calc_flow_depth_minmax, file, from, to, beispielfluss); gernotbelger@9228: proof.addRecommendationPair(rec0, rec1); gernotbelger@9127: gernotbelger@9127: return proof; gernotbelger@9127: } gernotbelger@9127: gernotbelger@9422: public static AbstractModuleRunner createSinfoFlowdepthMinMaxTest(final IFilenameMapper file, final int from, final int to, final River river, gernotbelger@9228: final SimpleRecommendation simpleRecommendation0, final SimpleRecommendation simpleRecommendation1, gernotbelger@9228: final SimpleRecommendation simpleRecommendation2, final SimpleRecommendation simpleRecommendation3) throws ConnectionException, ServerException { gernotbelger@9228: final SinfoFlowdepthMinMaxRunner proof = (SinfoFlowdepthMinMaxRunner) createSinfoFlowdepthMinMaxTest(file, from, to, river, simpleRecommendation0, gernotbelger@9228: simpleRecommendation1); gernotbelger@9228: proof.addRecommendationPair(simpleRecommendation2, simpleRecommendation3); gernotbelger@9228: return proof; gernotbelger@9228: } gernotbelger@9228: gernotbelger@9422: public final static AbstractModuleRunner createSinfoFlowdepthTest(final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9127: final boolean useTkh, final SimpleRecommendation rec0, final SimpleRecommendation rec1) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoFlowdepthRunner proof = new SinfoFlowdepthRunner(CalcMode.sinfo_calc_flow_depth, file, from, to, river, useTkh); gernotbelger@9127: proof.addRecommendationPair(rec0, rec1); gernotbelger@9127: gernotbelger@9127: return proof; gernotbelger@9127: } gernotbelger@9148: gernotbelger@9422: public final static AbstractModuleRunner createSinfoFlowdepthDevelopmentTest(final IFilenameMapper file, final double from, final double to, gernotbelger@9148: final River river, final SimpleRecommendation rec0_curr, final SimpleRecommendation rec1_curr, final SimpleRecommendation rec0_hist, gernotbelger@9148: final SimpleRecommendation rec1_hist) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoFlowdepthDevelopmentRunner proof = new SinfoFlowdepthDevelopmentRunner(CalcMode.sinfo_calc_flow_depth_development, file, from, to, river); gernotbelger@9148: proof.addCurrentRecommendationPair(rec0_curr, rec1_curr); gernotbelger@9148: proof.addHistoricalRecommendationPair(rec0_hist, rec1_hist); gernotbelger@9148: return proof; gernotbelger@9148: } gernotbelger@9226: gernotbelger@9422: public final static AbstractModuleRunner createSinfoTkhTest(final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9226: // final boolean useTkh, gernotbelger@9226: final double[] wasserspiegellage) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoTkhRunner proof = new SinfoTkhRunner(CalcMode.sinfo_calc_transport_bodies_heights, file, from, to, river, wasserspiegellage); gernotbelger@9417: gernotbelger@9417: return proof; gernotbelger@9417: } gernotbelger@9417: gernotbelger@9422: public final static AbstractModuleRunner createSinfoCollisionYearsTest(final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9422: final int[] years) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoCollisionRunner proof = new SinfoCollisionRunner(file, from, to, river, years, null); gernotbelger@9417: gernotbelger@9417: return proof; gernotbelger@9417: } gernotbelger@9418: gernotbelger@9422: public final static AbstractModuleRunner createSinfoCollisionEpochsTest(final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9422: final String epochs) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoCollisionRunner proof = new SinfoCollisionRunner(file, from, to, river, null, epochs); gernotbelger@9422: gernotbelger@9422: return proof; gernotbelger@9422: } gernotbelger@9422: gernotbelger@9422: public final static AbstractModuleRunner createSinfoFloodDurationTest(final IFilenameMapper file, final double from, final double to, final River river, gernotbelger@9418: final double[] wasserspiegellage, final boolean showWspl, final RiversideChoiceKey riverside) throws ConnectionException, ServerException { gernotbelger@9422: final SinfoFloodDurationRunner proof = new SinfoFloodDurationRunner(CalcMode.sinfo_calc_flood_duration, file, from, to, river, wasserspiegellage, gernotbelger@9422: riverside, showWspl); gernotbelger@9418: gernotbelger@9418: return proof; gernotbelger@9418: } gernotbelger@9133: }