Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java @ 4213:0674d89210f5
Added a new service to query a diagram with discharge tables.
This service takes a gauge (required) and a timerange (optional) as input parameters.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 07:39:09 +0200 |
parents | 6d8c7a00e74e |
children | 270f3ac8a82e |
line wrap: on
line source
package de.intevation.flys.artifacts.access; 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; /** Access data used for extreme value analysis. */ public class ExtremeAccess extends RiverAccess { private static Logger log = Logger.getLogger(ExtremeAccess.class); 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); } /** From (km) for calculation. */ public Double getFrom() { if (from == null) { from = getDouble("ld_from"); } if (log.isDebugEnabled()) { log.debug("from: '" + from + "'"); } return from; } /** To (km) for calculation. */ public Double getTo() { if (to == null) { to = getDouble("ld_to"); } if (log.isDebugEnabled()) { log.debug("to: '" + to + "'"); } return to; } /** Step width for calculation. */ 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 :