diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadDistancePanel.java @ 9175:34dc0163ad2d

DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
author gernotbelger
date Mon, 25 Jun 2018 17:58:11 +0200
parents 5e38e2924c07
children
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadDistancePanel.java	Mon Jun 25 16:07:41 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadDistancePanel.java	Mon Jun 25 17:58:11 2018 +0200
@@ -10,17 +10,6 @@
 
 import java.util.List;
 
-import com.smartgwt.client.data.Record;
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
-import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
-import com.smartgwt.client.widgets.grid.events.CellClickEvent;
-import com.smartgwt.client.widgets.grid.events.CellClickHandler;
-import com.smartgwt.client.widgets.layout.HLayout;
-import com.smartgwt.client.widgets.layout.VLayout;
-
 import org.dive4elements.river.client.client.Config;
 import org.dive4elements.river.client.client.ui.AbstractUIProvider;
 import org.dive4elements.river.client.client.ui.DoubleRangeOnlyPanel;
@@ -34,11 +23,18 @@
 import org.dive4elements.river.client.shared.model.DefaultData;
 import org.dive4elements.river.client.shared.model.DefaultDataItem;
 
+import com.smartgwt.client.data.Record;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
+import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
+import com.smartgwt.client.widgets.grid.events.CellClickEvent;
+import com.smartgwt.client.widgets.grid.events.CellClickHandler;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
 
