diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java @ 4183:1755a1bfe5ce

Merged
author Christian Lins <christian.lins@intevation.de>
date Fri, 19 Oct 2012 09:20:52 +0200
parents 0cc2c3d89a9d
children 810db532803a
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java	Tue Oct 16 12:44:15 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java	Fri Oct 19 09:20:52 2012 +0200
@@ -1,5 +1,6 @@
 package de.intevation.flys.artifacts.services;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Date;
 import java.util.Calendar;
@@ -16,6 +17,7 @@
 import de.intevation.artifacts.common.ArtifactNamespaceContext;
 import de.intevation.artifacts.common.utils.XMLUtils;
 
+import de.intevation.flys.artifacts.model.DischargeTables;
 import de.intevation.flys.model.Gauge;
 import de.intevation.flys.model.DischargeTable;
 import de.intevation.flys.model.TimeInterval;
@@ -77,13 +79,10 @@
         Document result = XMLUtils.newDocument();
 
         List<DischargeTable> tables =gauge.getDischargeTables();
+        Collections.sort(tables);
 
         Element all = result.createElement("discharges");
         for (DischargeTable dt: tables) {
-            if (dt.getKind() == Gauge.MASTER_DISCHARGE_TABLE) {
-                continue;
-            }
-
             Element discharge = result.createElement("discharge");
             discharge.setAttribute("description", dt.getDescription());
 
@@ -102,14 +101,18 @@
                 discharge.setAttribute("start", String.valueOf(startTime.getTime()));
             }
             else {
-                discharge.setAttribute("start", "-1");
+                continue;
             }
 
-            if (stopTime != null) {
+            if (stopTime != null && dt.getKind() != DischargeTables.MASTER) {
                 discharge.setAttribute("end", String.valueOf(stopTime.getTime()));
             }
+            else if (dt.getKind() == DischargeTables.MASTER) {
+                long now = System.currentTimeMillis();
+                discharge.setAttribute("end", String.valueOf(now));
+            }
             else {
-                discharge.setAttribute("end", "-1");
+                continue;
             }
 
             all.appendChild(discharge);

http://dive4elements.wald.intevation.org