comparison 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
comparison
equal deleted inserted replaced
9403:e2da9c8a7c57 9404:bc9a45d2b1fa
12 import java.util.HashMap; 12 import java.util.HashMap;
13 import java.util.LinkedHashMap; 13 import java.util.LinkedHashMap;
14 import java.util.List; 14 import java.util.List;
15 import java.util.Map; 15 import java.util.Map;
16 16
17 import org.dive4elements.river.client.client.Config;
17 import org.dive4elements.river.client.client.services.WQInfoService; 18 import org.dive4elements.river.client.client.services.WQInfoService;
18 import org.dive4elements.river.client.client.services.WQInfoServiceAsync; 19 import org.dive4elements.river.client.client.services.WQInfoServiceAsync;
19 import org.dive4elements.river.client.client.ui.wq.QDTable; 20 import org.dive4elements.river.client.client.ui.wq.QDTable;
20 import org.dive4elements.river.client.client.ui.wq.WTable; 21 import org.dive4elements.river.client.client.ui.wq.WTable;
22 import org.dive4elements.river.client.shared.model.ArtifactDescription;
21 import org.dive4elements.river.client.shared.model.Data; 23 import org.dive4elements.river.client.shared.model.Data;
22 import org.dive4elements.river.client.shared.model.DataItem; 24 import org.dive4elements.river.client.shared.model.DataItem;
23 import org.dive4elements.river.client.shared.model.DataList; 25 import org.dive4elements.river.client.shared.model.DataList;
24 import org.dive4elements.river.client.shared.model.DefaultData; 26 import org.dive4elements.river.client.shared.model.DefaultData;
25 import org.dive4elements.river.client.shared.model.DefaultDataItem; 27 import org.dive4elements.river.client.shared.model.DefaultDataItem;
383 // TODO which makes a focus loss 385 // TODO which makes a focus loss
384 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus); 386 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus);
385 this.tabs.selectTab(inputIndex * 2 + (isWMode() ? 0 : 1)); 387 this.tabs.selectTab(inputIndex * 2 + (isWMode() ? 0 : 1));
386 } 388 }
387 389
388 @Override
389 protected void callMainValuesService(final String locale, final String river, final double start, final double end, 390 protected void callMainValuesService(final String locale, final String river, final double start, final double end,
390 final AsyncCallback<WQInfoObject[]> cb) { 391 final AsyncCallback<WQInfoObject[]> cb) {
391 this.wqInfoService.getWQInfo(locale, river, start, end, cb); 392 this.wqInfoService.getWQInfo(locale, river, start, end, cb);
392 } 393 }
394
395 @Override
396 protected void fetchWQData() {
397 {
398 final Config config = Config.getInstance();
399 final String locale = config.getLocale();
400
401 final ArtifactDescription adescr = this.artifact.getArtifactDescription();
402 final DataList[] data = adescr.getOldData();
403
404 final String river = getRiverName(data);
405
406 int i = 0;
407
408 // Get Data for respective gauge.
409 for (final Double[] range : this.gaugeRanges) {
410 // Gauge ranges overlap, move start and end a bit closer
411 // to each other.
412 final double rDiff = (range[1] - range[0]) / 10d;
413 final int fi = i;
414 // TODO: HIER MÜSSTE EIN SERVICE HIN, der den größten gemeinsamen zeitlichen Bereich der daily_discharge_values aller
415 // Pegel ermittelt
416
417 final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() {
418 @Override
419 public void onFailure(final Throwable caught) {
420 GWT.log("Could not recieve wq informations.");
421 SC.warn(caught.getMessage());
422 }
423
424 @Override
425 public void onSuccess(final WQInfoObject[] wqi) {
426 final int num = wqi != null ? wqi.length : 0;
427 GWT.log("Received " + num + " wq informations (" + fi + ".");
428
429 if (num == 0) {
430 return;
431 }
432
433 addWQInfo(wqi, fi, null);
434 }
435 };
436
437 callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, cb);
438
439 i++;
440 }
441 }
442
443 }
393 } 444 }

http://dive4elements.wald.intevation.org