gernotbelger@9439: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9439: * Software engineering by gernotbelger@9439: * Björnsen Beratende Ingenieure GmbH gernotbelger@9439: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9439: * gernotbelger@9439: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9439: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9439: * documentation coming with Dive4Elements River for details. gernotbelger@9439: */ gernotbelger@9439: package test.bundu; gernotbelger@9439: gernotbelger@9439: import java.util.List; gernotbelger@9439: gernotbelger@9439: import org.dive4elements.river.client.shared.model.Data; gernotbelger@9439: import org.dive4elements.river.client.shared.model.DataItem; gernotbelger@9439: import org.dive4elements.river.client.shared.model.DefaultData; gernotbelger@9439: import org.dive4elements.river.client.shared.model.DefaultDataItem; gernotbelger@9439: gernotbelger@9439: /** gernotbelger@9439: * @author Domenico Nardi Tironi gernotbelger@9439: * gernotbelger@9439: */ gernotbelger@9439: public class Segment { gernotbelger@9439: gernotbelger@9439: private final String gaugeName; gernotbelger@9439: private final String fromKm; gernotbelger@9439: private final String toKm; gernotbelger@9439: private final String qValue; gernotbelger@9439: gernotbelger@9439: private static final String SEPARATOR = ";"; gernotbelger@9439: private static final String GAUGE_SEPARATOR = ":"; gernotbelger@9439: gernotbelger@9439: public Segment(final String gaugeName, final double fromKm, final double toKm, final double qValue) { gernotbelger@9439: this.gaugeName = gaugeName; gernotbelger@9439: this.fromKm = String.valueOf(fromKm); gernotbelger@9439: this.toKm = String.valueOf(toKm); gernotbelger@9439: this.qValue = String.valueOf(qValue); gernotbelger@9439: } gernotbelger@9439: gernotbelger@9439: private static String getSegmentString(final List segments) { gernotbelger@9439: gernotbelger@9439: // 703.3;710.0;Düsseldorf;5930.0:670.0;703.3;Köln;5822.0 (PRoblem: diese sachen werden auf Server-Seite gemacht. Ich gernotbelger@9439: // möchte ungern die pegelweise From-To-Ermittlung im Client nachbauen, daher verlange ich fertige Segments. gernotbelger@9439: final StringBuilder builder = new StringBuilder(); gernotbelger@9439: for (int i = 0; i < segments.size(); i++) { gernotbelger@9439: final Segment s = segments.get(i); gernotbelger@9439: if (i > 0) gernotbelger@9439: builder.append(GAUGE_SEPARATOR); gernotbelger@9439: builder.append(s.fromKm).append(SEPARATOR).append(s.toKm).append(SEPARATOR).append(s.gaugeName).append(SEPARATOR).append(s.qValue); gernotbelger@9439: } gernotbelger@9439: return builder.toString(); gernotbelger@9439: } gernotbelger@9439: gernotbelger@9439: public static Data[] getDataforFeed(final String dataName, final List segments) { gernotbelger@9439: gernotbelger@9439: final String wspl = getSegmentString(segments); gernotbelger@9439: gernotbelger@9439: final DataItem wsplItem = new DefaultDataItem(dataName, dataName, wspl); gernotbelger@9439: gernotbelger@9439: return new Data[] { gernotbelger@9439: gernotbelger@9439: new DefaultData("wq_isq", null, null, new DataItem[] { new DefaultDataItem("wq_isq", "wq_isq", "true") }), gernotbelger@9439: new DefaultData("wq_isfree", null, null, new DataItem[] { new DefaultDataItem("wq_isfree", "wq_isfree", "false") }), gernotbelger@9439: new DefaultData("wq_isrange", null, null, new DataItem[] { new DefaultDataItem("wq_isrange", "wq_isrange", "false") }), gernotbelger@9439: new DefaultData("wq_from", null, null, new DataItem[] { new DefaultDataItem("wq_from", "wq_from", "") }), gernotbelger@9439: new DefaultData("wq_to", null, null, new DataItem[] { new DefaultDataItem("wq_to", "wq_to", "") }), gernotbelger@9439: new DefaultData("wq_step", null, null, new DataItem[] { new DefaultDataItem("wq_step", "wq_step", "") }), gernotbelger@9439: gernotbelger@9439: new DefaultData(dataName, null, null, new DataItem[] { wsplItem }) }; gernotbelger@9439: gernotbelger@9439: } gernotbelger@9439: gernotbelger@9439: }