changeset 8230:f54c4b858213

(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 08 Sep 2014 16:23:38 +0200
parents 0bf888783683
children dded480e17c9
files gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoService.java gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoServiceAsync.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadEpochPanel.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadPeriodPanel.java gwt-client/src/main/java/org/dive4elements/river/client/server/SedimentLoadInfoServiceImpl.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObject.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObjectImpl.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java
diffstat 9 files changed, 74 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoService.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoService.java	Mon Sep 08 16:23:38 2014 +0200
@@ -31,7 +31,8 @@
         String river,
         String type,
         double startKm,
-        double endKm)
+        double endKm,
+        String sq_ti_id)
     throws ServerException;
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoServiceAsync.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/SedimentLoadInfoServiceAsync.java	Mon Sep 08 16:23:38 2014 +0200
@@ -23,6 +23,7 @@
         String type,
         double startKm,
         double endKm,
+        String sq_ti_id,
         AsyncCallback<SedimentLoadInfoObject[]> cb);
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadEpochPanel.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadEpochPanel.java	Mon Sep 08 16:23:38 2014 +0200
@@ -253,7 +253,18 @@
         double[] km = artifact.getArtifactDescription().getKMRange();
         String river = artifact.getArtifactDescription().getRiver();
 
-        sedLoadInfoService.getSedimentLoadInfo(locale, river, "single", km[0], km[1],
+        String sq_ti_id = "";
+        if (data.length > 0) {
+            Data str = getData(data[0].getAll(), "sq_ti_id");
+            if (str != null) {
+                DataItem[] strItems = str.getItems();
+                sq_ti_id = strItems[0].getStringValue();
+            } else {
+                GWT.log("Failed to find sq time interval id in data.");
+            }
+        }
+
+        sedLoadInfoService.getSedimentLoadInfo(locale, river, "single", km[0], km[1], sq_ti_id,
             new AsyncCallback<SedimentLoadInfoObject[]>() {
                 public void onFailure(Throwable caught) {
                     GWT.log("Could not recieve sediment load informations.");
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java	Mon Sep 08 16:23:38 2014 +0200
@@ -163,7 +163,7 @@
         double[] km = artifact.getArtifactDescription().getKMRange();
         String river = artifact.getArtifactDescription().getRiver();
 
-        sedLoadInfoService.getSedimentLoadInfo(locale, river, "off_epoch", km[0], km[1],
+        sedLoadInfoService.getSedimentLoadInfo(locale, river, "off_epoch", km[0], km[1], "",
             new AsyncCallback<SedimentLoadInfoObject[]>() {
                 public void onFailure(Throwable caught) {
                     GWT.log("Could not receive sediment load informations.");
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadPeriodPanel.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadPeriodPanel.java	Mon Sep 08 16:23:38 2014 +0200
@@ -206,7 +206,18 @@
         double[] km = artifact.getArtifactDescription().getKMRange();
         String river = artifact.getArtifactDescription().getRiver();
 
-        sedLoadInfoService.getSedimentLoadInfo(locale, river, "single", km[0], km[1],
+        String sq_ti_id = "";
+        if (data.length > 0) {
+            Data str = getData(data[0].getAll(), "sq_ti_id");
+            if (str != null) {
+                DataItem[] strItems = str.getItems();
+                sq_ti_id = strItems[0].getStringValue();
+            } else {
+                GWT.log("Failed to find sq time interval id in data.");
+            }
+        }
+
+        sedLoadInfoService.getSedimentLoadInfo(locale, river, "single", km[0], km[1], sq_ti_id,
             new AsyncCallback<SedimentLoadInfoObject[]>() {
                 public void onFailure(Throwable caught) {
                     GWT.log("Could not recieve sediment load informations.");
--- a/gwt-client/src/main/java/org/dive4elements/river/client/server/SedimentLoadInfoServiceImpl.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/SedimentLoadInfoServiceImpl.java	Mon Sep 08 16:23:38 2014 +0200
@@ -46,7 +46,8 @@
         String river,
         String type,
         double startKm,
-        double endKm)
+        double endKm,
+        String sq_ti_id)
     throws ServerException
     {
         log.info("SedimentLoadInfoServiceImpl.getSedimentLoadInfo");
@@ -65,15 +66,18 @@
         Element from = ec.create("from");
         Element to = ec.create("to");
         Element typeEl = ec.create("type");
+        Element sqTiEl = ec.create("sq_ti_id");
         riverEl.setTextContent(river);
         from.setTextContent(String.valueOf(startKm));
         to.setTextContent(String.valueOf(endKm));
+        sqTiEl.setTextContent(sq_ti_id);
         typeEl.setTextContent(type);
 
         location.appendChild(from);
         location.appendChild(to);
         riverEl.appendChild(location);
         riverEl.appendChild(typeEl);
+        riverEl.appendChild(sqTiEl);
         doc.appendChild(riverEl);
 
         HttpClient client = new HttpClientImpl(url, locale);
@@ -149,9 +153,11 @@
 
         String desc      = node.getAttribute("description").trim();
         String date      = node.getAttribute("date").trim();
+        String sq_ti_date= node.getAttribute("sq_date").trim();
+        String sq_ti_id  = node.getAttribute("sq_ti_id").trim();
 
         if (desc.length() > 0 && date.length() > 0) {
-            return new SedimentLoadInfoObjectImpl(desc, date);
+            return new SedimentLoadInfoObjectImpl(desc, date, sq_ti_date, sq_ti_id);
         }
 
         log.warn("Invalid sediment load info object found.");
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObject.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObject.java	Mon Sep 08 16:23:38 2014 +0200
@@ -19,5 +19,9 @@
     String getDescription();
 
     String getDate();
+
+    String getSQTiDate();
+
+    String getSQTiId();
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObjectImpl.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoObjectImpl.java	Mon Sep 08 16:23:38 2014 +0200
@@ -16,16 +16,22 @@
 
     protected String description;
     protected String dateString;
+    protected String tiIdString;
+    protected String tiDateString;
 
     public SedimentLoadInfoObjectImpl() {
     }
 
     public SedimentLoadInfoObjectImpl(
         String description,
-        String dateString
+        String dateString,
+        String tiDateString,
+        String tiIdString
     ) {
         this.description = description;
         this.dateString = dateString;
+        this.tiDateString = tiDateString;
+        this.tiIdString = tiIdString;
     }
 
     public String getDescription() {
@@ -33,7 +39,15 @@
     }
 
     public String getDate() {
-        return this.dateString;
+        return dateString;
+    }
+
+    public String getSQTiDate() {
+        return tiDateString;
+    }
+
+    public String getSQTiId() {
+        return tiIdString;
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java	Mon Sep 08 16:21:26 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java	Mon Sep 08 16:23:38 2014 +0200
@@ -20,6 +20,8 @@
         this.sedimentLoadInfo = info;
         setDescription(info.getDescription());
         setDate(info.getDate());
+        setSQTiDate(info.getSQTiDate());
+        setSQTiId(info.getSQTiId());
     }
 
     public void setDescription(String description) {
@@ -30,6 +32,14 @@
         setAttribute("date", date);
     }
 
+    public void setSQTiDate(String date) {
+        setAttribute("sq_date", date);
+    }
+
+    public void setSQTiId(String id) {
+        setAttribute("sq_ti_id", id);
+    }
+
     public String getDescription() {
         return getAttribute("description");
     }
@@ -37,4 +47,12 @@
     public String getDate() {
         return getAttribute("date");
     }
+
+    public String getSQTiId() {
+        return getAttribute("sq_ti_id");
+    }
+
+    public String getSQTiDate() {
+        return getAttribute("sq_date");
+    }
 }

http://dive4elements.wald.intevation.org