diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelRecommandationInfo.java @ 8852:8f6d6d26e96f

Refaktored the DatacageTwinPanel so it is reusable.
author gernotbelger
date Thu, 18 Jan 2018 18:32:30 +0100
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/WaterlevelRecommandationInfo.java	Thu Jan 18 18:32:30 2018 +0100
@@ -0,0 +1,69 @@
+/** 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 org.dive4elements.river.client.client.ui.DatacageTwinPanel.IDatacageTwinPanelInfo;
+import org.dive4elements.river.client.shared.model.Recommendation;
+
+import com.google.gwt.core.client.GWT;
+
+/**
+ * @author Gernot Belger
+ */
+public final class WaterlevelRecommandationInfo implements IDatacageTwinPanelInfo {
+
+	private String outs;
+
+	public WaterlevelRecommandationInfo(String outs ) {
+		this.outs = outs;
+	}
+	
+	@Override
+	public String getFactory() {
+		// FIXME: why are the factory here and the one used in createDataString different?
+		// Probably also because of the 'throw all this code away comment'
+		return "waterlevel";
+	}
+	
+	@Override
+	public String getDataStringFactory() {
+		return "staticwkms";
+	}
+	
+    @Override
+	public void adjustRecommendation(Recommendation recommendation) {
+        // XXX: THIS IS AN EVIL HACK TO MAKE W-DIFFERENCES WORK AGAIN!
+        // TODO: Throw all this code away and do it with server side recommendations!
+        recommendation.setTargetOut("w_differences");
+
+        if (recommendation.getIDs() != null) {
+            GWT.log("Setting staticwkms factory for rec with ID "
+                + recommendation.getIDs());
+            recommendation.setFactory("staticwkms");
+        }
+        /*
+        // So far, we do not need to rewrite the factory anymore,
+        // except for staticwkms; probably other cases will pop up later.
+        else if (recommendation.getFactory().equals("winfo")) {
+            GWT.log("Setting waterlevel factory for a winfo rec.");
+            recommendation.setFactory("waterlevel");
+        }
+        */
+        else {
+           GWT.log("Leave rec. id " + recommendation.getIDs() + ", factory "
+               + recommendation.getFactory() + " untouched.");
+        }
+    }
+
+	@Override
+	public String getOuts() {
+		return outs;
+	}
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org