Mercurial > dive4elements > river
diff flys-aft/src/main/java/de/intevation/aft/Rivers.java @ 4075:dbd0b3b1b8b8
Sync each river.
flys-aft/trunk@3419 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 14 Dec 2011 17:53:15 +0000 |
parents | 2c70fae83d0c |
children | 97de7a552b79 |
line wrap: on
line diff
--- a/flys-aft/src/main/java/de/intevation/aft/Rivers.java Tue Dec 13 14:32:55 2011 +0000 +++ b/flys-aft/src/main/java/de/intevation/aft/Rivers.java Wed Dec 14 17:53:15 2011 +0000 @@ -1,27 +1,67 @@ package de.intevation.aft; +import java.util.Map; +import java.util.HashMap; +import java.util.List; +import java.util.ArrayList; + + import java.sql.SQLException; +import java.sql.ResultSet; -import de.intevation.db.ConnectionBuilder; +import de.intevation.db.ConnectedStatements; + +import org.apache.log4j.Logger; public class Rivers { - protected ConnectionBuilder aftConnectionBuilder; - protected ConnectionBuilder flysConnectionBuilder; + private static Logger log = Logger.getLogger(Rivers.class); - public Rivers( - ConnectionBuilder aftConnectionBuilder, - ConnectionBuilder flysConnectionBuilder - ) { - this.aftConnectionBuilder = aftConnectionBuilder; - this.flysConnectionBuilder = flysConnectionBuilder; + public Rivers() { } - public void sync() throws SQLException { - } + public void sync( + ConnectedStatements aftStatements, + ConnectedStatements flysStatements + ) + throws SQLException + { + log.info("sync: rivers"); - public void close() { + Map<String, Integer> flysRivers = new HashMap<String, Integer>(); + + ResultSet flysRs = flysStatements + .getStatement("select.river").executeQuery(); + + while (flysRs.next()) { + Integer id = flysRs.getInt("id"); + String name = flysRs.getString("name").toLowerCase(); + flysRivers.put(name, id); + } + + flysRs.close(); + + List<River> commonRivers = new ArrayList<River>(); + + ResultSet aftRs = aftStatements + .getStatement("select.gewaesser").executeQuery(); + + while (aftRs.next()) { + String name = aftRs.getString("NAME"); + Integer id1 = flysRivers.get(name.toLowerCase()); + if (id1 != null) { + int id2 = aftRs.getInt("GEWAESSER_NR"); + River river = new River(id1, id2, name); + System.err.println(river); + commonRivers.add(river); + } + } + + aftRs.close(); + + for (River river: commonRivers) { + river.sync(aftStatements, flysStatements); + } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : -