view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RecommandationUtils.java @ 9416:05405292a7ca

Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
author gernotbelger
date Thu, 16 Aug 2018 16:28:03 +0200
parents 274ddafb719b
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 org.dive4elements.river.client.client.ui;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.dive4elements.river.client.client.ui.AbstractPairRecommendationPanel.IRecommendationInfo;
import org.dive4elements.river.client.shared.model.Recommendation;
import org.dive4elements.river.client.shared.model.Recommendation.Facet;
import org.dive4elements.river.client.shared.model.Recommendation.Filter;

/**
 * @author Domenico Nardi Tironi
 *
 */
public class RecommandationUtils {
    /**
     * Creates part of the String that encodes minuend or subtrahend.
     * 
     * @param recommendation
     *            Recommendation to wrap in string.
     * @param info
     *            Provides the factory to encode.
     */
    public static final String createDataString(final String artifactUuid, final Recommendation recommendation, final IRecommendationInfo info) {
        final String factory = info.getDataStringFactory(recommendation);

        final Filter filter = recommendation.getFilter();
        Facet f = null;

        if (filter != null) {
            final Map<String, List<Facet>> outs = filter.getOuts();
            final Set<Map.Entry<String, List<Facet>>> entries = outs.entrySet();

            for (final Map.Entry<String, List<Facet>> entry : entries) {
                final List<Facet> fs = entry.getValue();

                f = fs.get(0);
                if (f != null) {
                    break;
                }
            }

            return "[" + artifactUuid + ";" + f.getName() + ";" + f.getIndex() + ";" + recommendation.getDisplayName() + "]";
        }

        return "[" + artifactUuid + ";" + factory + ";0;" + recommendation.getDisplayName() + "]";
    }
}

http://dive4elements.wald.intevation.org