view gwt-client/src/test/java/test/bundu/Segment.java @ 9709:b74f817435fe

comment removed
author dnt_bjoernsen <d.tironi@bjoernsen.de>
date Wed, 27 Jan 2021 11:47:38 +0100
parents ce0a48b93f4b
children
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
 * Software engineering by
 *  Björnsen Beratende Ingenieure GmbH
 *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */
package test.bundu;

import java.util.List;

import org.dive4elements.river.client.shared.model.Data;
import org.dive4elements.river.client.shared.model.DataItem;
import org.dive4elements.river.client.shared.model.DefaultData;
import org.dive4elements.river.client.shared.model.DefaultDataItem;

/**
 * @author Domenico Nardi Tironi
 *
 */
public class Segment {

    private final String gaugeName;
    private final String fromKm;
    private final String toKm;
    private final String qValue;

    private static final String SEPARATOR = ";";
    private static final String GAUGE_SEPARATOR = ":";

    public Segment(final String gaugeName, final double fromKm, final double toKm, final double qValue) {
        this.gaugeName = gaugeName;
        this.fromKm = String.valueOf(fromKm);
        this.toKm = String.valueOf(toKm);
        this.qValue = String.valueOf(qValue);
    }

    private static String getSegmentString(final List<Segment> segments) {

        // 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
        // möchte ungern die pegelweise From-To-Ermittlung im Client nachbauen, daher verlange ich fertige Segments.
        final StringBuilder builder = new StringBuilder();
        for (int i = 0; i < segments.size(); i++) {
            final Segment s = segments.get(i);
            if (i > 0)
                builder.append(GAUGE_SEPARATOR);
            builder.append(s.fromKm).append(SEPARATOR).append(s.toKm).append(SEPARATOR).append(s.gaugeName).append(SEPARATOR).append(s.qValue);
        }
        return builder.toString();
    }

    public static Data[] getDataforFeed(final String dataName, final List<Segment> segments) {

        final String wspl = getSegmentString(segments);

        final DataItem wsplItem = new DefaultDataItem(dataName, dataName, wspl);

        return new Data[] {

                new DefaultData("wq_isq", null, null, new DataItem[] { new DefaultDataItem("wq_isq", "wq_isq", "true") }),
                new DefaultData("wq_isfree", null, null, new DataItem[] { new DefaultDataItem("wq_isfree", "wq_isfree", "false") }),
                new DefaultData("wq_isrange", null, null, new DataItem[] { new DefaultDataItem("wq_isrange", "wq_isrange", "false") }),
                new DefaultData("wq_from", null, null, new DataItem[] { new DefaultDataItem("wq_from", "wq_from", "") }),
                new DefaultData("wq_to", null, null, new DataItem[] { new DefaultDataItem("wq_to", "wq_to", "") }),
                new DefaultData("wq_step", null, null, new DataItem[] { new DefaultDataItem("wq_step", "wq_step", "") }),

                new DefaultData(dataName, null, null, new DataItem[] { wsplItem }) };

    }

}

http://dive4elements.wald.intevation.org