view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RecommandationUtils.java @ 9661:9b8ba3b83a15

Importer (s/u-info) vegetation zones: new database column in vegetation_type table for german type name, localized vegetation type names by querying the database instead of translating by resource property, detecting and cancelling the import of a second vegetation zone file for a river, detecting, logging, cancelling in case of wrong column titles, detecting, logging and ignoring lines with missing (color) values, comparing vegetation zone name and class with the database and logging+ignoring in case of inconsistencies, starting the most elevated zone with 0 instead of -1 overflow days
author mschaefer
date Mon, 23 Mar 2020 16:38:12 +0100
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