--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/05/07 16:07:46 2153 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/05/08 09:01:43 2154 @@ -28,11 +28,21 @@ Map workers = new ConcurrentHashMap(); - static int flestDaekkedeAntal = 0; - static int flestDaekkedePostnr; - static int flestIkkeDaekkedeAntal = 0; - static int flestIkkeDaekkedePostnr; + static Statistik flestDaekkede = new Statistik(); + static Statistik flestIkkeDaekkede = new Statistik(); + + + static class Statistik { + int postnr; + int antalDaekkede = 0; + int antalIkkeDaekkede = 0; + + @Override + public String toString() { + return "postnr=" + postnr + " antalIkkeDaekkede=" + antalIkkeDaekkede + " antalDaekkede=" + antalDaekkede; + } + } public Lookup(int postnr, Database db) { @@ -40,13 +50,20 @@ this.db = db; } - + public static void saveStatistics(Statistik stat) { + if (stat.antalDaekkede > flestDaekkede.antalDaekkede) { + flestDaekkede = stat; + } + if (stat.antalIkkeDaekkede > flestIkkeDaekkede.antalIkkeDaekkede) { + flestIkkeDaekkede = stat; + } + } public void doLookup() throws BoundingBoxException { logger.info("Starting for postnr=" + postnr); - int queueSize=-1; - + Statistik stat = new Statistik(); + long start1 = System.currentTimeMillis(); long start2 = 0; @@ -63,18 +80,13 @@ logger.info("Henter _ikke_ daekkede adresser i " + postnr); queue = db.hentIkkedaekkedeAdresser(postnr); - queueSize = queue.size(); - if (daekkedeAdresser.size() > flestDaekkedeAntal) { - flestDaekkedeAntal = daekkedeAdresser.size(); - flestDaekkedePostnr = postnr; - } - - if (queueSize > flestIkkeDaekkedeAntal) { - flestIkkeDaekkedeAntal = queueSize; - flestIkkeDaekkedePostnr = postnr; - } + stat.postnr = postnr; + stat.antalDaekkede = daekkedeAdresser.size(); + stat.antalIkkeDaekkede = queue.size(); + saveStatistics(stat); + logger.info("Starter beregning for " + postnr); start2 = System.currentTimeMillis(); @@ -103,9 +115,8 @@ } long now = System.currentTimeMillis(); - logger.info("Antal daekkede:" + daekkedeAdresser.size() + " postnr=" + postnr); - logger.info("Antal ikke-daekkede:" + queueSize + " postnr=" + postnr); - + + logger.info( stat.toString() ); logger.info("Done! elapsed=" + (now-start1) + "/" + (now-start2) + " postnr=" + postnr); } @@ -180,8 +191,8 @@ long now = System.currentTimeMillis(); logger.info("Fuld load done : " + (now-start) ); - logger.info("Flest Ikke-dækkede, " + flestIkkeDaekkedePostnr + ": " + flestIkkeDaekkedeAntal); - logger.info("Flest Dækkede, " + flestDaekkedePostnr + ": " + flestDaekkedeAntal); + logger.info("Flest Ikke-dækkede, " + flestIkkeDaekkede); + logger.info("Flest Dækkede, " + flestDaekkede); //Lookup lookup = new Lookup(7400, db);