--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/09/22 07:39:46 2227 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/09/22 10:17:38 2228 @@ -40,6 +40,8 @@ static Statistik mestBrugteTid = new Statistik(); static Statistik stoersteDataset = new Statistik(); + static Adresse[] alleDaekkedeAdresser; + static class Statistik { int postnr; @@ -211,64 +213,80 @@ distributor = conf.getSafeProperty("DISTRIBUTOR"); distributor = distributor.toUpperCase(); + logger.info("Starting for DISTRIBUTOR:" + distributor); + Constants.init(distributor); - + Constants consts = Constants.getInstance(); Database db = new Database(conf); - + boolean testRun= false; long start = System.currentTimeMillis(); - logger.info("Finder postnumre"); - List postnumre = db.hentPostnumre(); - - // Først validerer vi BBox på alle postnummre, for at undgå fuldt stop midt i beregningen - for(Integer postnr : postnumre) { // - logger.info("Validerer BBox for " + postnr); - BoundingBox bbox = db.getBoundingbox(postnr); - bbox.validateBbox(); - } - + if (testRun == false) { - //pre-check er ok - reset tmp tabel og start søgningen - db.resetResultTable(); - - for(Integer postnr : postnumre) { - Lookup lookup = new Lookup(postnr, db); - lookup.doLookup(); - } - - if (rename_tables) { - db.renameResultTables(); + logger.info("Finder postnumre"); + List postnumre = db.hentPostnumre(); + + // Først validerer vi BBox på alle postnummre, for at undgå fuldt stop midt i beregningen + for(Integer postnr : postnumre) { // + logger.info("Validerer BBox for " + postnr); + BoundingBox bbox = db.getBoundingbox(postnr); + bbox.validateBbox(); + } + + if (consts.doExtendedLookup()) { + logger.info("Henter alle daekkede adresser"); + alleDaekkedeAdresser = db.hentAlleDaekkedeAdresser(); + logger.info( "AlleDaekkedeAdresser.length=" + alleDaekkedeAdresser.length); + } + + + //pre-check er ok - reset tmp tabel og start søgningen + db.resetResultTable(); + + for(Integer postnr : postnumre) { + Lookup lookup = new Lookup(postnr, db); + lookup.doLookup(); + } + + if (rename_tables) { + db.renameResultTables(); + } else { + logger.info( "Rename tables is disabled !!!" ); + } + + + } else { - logger.info( "Rename tables is disabled !!!" ); + /// Test + db.resetResultTable(); + + if (consts.doExtendedLookup()) { + alleDaekkedeAdresser = db.hentAlleDaekkedeAdresser(); + logger.info( "AlleDaekkedeAdresser.length=" + alleDaekkedeAdresser.length); + } + + Lookup lookup = new Lookup(4583, db); + lookup.doLookup(); } long now = System.currentTimeMillis(); long elapsed = now - start ; - + logger.info("Mest brugte tid: " + mestBrugteTid); logger.info("Flest Ikke-dækkede, " + flestIkkeDaekkede); logger.info("Flest Dækkede, " + flestDaekkede); - logger.info("Største Dataset, " + stoersteDataset); + logger.info("Største Dataset, " + stoersteDataset); logger.info("Fuld load done : " + formatMilliSeconds(elapsed) ); - - - /* - /// Test - db.resetResultTable(); - Lookup lookup = new Lookup(2750, db); - lookup.doLookup(); - long now = System.currentTimeMillis(); - long elapsed = now - start ; - logger.info("Fuld load done : " + formatMilliSeconds(elapsed) );*/ } + static String formatMilliSeconds(long milliseconds) { int mseconds = (int) milliseconds % 1000; int seconds = (int) (milliseconds / 1000) % 60 ;