diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePanel.java @ 9220:e3c2ae1887e8

Allow to filter contents of datacage on client side. Allow to override column label of datacage Some code cleanup
author gernotbelger
date Wed, 04 Jul 2018 12:00:51 +0200
parents ea9eef426962
children
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePanel.java	Wed Jul 04 10:46:37 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePanel.java	Wed Jul 04 12:00:51 2018 +0200
@@ -8,18 +8,18 @@
 
 package org.dive4elements.river.client.client.ui;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.dive4elements.river.client.shared.model.Data;
+import org.dive4elements.river.client.shared.model.DataList;
+import org.dive4elements.river.client.shared.model.ToLoad;
+import org.dive4elements.river.client.shared.model.User;
+
 import com.smartgwt.client.widgets.Canvas;
 import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.layout.VLayout;
 
-import org.dive4elements.river.client.shared.model.Data;
-import org.dive4elements.river.client.shared.model.DataList;
-import org.dive4elements.river.client.shared.model.User;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -27,34 +27,35 @@
 
     private static final long serialVersionUID = 6937994648371673222L;
 
-    protected String dataName;
-
-    protected User user;
+    private String dataName;
 
-    protected DatacageWidget widget;
+    private final User user;
 
+    private DatacageWidget widget;
 
-    public DatacagePanel() {
-        super();
+    private final String outs;
+
+    private final String parameters;
+
+    private final boolean multiSelectable;
+
+    public DatacagePanel(final User user, final String outs, final String parameters, final boolean multiSelectable) {
+        this.user = user;
+        this.outs = outs;
+        this.parameters = parameters;
+        this.multiSelectable = multiSelectable;
     }
 
-
-    public DatacagePanel(User user) {
-        super();
-        this.user = user;
-    }
-
-
     @Override
-    public Canvas create(DataList dataList) {
-        Data   data   = dataList.get(0);
+    public Canvas create(final DataList dataList) {
+        final Data data = dataList.get(0);
         this.dataName = data.getLabel();
 
         createWidget();
 
-        Canvas label   = new Label(data.getDescription());
-        Canvas submit  = getNextButton();
-        VLayout layout = new VLayout();
+        final Canvas label = new Label(data.getDescription());
+        final Canvas submit = getNextButton();
+        final VLayout layout = new VLayout();
         label.setHeight(25);
 
         layout.addMember(label);
@@ -64,39 +65,36 @@
         return layout;
     }
 
+    private void createWidget() {
 
-    protected void createWidget() {
-        widget = new DatacageWidget(
-            artifact,
-            getUser(),
-            getOuts(),
-            getParameters(),
-            false);
+        final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, this.outs, this.parameters, false);
 
-        widget.setHeight100();
+        this.widget = new DatacageWidget(data);
 
-        helperContainer.addMember(widget);
+        this.widget.setHeight100();
+
+        this.helperContainer.addMember(this.widget);
+
+        this.widget.setIsMutliSelectable(this.multiSelectable);
     }
 
-
     @Override
     public List<String> validate() {
         return new ArrayList<String>();
     }
 
-
-    public User getUser() {
-        return user;
+    /**
+     * Unclear if this may implement super.getDataName...
+     */
+    protected final String getMyDataName() {
+        return this.dataName;
     }
 
-
-    public String getOuts() {
-        return null;
+    protected final ToLoad getSelection() {
+        return this.widget.getSelection();
     }
 
-
-    public String getParameters() {
-        return null;
+    protected final String[] getSelectionTitles() {
+        return this.widget.getSelectionTitles();
     }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org