--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/Database.java 2016/01/30 14:12:51 2879 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/Database.java 2016/02/03 18:45:33 2903 @@ -14,15 +14,16 @@ import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.logging.Logger; import dk.daoas.adressevedligehold.beans.Address; +import dk.daoas.adressevedligehold.tasks.TaskLogger; import dk.daoas.adressevedligehold.util.DeduplicateHelper; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public class Database { - Logger logger = Logger.getLogger(Database.class.getName()); + private TaskLogger logger = TaskLogger.getInstance(); int batchCount = 0; @@ -52,7 +53,7 @@ public Database(Connection conn) throws SQLException,IOException { this.conn = conn; - String sql = "INSERT INTO fulddaekning.afstand_anden_rute_ny (orgId,orgPostnr, orgAddress,orgGadeid,orgHusnr,orgHusnrBogstav,orgRute,id,postnr,Address,gadeid,husnr,husnrbogstav,rute,afstand,`timestamp`) "+ + String sql = "INSERT INTO fulddaekning.afstand_anden_rute_ny (orgId,orgPostnr, orgAdresse,orgGadeid,orgHusnr,orgHusnrBogstav,orgRute,id,postnr,adresse,gadeid,husnr,husnrbogstav,rute,afstand,`timestamp`) "+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, now() )"; saveStmt = conn.prepareStatement(sql); @@ -72,6 +73,7 @@ } } + @SuppressFBWarnings("SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE") public void renameResultTables() throws SQLException { if (AfstandAndenRuteTask.test_mode == true) { throw new RuntimeException("Can not rename tables in test mode"); @@ -99,7 +101,7 @@ public BoundingBox getBoundingbox(short postnr) { BoundingBox bb = bbCache.get(postnr); - return bb.clone();//never return the original / cached object + return new BoundingBox(bb); //never return the original / cached object } @@ -113,7 +115,7 @@ logger.info("Henter alle IKKE-daekkede Addressr"); String sql = "SELECT id,a.postnr,vejnavn,gadeid,husnr,husnrbogstav,latitude,longitude,ruteMa,p.distributor as ho " + - "FROM fulddaekning.Addresstabel a " + + "FROM fulddaekning.adressetabel a " + "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " + "WHERE ruteMa IS NULL " + //Ingen dækning "AND a.postnr BETWEEN ? AND ? " + @@ -176,7 +178,7 @@ if ( alleAddressr == null ) { String sql = "SELECT id,a.postnr,vejnavn,gadeid,husnr,husnrbogstav,latitude,longitude,ruteMa,p.distributor as ho " + - "FROM fulddaekning.Addresstabel a " + + "FROM fulddaekning.adressetabel a " + "LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " + "WHERE ruteMa IS NOT NULL " + "AND latitude IS NOT NULL " + @@ -271,43 +273,43 @@ Constants consts = Constants.getInstance(); //logger.info("Starting query"); - ResultSet res = stmt.executeQuery(); - //logger.info("Starting exec query done"); - - while (res.next()) { - - double latitude = res.getDouble(7); - double longitude = res.getDouble(8); - - - Address adr = new Address(latitude,longitude); + try ( ResultSet res = stmt.executeQuery() ) { + - adr.id = res.getInt(1); - adr.postnr = res.getShort(2); - adr.vejnavn = vejnavnCache.getInstance( res.getString(3) ); - adr.gadeid = res.getInt(4); - adr.husnr = res.getShort(5); - adr.husnrbogstav = husnrbogstavCache.getInstance( res.getString(6) ); - //adr.latitude = res.getDouble(7); - //adr.longitude = res.getDouble(8); - adr.ruteMandag = ruteCache.getInstance( res.getString(9) ); - adr.ho = res.getShort(10); - - list.add(adr); - - if (consts.doCheckHO() == true && adr.ho == 0) { - System.out.println( "Mangler HO" ); - System.out.println( adr ); - System.exit(0); + while (res.next()) { + + double latitude = res.getDouble(7); + double longitude = res.getDouble(8); + + + Address adr = new Address(latitude,longitude); + + adr.id = res.getInt(1); + adr.postnr = res.getShort(2); + adr.vejnavn = vejnavnCache.getInstance( res.getString(3) ); + adr.gadeid = res.getInt(4); + adr.husnr = res.getShort(5); + adr.husnrbogstav = husnrbogstavCache.getInstance( res.getString(6) ); + //adr.latitude = res.getDouble(7); + //adr.longitude = res.getDouble(8); + adr.ruteMandag = ruteCache.getInstance( res.getString(9) ); + adr.ho = res.getShort(10); + + list.add(adr); + + if (consts.doCheckHO() == true && adr.ho == 0) { + logger.info( "Mangler HO: " + adr ); + throw new RuntimeException("Mangler HO: "+ adr); + } + + //logger.info( "Adress:" + adr); } - - //logger.info( "Adress:" + adr); + + res.close(); + stmt.close(); + + return list; } - - res.close(); - stmt.close(); - - return list; } }