diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterMatrixPanel.java @ 9390:f575ff573cbb

"Name der Peilung" columname minfo.
author gernotbelger
date Thu, 09 Aug 2018 15:22:31 +0200
parents 5e38e2924c07
children 2da486c7c05f
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterMatrixPanel.java	Thu Aug 09 12:03:30 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterMatrixPanel.java	Thu Aug 09 15:22:31 2018 +0200
@@ -8,13 +8,10 @@
 
 package org.dive4elements.river.client.client.ui;
 
-import com.google.gwt.core.client.GWT;
-
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.layout.HLayout;
-import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.layout.LayoutSpacer;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import org.dive4elements.river.client.client.FLYSConstants;
 import org.dive4elements.river.client.shared.model.Data;
@@ -26,10 +23,12 @@
 import org.dive4elements.river.client.shared.model.MultiAttributeData;
 import org.dive4elements.river.client.shared.model.StringOptionsData;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.google.gwt.core.client.GWT;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.LayoutSpacer;
+import com.smartgwt.client.widgets.layout.VLayout;
 
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
@@ -42,33 +41,34 @@
     protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
 
     private ParameterMatrix matrix;
+    private final String itemnameColTitle;
+
+    public ParameterMatrixPanel(final String itemNameColTitle) {
+        this.itemnameColTitle = itemNameColTitle;
+    }
 
     @Override
     protected Data[] getData() {
-        Map<String, List<String>> selection = matrix.getSelection();
-        Set<Map.Entry<String, List<String>>> entries = selection.entrySet();
+        final Map<String, List<String>> selection = this.matrix.getSelection();
+        final Set<Map.Entry<String, List<String>>> entries = selection.entrySet();
 
-        Data[] list = new Data[matrix.getColumnNames().size()];
+        final Data[] list = new Data[this.matrix.getColumnNames().size()];
 
         int i = 0;
 
-        for (Map.Entry<String, List<String>> entry: entries) {
-            String value = buildValueString(entry.getValue());
+        for (final Map.Entry<String, List<String>> entry : entries) {
+            final String value = buildValueString(entry.getValue());
 
-            DataItem item = new DefaultDataItem(
-                entry.getKey(),
-                null,
-                value);
+            final DataItem item = new DefaultDataItem(entry.getKey(), null, value);
 
-            list[i++] = new DefaultData(
-                entry.getKey(), null, null, new DataItem[] { item });
+            list[i++] = new DefaultData(entry.getKey(), null, null, new DataItem[] { item });
         }
 
         // To delete old values already given, construct empty ones
         // for all not-specified options.
-        for (String colName : matrix.getColumnNames()) {
+        for (final String colName : this.matrix.getColumnNames()) {
             boolean found = false;
-            for (Data data : list) {
+            for (final Data data : list) {
                 if (data != null && data.getLabel().equals(colName)) {
                     found = true;
                     break;
@@ -76,21 +76,19 @@
             }
             if (!found) {
                 // Add an empty data for this.
-                list[i++] = new DefaultData(
-                    colName, null, null, new DataItem[] { });
+                list[i++] = new DefaultData(colName, null, null, new DataItem[] {});
             }
         }
 
         return list;
     }
 
-
-    protected String buildValueString(List<String> values) {
-        StringBuilder sb = new StringBuilder();
+    protected String buildValueString(final List<String> values) {
+        final StringBuilder sb = new StringBuilder();
 
         boolean first = true;
 
-        for (String value: values) {
+        for (final String value : values) {
             if (!first) {
                 sb.append(";");
             }
@@ -103,40 +101,37 @@
         return sb.toString();
     }
 
-
     /** Canvas to show in non-edit mode. */
     @Override
-    public Canvas createOld(DataList dataList) {
-        HLayout layout  = new HLayout();
-        VLayout vLayout = new VLayout();
+    public Canvas createOld(final DataList dataList) {
+        final HLayout layout = new HLayout();
+        final VLayout vLayout = new VLayout();
 
         layout.setWidth(300);
         vLayout.setWidth(280);
 
         for (int i = 0, n = dataList.size(); i < n; i++) {
-            HLayout row  = new HLayout();
-            VLayout cols = new VLayout();
+            final HLayout row = new HLayout();
+            final VLayout cols = new VLayout();
 
             row.setWidth(300);
             cols.setWidth(100);
 
-            Data       data  = dataList.get(i);
-            DataItem[] items = data.getItems();
+            final Data data = dataList.get(i);
+            final DataItem[] items = data.getItems();
 
-            Label parameter = new Label(data.getDescription());
+            final Label parameter = new Label(data.getDescription());
             parameter.setWidth(200);
 
-            for (int j = 0, m = items.length; j < m; j++) {
-                DataItem item  = items[j];
-                Label    value = new Label(item.getLabel());
+            for (final DataItem item : items) {
+                final Label value = new Label(item.getLabel());
 
-                value.setValign(
-                    com.smartgwt.client.types.VerticalAlignment.TOP);
+                value.setValign(com.smartgwt.client.types.VerticalAlignment.TOP);
                 value.setWidth(130);
                 value.setHeight(15);
 
                 cols.addMember(value);
-                LayoutSpacer spacer = new LayoutSpacer();
+                final LayoutSpacer spacer = new LayoutSpacer();
                 spacer.setHeight(5);
                 cols.addMember(spacer);
             }
@@ -147,7 +142,7 @@
             vLayout.addMember(row);
         }
 
-        Canvas back = getBackButton(dataList.getState());
+        final Canvas back = getBackButton(dataList.getState());
 
         layout.addMember(vLayout);
         layout.addMember(back);
@@ -155,73 +150,66 @@
         return layout;
     }
 
-
     /** Create the main canvas in the "editing" mode. */
     @Override
-    public Canvas create(DataList dataList) {
-        VLayout v = new VLayout();
+    public Canvas create(final DataList dataList) {
+        final VLayout v = new VLayout();
         v.addMember(createTitle(dataList));
 
-        matrix = new ParameterMatrix();
+        this.matrix = new ParameterMatrix(this.itemnameColTitle);
 
-        for (Data data: dataList.getAll()) {
+        for (final Data data : dataList.getAll()) {
             if (data instanceof IntegerOptionsData) {
-                matrix.addColumn((IntegerOptionsData) data);
-            }
-            else if (data instanceof StringOptionsData) {
-                matrix.addColumn((StringOptionsData) data);
-            }
-            else if (data instanceof MultiAttributeData) {
-                matrix.addColumn((MultiAttributeData)data);
+                this.matrix.addColumn((IntegerOptionsData) data);
+            } else if (data instanceof StringOptionsData) {
+                this.matrix.addColumn((StringOptionsData) data);
+            } else if (data instanceof MultiAttributeData) {
+                this.matrix.addColumn((MultiAttributeData) data);
             }
         }
 
         // If too many items are shown, show it in the helper Panel.
         // TODO its not about the datalist, but about the "rows" in the data.
         if (dataList.getAll().size() > 5) {
-            v.addMember(matrix.create(false));
-        }
-        else {
-            helperContainer.addMember(matrix.create(true));
+            v.addMember(this.matrix.create(false));
+        } else {
+            this.helperContainer.addMember(this.matrix.create(true));
         }
         v.addMember(getNextButton());
 
         return v;
     }
 
-
     /** Reaturns a label with description of first Data. */
-    protected Canvas createTitle(DataList dataList) {
-        Data data = dataList.get(0);
-        Label label = new Label(data.getDescription());
+    protected Canvas createTitle(final DataList dataList) {
+        final Data data = dataList.get(0);
+        final Label label = new Label(data.getDescription());
         label.setHeight(35);
 
         return label;
     }
 
-
     /** Selection shall not be empty. */
     @Override
     public List<String> validate() {
-        GWT.log ("validation. validation. validation. ");
-        List<String> errors = new ArrayList<String>();
+        GWT.log("validation. validation. validation. ");
+        final List<String> errors = new ArrayList<String>();
         // Early stop on one (only) error.
         boolean ok = false;
-        for (Map.Entry<String, List<String>> entry:
-                 matrix.getSelection().entrySet()
-        ) {
-            /* single entries are allowed!!
-                if (entry.getValue() == null || entry.getValue().size() == 0) {
-                    errors.add(MESSAGES.error_values_needed());
-                    return errors;
-                }
-                */
+        for (final Map.Entry<String, List<String>> entry : this.matrix.getSelection().entrySet()) {
+            /*
+             * single entries are allowed!!
+             * if (entry.getValue() == null || entry.getValue().size() == 0) {
+             * errors.add(MESSAGES.error_values_needed());
+             * return errors;
+             * }
+             */
             if (entry.getValue() != null && entry.getValue().size() > 0) {
                 ok = true;
             }
         }
         if (!ok) {
-            errors.add(MESSAGES.error_values_needed());
+            errors.add(this.MESSAGES.error_values_needed());
         }
         return errors;
     }

http://dive4elements.wald.intevation.org