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 :
-

http://dive4elements.wald.intevation.org