ingo@3749: package de.intevation.flys.artifacts.access; ingo@3749: raimund@3760: import java.util.Date; raimund@3760: import java.util.LinkedList; raimund@3760: import java.util.List; raimund@3760: ingo@3749: import de.intevation.flys.artifacts.FLYSArtifact; raimund@3760: import de.intevation.flys.artifacts.model.DateRange; raimund@3760: ingo@3749: ingo@3749: public class BedQualityAccess extends Access { sascha@3750: raimund@3760: private Double from; raimund@3760: private Double to; raimund@3760: private String river; raimund@3760: private List ranges; raimund@3760: ingo@3749: public BedQualityAccess(FLYSArtifact artifact) { ingo@3749: super(artifact); ingo@3749: } raimund@3760: raimund@3760: public double getFrom() { raimund@3760: if (from == null) { raimund@3760: from = getDouble("ld_from"); raimund@3760: } raimund@3760: return from.doubleValue(); raimund@3760: } raimund@3760: raimund@3760: public double getTo() { raimund@3760: if (to == null) { raimund@3760: to = getDouble("ld_to"); raimund@3760: } raimund@3760: return to.doubleValue(); raimund@3760: } raimund@3760: raimund@3760: public String getRiver() { raimund@3760: if (river == null) { raimund@3760: river = getString("river"); raimund@3760: } raimund@3760: return river; raimund@3760: } raimund@3760: raimund@3760: public List getDateRanges() { raimund@3760: if (ranges == null) { raimund@3760: ranges = extractRanges(getString("periods")); raimund@3760: } raimund@3760: return ranges; raimund@3760: } raimund@3760: raimund@3760: private List extractRanges(String dateString) { raimund@3760: List list = new LinkedList(); raimund@3760: String[] dates = dateString.split(";"); raimund@3760: for (String s : dates) { raimund@3760: String[] pair = s.split(","); raimund@3760: try { raimund@3760: long l1 = Long.parseLong(pair[0]); raimund@3760: long l2 = Long.parseLong(pair[1]); raimund@3760: Date first = new Date(l1); raimund@3760: Date second = new Date(l2); raimund@3760: DateRange dr = new DateRange(first, second); raimund@3760: list.add(dr); raimund@3760: } raimund@3760: catch (NumberFormatException nfe) { raimund@3760: continue; raimund@3760: } raimund@3760: } raimund@3760: return list; raimund@3760: } ingo@3749: } raimund@3760: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :