# HG changeset patch # User Sascha L. Teichmann # Date 1324056851 0 # Node ID 42094f01afa6ef0a866398c50470f8c0a590c004 # Parent 0944cdd2ee905c8331e6f4f949ed7c55af70ab5f Added model for DIPS gauges. flys-aft/trunk@3454 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 0944cdd2ee90 -r 42094f01afa6 flys-aft/src/main/java/de/intevation/aft/DIPSGauge.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-aft/src/main/java/de/intevation/aft/DIPSGauge.java Fri Dec 16 17:34:11 2011 +0000 @@ -0,0 +1,16 @@ +package de.intevation.aft; + +import org.w3c.dom.Element; + +public class DIPSGauge +{ + protected double aeo; + + public DIPSGauge() { + } + + public DIPSGauge(Element element) { + aeo = Double.parseDouble(element.getAttribute("EINZUGSGEBIET_AEO")); + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 0944cdd2ee90 -r 42094f01afa6 flys-aft/src/main/java/de/intevation/aft/River.java --- a/flys-aft/src/main/java/de/intevation/aft/River.java Fri Dec 16 17:10:14 2011 +0000 +++ b/flys-aft/src/main/java/de/intevation/aft/River.java Fri Dec 16 17:34:11 2011 +0000 @@ -10,16 +10,20 @@ import org.w3c.dom.Document; import org.w3c.dom.NodeList; -import org.w3c.dom.Node; import org.w3c.dom.Element; import de.intevation.db.ConnectedStatements; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class River extends IdPair { private static Logger log = Logger.getLogger(River.class); + public static final Pattern NUMBER = Pattern.compile("0*([0-9]+)"); + protected String name; public River() { @@ -34,12 +38,22 @@ return name; } - protected static Map indexByNumber(Document document) { - Map map = new HashMap(); + public static Long numberToLong(String s) { + Matcher m = NUMBER.matcher(s); + if (!m.matches()) return null; + String ns = m.group(1); + return Long.valueOf(ns.length() == 0 ? "0": ns); + } + + public static Map indexByNumber(Document document) { + Map map = new HashMap(); NodeList nodes = document.getElementsByTagName("PEGELSTATION"); for (int i = nodes.getLength()-1; i >= 0; --i) { Element element = (Element)nodes.item(i); - String number = element.getAttribute("NUMMER"); + Long number = numberToLong(element.getAttribute("NUMMER")); + if (number != null) { + map.put(number, new DIPSGauge(element)); + } } return map; } @@ -75,6 +89,8 @@ } gaugesRs.close(); + + Map map = indexByNumber(context.getDips()); } public String toString() {