diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RecommandationUtils.java @ 9027:274ddafb719b

S-Info-Proof-Init Testing
author gernotbelger
date Thu, 26 Apr 2018 10:46:12 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RecommandationUtils.java	Thu Apr 26 10:46:12 2018 +0200
@@ -0,0 +1,58 @@
+/** 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