-public class SedLoadDistancePanel
-extends AbstractUIProvider
-implements BlurHandler, CellClickHandler
-{
+public class SedLoadDistancePanel extends AbstractUIProvider implements BlurHandler, CellClickHandler {
     public static final String FIELD_LOWER = "ld_from";
     public static final String FIELD_UPPER = "ld_to";
 
@@ -48,14 +44,14 @@
     protected LocationPicker picker;
 
     @Override
-    public Canvas createOld(DataList dataList) {
-        String s = getOldSelectionString(dataList);
-        String l = dataList.getLabel();
+    public Canvas createOld(final DataList dataList) {
+        final String s = getOldSelectionString(dataList);
+        final String l = dataList.getLabel();
 
-        Label label    = new Label(l);
-        Label selected = new Label(s);
+        final Label label = new Label(l);
+        final Label selected = new Label(s);
 
-        HLayout layout = new HLayout();
+        final HLayout layout = new HLayout();
 
         layout.setWidth(400);
         label.setWidth(200);
@@ -68,174 +64,171 @@
         return layout;
     }
 
-    protected String getOldSelectionString(DataList dataList) {
-        List<Data> items = dataList.getAll();
-
-        Data dFrom = getData(items, FIELD_LOWER);
-        Data dTo   = getData(items, FIELD_UPPER);
+    protected String getOldSelectionString(final DataList dataList) {
+        final List<Data> items = dataList.getAll();
 
-        DataItem[] from = dFrom.getItems();
-        DataItem[] to   = dTo.getItems();
+        final Data dFrom = getData(items, FIELD_LOWER);
+        final Data dTo = getData(items, FIELD_UPPER);
 
-        StringBuilder sb = new StringBuilder();
+        final DataItem[] from = dFrom.getItems();
+        final DataItem[] to = dTo.getItems();
+
+        final StringBuilder sb = new StringBuilder();
         sb.append(from[0].getLabel());
-        sb.append(" " + MSG.dpUnitFrom() + " - ");
+        sb.append(" " + this.MSG.dpUnitFrom() + " - ");
         sb.append(to[0].getLabel());
-        sb.append(" " + MSG.dpUnitTo());
+        sb.append(" " + this.MSG.dpUnitTo());
 
         return sb.toString();
     }
 
     @Override
-    public Canvas create(DataList data) {
-        picker = new LocationPicker(this);
-        distancePanel = new DoubleRangeOnlyPanel(
-            MSG.dpUnitFrom() + " - ",
-            MSG.dpUnitTo(), 0d, 0d, 250, this, "right");
-        VLayout layout = new VLayout();
+    public Canvas create(final DataList data) {
+        this.picker = new LocationPicker(this);
+        this.distancePanel = new DoubleRangeOnlyPanel(this.MSG.dpUnitFrom() + " - ", this.MSG.dpUnitTo(), 0d, 0d, 250, this, "right");
+        final VLayout layout = new VLayout();
         layout.setMembersMargin(10);
 
-        Label label = new Label(MSG.distance_state());
+        final Label label = getLabel(data);
 
-        Canvas submit = getNextButton();
+        final Canvas submit = getNextButton();
 
         label.setHeight(25);
-        distancePanel.setHeight(50);
+        this.distancePanel.setHeight(50);
 
         layout.addMember(label);
-        layout.addMember(distancePanel);
+        layout.addMember(this.distancePanel);
         layout.addMember(submit);
 
         initMinMaxValues(data);
         initDefaultValues(data);
 
+        this.picker.setIsDistance(true);
+        this.picker.getLocationTable().setAutoFetchData(true);
+        this.picker.prepareFilter();
 
-        picker.setIsDistance(true);
-        picker.getLocationTable().setAutoFetchData(true);
-        picker.prepareFilter();
-
-        helperContainer.addMember(picker.getLocationTable());
-        helperContainer.addMember(picker.getFilterLayout());
-        helperContainer.addMember(picker.getResultCountForm());
+        this.helperContainer.addMember(this.picker.getLocationTable());
+        this.helperContainer.addMember(this.picker.getFilterLayout());
+        this.helperContainer.addMember(this.picker.getResultCountForm());
 
         setPickerDataSource();
-        picker.createLocationTable();
+        this.picker.createLocationTable();
 
         return layout;
     }
 
-    protected void initMinMaxValues(DataList data) {
-        Data f = getData(data.getAll(), FIELD_LOWER);
-        Data t = getData(data.getAll(), FIELD_UPPER);
+    protected void initMinMaxValues(final DataList data) {
+        final Data f = getData(data.getAll(), FIELD_LOWER);
+        final Data t = getData(data.getAll(), FIELD_UPPER);
 
-        DataItem[] fItems = f.getItems();
-        DataItem[] tItems = t.getItems();
+        final DataItem[] fItems = f.getItems();
+        final DataItem[] tItems = t.getItems();
 
         try {
-            min = Double.valueOf(fItems[0].getStringValue());
-            max = Double.valueOf(tItems[0].getStringValue());
+            this.min = Double.valueOf(fItems[0].getStringValue());
+            this.max = Double.valueOf(tItems[0].getStringValue());
         }
-        catch (NumberFormatException nfe) {
-            min = -Double.MAX_VALUE;
-            max =  Double.MAX_VALUE;
+        catch (final NumberFormatException nfe) {
+            this.min = -Double.MAX_VALUE;
+            this.max = Double.MAX_VALUE;
         }
     }
 
-    protected void initDefaultValues(DataList data) {
+    protected void initDefaultValues(final DataList data) {
         initDefaultFrom(data);
         initDefaultTo(data);
     }
 
-    protected void initDefaultFrom(DataList data) {
-        Data f = getData(data.getAll(), FIELD_LOWER);
+    private Label getLabel(final DataList data) {
+        final Data item = data.get(0);
+        // if (data.getState().contains("uinfo")) { // "Wahl der Berechnungsstrecke/des Darstellungsbereichs" (server) vs.
+        // "Berechnungsstrecke wählen" (client)
+        return new Label(item.getDescription()); // holt das Label vom Server (funktoniert schon sehr oft so!)
+        // }
+        // return new Label(getLabel()); // holt das Label aus den Flys-Constants..
+    }
+
+    protected void initDefaultFrom(final DataList data) {
+        final Data f = getData(data.getAll(), FIELD_LOWER);
 
         double from = getDefaultFrom();
 
         try {
             from = getDefaultValue(f);
         }
-        catch (NumberFormatException nfe) {
+        catch (final NumberFormatException nfe) {
             // do nothing
         }
 
-        distancePanel.setFrom(from);
+        this.distancePanel.setFrom(from);
     }
 
-
     protected double getDefaultFrom() {
-        return min;
+        return this.min;
     }
 
-
-    protected void initDefaultTo(DataList data) {
-        Data t = getData(data.getAll(), FIELD_UPPER);
+    protected void initDefaultTo(final DataList data) {
+        final Data t = getData(data.getAll(), FIELD_UPPER);
 
         double to = getDefaultTo();
 
         try {
             to = getDefaultValue(t);
         }
-        catch (NumberFormatException nfe) {
+        catch (final NumberFormatException nfe) {
             // do nothing
         }
 
-        distancePanel.setTo(to);
+        this.distancePanel.setTo(to);
     }
 
-
     protected double getDefaultTo() {
-        return max;
+        return this.max;
     }
 
-    protected double getDefaultValue(Data data)
-    throws NumberFormatException
-    {
-        DataItem def      = data.getDefault();
-        String   defValue = def != null ? def.getStringValue() : null;
+    protected double getDefaultValue(final Data data) throws NumberFormatException {
+        final DataItem def = data.getDefault();
+        final String defValue = def != null ? def.getStringValue() : null;
 
         return Double.valueOf(defValue);
     }
 
     /** Hook service to the listgrid with possible input values. */
     protected void setPickerDataSource() {
-        Config config = Config.getInstance();
-        String url    = config.getServerUrl();
-        String river  = "";
+        final Config config = Config.getInstance();
+        final String url = config.getServerUrl();
+        String river = "";
 
-        ArtifactDescription adescr = artifact.getArtifactDescription();
-        DataList[] data = adescr.getOldData();
+        final ArtifactDescription adescr = this.artifact.getArtifactDescription();
+        final DataList[] data = adescr.getOldData();
 
         // Try to find a "river" data item to set the source for the
         // list grid.
         String dataFilter = "locations";
         if (data != null && data.length > 0) {
-            for (int i = 0; i < data.length; i++) {
-                DataList dl = data[i];
+            for (final DataList dl : data) {
                 if (dl.getState().equals("state.minfo.river")) {
                     dataFilter = "measuringpoint";
                 }
-                if (dl.getState().equals("state.winfo.river") ||
-                    dl.getState().equals("state.chart.river") ||
-                    dl.getState().equals("state.minfo.river")) {
+                if (dl.getState().equals("state.winfo.river") || dl.getState().equals("state.chart.river") || dl.getState().equals("state.minfo.river")) {
                     for (int j = 0; j < dl.size(); j++) {
-                        Data d = dl.get(j);
-                        DataItem[] di = d.getItems();
+                        final Data d = dl.get(j);
+                        final DataItem[] di = d.getItems();
                         if (di != null && di.length == 1) {
-                           river = d.getItems()[0].getStringValue();
-                           break;
+                            river = d.getItems()[0].getStringValue();
+                            break;
                         }
                     }
                 }
             }
         }
 
-        picker.getLocationTable().setDataSource(new DistanceInfoDataSource(
-            url, river, dataFilter));
+        this.picker.getLocationTable().setDataSource(new DistanceInfoDataSource(url, river, dataFilter));
     }
 
     @Override
     protected Data[] getData() {
-        Data[] data = new Data[2];
+        final Data[] data = new Data[2];
 
         data[0] = getDataFrom();
         data[1] = getDataTo();
@@ -244,42 +237,45 @@
     }
 
     protected Data getDataFrom() {
-        String value = String.valueOf(distancePanel.getFrom());
-        String field = FIELD_LOWER;
+        final String value = String.valueOf(this.distancePanel.getFrom());
+        final String field = FIELD_LOWER;
 
-        DataItem item = new DefaultDataItem(field, field, value);
-        return new DefaultData(
-            field, null, null, new DataItem[] { item });
+        final DataItem item = new DefaultDataItem(field, field, value);
+        return new DefaultData(field, null, null, new DataItem[] { item });
     }
 
     protected Data getDataTo() {
-        String value = String.valueOf(distancePanel.getTo());
-        String field = FIELD_UPPER;
+        final String value = String.valueOf(this.distancePanel.getTo());
+        final String field = FIELD_UPPER;
 
-        DataItem item = new DefaultDataItem(field, field, value);
-        return new DefaultData(
-            field, null, null, new DataItem[] { item });
+        final DataItem item = new DefaultDataItem(field, field, value);
+        return new DefaultData(field, null, null, new DataItem[] { item });
     }
 
     @Override
-    public void onBlur(BlurEvent event) {
-        distancePanel.validateForm();
+    public void onBlur(final BlurEvent event) {
+        this.distancePanel.validateForm();
     }
 
     @Override
-    public void onCellClick(CellClickEvent e) {
-        Record record = e.getRecord();
-        int ndx = e.getColNum();
-        String from   = record.getAttribute("from");
+    public void onCellClick(final CellClickEvent e) {
+        final Record record = e.getRecord();
+        final int ndx = e.getColNum();
+        final String from = record.getAttribute("from");
         try {
-            double value = Double.valueOf(from);
+            final double value = Double.valueOf(from);
             switch (ndx) {
-                case 0: distancePanel.setFrom(value); break;
-                case 1: distancePanel.setTo(value); break;
+            case 0:
+                this.distancePanel.setFrom(value);
+                break;
+            case 1:
+                this.distancePanel.setTo(value);
+                break;
             }
         }
-        catch(NumberFormatException nfe) {
-            SC.warn(MSG.wrongFormat());
+        catch (final NumberFormatException nfe) {
+            SC.warn(this.MSG.wrongFormat());
         }
     }
+
 }

http://dive4elements.wald.intevation.org