diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java @ 3776:1ddbf66a2b0a

Implemented the access for 'Auslagerung extremer Wasserspiegellagen' flys-artifacts/trunk@5483 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 16 Sep 2012 17:55:10 +0000
parents d52c4ca93ffb
children 048a02e29808
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java	Sun Sep 16 11:40:38 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java	Sun Sep 16 17:55:10 2012 +0000
@@ -2,6 +2,13 @@
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 
+import de.intevation.flys.artifacts.model.RangeWithValues;
+
+import de.intevation.flys.utils.DoubleUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.log4j.Logger;
 
 public class ExtremeAccess
@@ -9,11 +16,123 @@
 {
     private static Logger log = Logger.getLogger(ExtremeAccess.class);
 
+    protected String river;
+
+    protected Double from;
+    protected Double to;
+    protected Double step;
+
+    protected Long start;
+    protected Long end;
+
+    protected Double percent;
+
+    protected String function;
+
+    protected List<RangeWithValues> ranges;
+
     public ExtremeAccess() {
     }
 
     public ExtremeAccess(FLYSArtifact artifact) {
         super(artifact);
     }
+
+    public String getRiver() {
+        if (river == null) {
+            river = getString("river");
+        }
+        if (log.isDebugEnabled()) {
+            log.debug("river: '" + river + "'");
+        }
+        return river;
+    }
+
+    public Double getFrom() {
+
+        if (from == null) {
+            from = getDouble("ld_from");
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("from: '" + from + "'");
+        }
+
+        return from;
+    }
+
+    public Double getTo() {
+
+        if (to == null) {
+            to = getDouble("ld_to");
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("to: '" + to + "'");
+        }
+
+        return to;
+    }
+
+    public Double getStep() {
+
+        if (step == null) {
+            step = getDouble("ld_step");
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("step: '" + step + "'");
+        }
+
+        return step;
+    }
+
+    public Double getPercent() {
+
+        if (percent == null) {
+            percent = getDouble("percent");
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("percent: '" + percent + "'");
+        }
+
+        return percent;
+    }
+
+    public String getFunction() {
+        if (function == null) {
+            function = getString("function");
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("function: '" + function + "'");
+        }
+
+        return function;
+    }
+
+    public List<RangeWithValues> getRanges() {
+
+        if (ranges == null) {
+            String rangesS = getString("ranges");
+            if (ranges == null) {
+                return null;
+            }
+            ranges = new ArrayList<RangeWithValues>();
+            DoubleUtil.parseSegments(rangesS, new DoubleUtil.SegmentCallback() {
+                @Override
+                public void newSegment(double from, double to, double [] values) {
+                    ranges.add(new RangeWithValues(from, to, values));
+                }
+            });
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("ranges: " + ranges);
+        }
+
+        return ranges;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org