Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java @ 3760:312870fded7e
Added result objects for minfo bed quality calculation.
flys-artifacts/trunk@5459 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 13 Sep 2012 13:51:00 +0000 |
parents | e560a9a10eb1 |
children | 00aafe1fedd7 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java Thu Sep 13 13:47:02 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java Thu Sep 13 13:51:00 2012 +0000 @@ -1,11 +1,70 @@ package de.intevation.flys.artifacts.access; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; + import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.model.DateRange; + public class BedQualityAccess extends Access { + private Double from; + private Double to; + private String river; + private List<DateRange> ranges; + public BedQualityAccess(FLYSArtifact artifact) { super(artifact); } + + public double getFrom() { + if (from == null) { + from = getDouble("ld_from"); + } + return from.doubleValue(); + } + + public double getTo() { + if (to == null) { + to = getDouble("ld_to"); + } + return to.doubleValue(); + } + + public String getRiver() { + if (river == null) { + river = getString("river"); + } + return river; + } + + public List<DateRange> getDateRanges() { + if (ranges == null) { + ranges = extractRanges(getString("periods")); + } + return ranges; + } + + private List<DateRange> extractRanges(String dateString) { + List<DateRange> list = new LinkedList<DateRange>(); + String[] dates = dateString.split(";"); + for (String s : dates) { + String[] pair = s.split(","); + try { + long l1 = Long.parseLong(pair[0]); + long l2 = Long.parseLong(pair[1]); + Date first = new Date(l1); + Date second = new Date(l2); + DateRange dr = new DateRange(first, second); + list.add(dr); + } + catch (NumberFormatException nfe) { + continue; + } + } + return list; + } } -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : \ No newline at end of file