sascha@4073: package de.intevation.aft; sascha@4073: sascha@4075: import java.util.Map; sascha@4075: import java.util.HashMap; sascha@4075: import java.util.List; sascha@4075: import java.util.ArrayList; sascha@4075: sascha@4075: sascha@4073: import java.sql.SQLException; sascha@4075: import java.sql.ResultSet; sascha@4073: sascha@4075: import de.intevation.db.ConnectedStatements; sascha@4075: sascha@4075: import org.apache.log4j.Logger; sascha@4073: sascha@4073: public class Rivers sascha@4073: { sascha@4075: private static Logger log = Logger.getLogger(Rivers.class); sascha@4073: sascha@4075: public Rivers() { sascha@4073: } sascha@4073: sascha@4094: public boolean sync(SyncContext context) throws SQLException { sascha@4077: sascha@4075: log.info("sync: rivers"); sascha@4073: sascha@4077: ConnectedStatements flysStatements = context.getFlysStatements(); sascha@4077: ConnectedStatements aftStatements = context.getAftStatements(); sascha@4077: sascha@4075: Map flysRivers = new HashMap(); sascha@4075: sascha@4075: ResultSet flysRs = flysStatements sascha@4075: .getStatement("select.river").executeQuery(); sascha@4075: sascha@4075: while (flysRs.next()) { sascha@4075: Integer id = flysRs.getInt("id"); sascha@4075: String name = flysRs.getString("name").toLowerCase(); sascha@4075: flysRivers.put(name, id); sascha@4075: } sascha@4075: sascha@4075: flysRs.close(); sascha@4075: sascha@4075: List commonRivers = new ArrayList(); sascha@4075: sascha@4075: ResultSet aftRs = aftStatements sascha@4075: .getStatement("select.gewaesser").executeQuery(); sascha@4075: sascha@4075: while (aftRs.next()) { sascha@4075: String name = aftRs.getString("NAME"); sascha@4075: Integer id1 = flysRivers.get(name.toLowerCase()); sascha@4075: if (id1 != null) { sascha@4075: int id2 = aftRs.getInt("GEWAESSER_NR"); sascha@4075: River river = new River(id1, id2, name); sascha@4075: commonRivers.add(river); sascha@4075: } sascha@4075: } sascha@4075: sascha@4075: aftRs.close(); sascha@4075: sascha@4094: boolean modified = false; sascha@4094: sascha@4075: for (River river: commonRivers) { sascha@4094: modified |= river.sync(context); sascha@4075: } sascha@4094: sascha@4094: return modified; sascha@4073: } sascha@4073: } sascha@4073: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :