diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java @ 9404:bc9a45d2b1fa

common time range for gauges incl. error messages
author gernotbelger
date Wed, 15 Aug 2018 13:59:09 +0200
parents 82c67b859aa7
children 43c975f8ab92
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java	Wed Aug 15 13:22:00 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java	Wed Aug 15 13:59:09 2018 +0200
@@ -14,10 +14,12 @@
 import java.util.List;
 import java.util.Map;
 
+import org.dive4elements.river.client.client.Config;
 import org.dive4elements.river.client.client.services.WQInfoService;
 import org.dive4elements.river.client.client.services.WQInfoServiceAsync;
 import org.dive4elements.river.client.client.ui.wq.QDTable;
 import org.dive4elements.river.client.client.ui.wq.WTable;
+import org.dive4elements.river.client.shared.model.ArtifactDescription;
 import org.dive4elements.river.client.shared.model.Data;
 import org.dive4elements.river.client.shared.model.DataItem;
 import org.dive4elements.river.client.shared.model.DataList;
@@ -385,9 +387,58 @@
         this.tabs.selectTab(inputIndex * 2 + (isWMode() ? 0 : 1));
     }
 
-    @Override
     protected void callMainValuesService(final String locale, final String river, final double start, final double end,
             final AsyncCallback<WQInfoObject[]> cb) {
         this.wqInfoService.getWQInfo(locale, river, start, end, cb);
     }
+
+    @Override
+    protected void fetchWQData() {
+        {
+            final Config config = Config.getInstance();
+            final String locale = config.getLocale();
+
+            final ArtifactDescription adescr = this.artifact.getArtifactDescription();
+            final DataList[] data = adescr.getOldData();
+
+            final String river = getRiverName(data);
+
+            int i = 0;
+
+            // Get Data for respective gauge.
+            for (final Double[] range : this.gaugeRanges) {
+                // Gauge ranges overlap, move start and end a bit closer
+                // to each other.
+                final double rDiff = (range[1] - range[0]) / 10d;
+                final int fi = i;
+                // TODO: HIER MÜSSTE EIN SERVICE HIN, der den größten gemeinsamen zeitlichen Bereich der daily_discharge_values aller
+                // Pegel ermittelt
+
+                final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() {
+                    @Override
+                    public void onFailure(final Throwable caught) {
+                        GWT.log("Could not recieve wq informations.");
+                        SC.warn(caught.getMessage());
+                    }
+
+                    @Override
+                    public void onSuccess(final WQInfoObject[] wqi) {
+                        final int num = wqi != null ? wqi.length : 0;
+                        GWT.log("Received " + num + " wq informations (" + fi + ".");
+
+                        if (num == 0) {
+                            return;
+                        }
+
+                        addWQInfo(wqi, fi, null);
+                    }
+                };
+
+                callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, cb);
+
+                i++;
+            }
+        }
+
+    }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org