Mercurial > dive4elements > river
view etl/src/main/java/org/dive4elements/river/etl/aft/Rivers.java @ 6809:4ff177f48952 double-precision
WstParser and Importer doc: More sensible default unit and warn if it is used.
author | Tom Gottfried <tom.gottfried@intevation.de> |
---|---|
date | Fri, 09 Aug 2013 20:30:14 +0200 |
parents | 6f80d5f375fd |
children | b3e2abe359d8 |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.etl.aft; import org.dive4elements.river.etl.db.ConnectedStatements; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; public class Rivers { private static Logger log = Logger.getLogger(Rivers.class); public Rivers() { } public boolean sync(SyncContext context) throws SQLException { log.info("sync: rivers"); ConnectedStatements flysStatements = context.getFlysStatements(); ConnectedStatements aftStatements = context.getAftStatements(); Map<String, River> flysRivers = new HashMap<String, River>(); ResultSet flysRs = flysStatements .getStatement("select.rivers").executeQuery(); try { while (flysRs.next()) { int id = flysRs.getInt("id"); String name = flysRs.getString("name"); double from = flysRs.getDouble("min_km"); double to = flysRs.getDouble("max_km"); flysRivers.put(name.toLowerCase(), new River(id, name, from, to)); } } finally { flysRs.close(); } List<River> commonRivers = new ArrayList<River>(); ResultSet aftRs = aftStatements .getStatement("select.gewaesser").executeQuery(); try { while (aftRs.next()) { String name = aftRs.getString("NAME"); River river = flysRivers.get(name.toLowerCase()); if (river != null) { int id2 = aftRs.getInt("GEWAESSER_NR"); river.setId2(id2); commonRivers.add(river); } } } finally { aftRs.close(); } boolean modified = false; for (River river: commonRivers) { modified |= river.sync(context); } return modified; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :