--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2015/06/14 14:28:21 2585 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2015/07/13 10:16:41 2597 @@ -13,10 +13,8 @@ import java.util.List; import java.util.Map; import java.util.Properties; -import java.util.Queue; import java.util.Set; import java.util.TreeSet; -import java.util.concurrent.ConcurrentLinkedQueue; import java.util.logging.Logger; @@ -32,7 +30,13 @@ List alleAdresser; Adresse alleIkkeDaekkede[]; + Map> daekkedeAdresserHO = new HashMap>(); + + + + + DeduplicateHelper husnrbogstavCache = new DeduplicateHelper(); DeduplicateHelper ruteCache = new DeduplicateHelper(); @@ -72,10 +76,10 @@ conn.createStatement().executeUpdate(sql); logger.info("Rename tables"); - sql = "RENAME TABLE fulddaekning.afstand_anden_rute" + ext + " TO fulddaekning.afstand_anden_rute_old" + ext + ", fulddaekning.afstand_anden_rute_ny TO fulddaekning.afstand_anden_rute" + ext; + String sql2 = "RENAME TABLE fulddaekning.afstand_anden_rute" + ext + " TO fulddaekning.afstand_anden_rute_old" + ext + ", fulddaekning.afstand_anden_rute_ny TO fulddaekning.afstand_anden_rute" + ext; - logger.info("Executing: " + sql); - conn.createStatement().executeUpdate(sql); + logger.info("Executing: " + sql2); + conn.createStatement().executeUpdate(sql2); } public BoundingBox getBoundingbox(short postnr) { @@ -140,9 +144,11 @@ + public Map> getDaekkedeAdresserHO() { + return daekkedeAdresserHO; + } - - public List hentAlleDaekkedeAdresser() throws SQLException { + public int hentAlleDaekkedeAdresser() throws SQLException { if ( alleAdresser == null ) { String sql = "SELECT id,a.postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " + "FROM fulddaekning.adressetabel a " + @@ -163,8 +169,21 @@ alleAdresser = new ArrayList(); alleAdresser.addAll(list); + + for(Adresse addr : list) { + short ho = addr.ho; + List hoListe = daekkedeAdresserHO.get(ho); + if ( hoListe == null) { + hoListe = new ArrayList(); + daekkedeAdresserHO.put(ho, hoListe); + } + + hoListe.add(addr); + + } } - return alleAdresser; + + return alleAdresser.size(); }