diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/OfficialLineFinder.java @ 6510:1e6bd2831280

artifacts: Desktop-FLYS conform official line messages in error reports.
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 28 Jun 2013 20:20:14 +0200
parents 1e97d2e95410
children 862c7f511c35
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/OfficialLineFinder.java	Fri Jun 28 19:24:46 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/OfficialLineFinder.java	Fri Jun 28 20:20:14 2013 +0200
@@ -10,6 +10,7 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -25,6 +26,7 @@
 import org.dive4elements.river.model.NamedMainValue;
 import org.dive4elements.river.model.OfficialLine;
 import org.dive4elements.river.model.River;
+import org.dive4elements.river.model.TimeInterval;
 import org.dive4elements.river.model.Wst;
 import org.dive4elements.river.model.WstColumn;
 
@@ -46,6 +48,8 @@
         private int    wstId;
         private int    columnPos;
         private String name;
+        private String source;
+        private Date   date;
 
         public ValueRange(
             double start,
@@ -53,13 +57,17 @@
             double value,
             int    wstId,
             int    columnPos,
-            String name
+            String name,
+            String source,
+            Date   date
         ) {
             super(start, end);
             this.value     = value;
             this.wstId     = wstId;
             this.columnPos = columnPos;
             this.name      = name;
+            this.source    = source;
+            this.date      = date;
         }
 
         public boolean sameValue(double value) {
@@ -82,6 +90,14 @@
             return name;
         }
 
+        public String getSource() {
+            return source;
+        }
+
+        public Date getDate() {
+            return date;
+        }
+
         @Override
         public boolean equals(Object o) {
             if (!(o instanceof ValueRange)) {
@@ -96,7 +112,9 @@
             return "[" + name +
                 " value: " + value +
                 " wstId: " + wstId +
-                " pos: " + columnPos + "]";
+                " pos: " + columnPos +
+                " source: " + source +
+                " date: " + date +"]";
         }
     }
 
@@ -132,10 +150,13 @@
             new HashMap<String, List<ValueRange>>();
 
         for (OfficialLine line: OfficialLine.fetchAllOfficalLines()) {
-            NamedMainValue nmv = line.getNamedMainValue();
-            Integer   mnvId    = nmv.getId();
-            WstColumn wc       = line.getWstColumn();
-            Wst       wst      = wc.getWst();
+            NamedMainValue nmv    = line.getNamedMainValue();
+            Integer        mnvId  = nmv.getId();
+            WstColumn      wc     = line.getWstColumn();
+            Wst            wst    = wc.getWst();
+            TimeInterval   ti     = wc.getTimeInterval();
+            Date           date   = ti != null ? ti.getStartTime() : null;
+            String         source = wc.getSource();
 
             List<ValueRange> ranges = new ArrayList<ValueRange>();
 
@@ -154,7 +175,8 @@
                         int    wstId = wst.getId();
                         int    pos   = wc.getPosition();
                         ValueRange range = new ValueRange(
-                            from, to, value, wstId, pos, nmv.getName());
+                            from, to, value, wstId, pos,
+                            nmv.getName(), source, date);
 
                         if (debug) {
                             log.debug(

http://dive4elements.wald.intevation.org