--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/05/07 08:10:45 2152 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Lookup.java 2014/12/10 09:50:33 2241 @@ -1,11 +1,6 @@ package dk.daoas.fulddaekning; -import java.io.File; -import java.io.FileReader; -import java.util.ArrayList; -import java.util.List; import java.util.Map; -import java.util.Properties; import java.util.Queue; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; @@ -14,38 +9,47 @@ import dk.daoas.fulddaekning.BoundingBox.BoundingBoxException; public class Lookup { - static int max_workers; - static boolean verbose; + + - static Properties conf; - static Logger logger = Logger.getLogger( Lookup.class.toString() ); + final static Logger logger = Logger.getLogger( Lookup.class.toString() ); - int postnr; + String postnr; Database db; - ArrayList daekkedeAdresser; + Adresse daekkedeAdresser[]; Queue queue; Map workers = new ConcurrentHashMap(); + + - public Lookup(int postnr, Database db) { + public Lookup(String postnr, Database db) { this.postnr = postnr; this.db = db; } - + 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; try { + + logger.info("Henter _ikke_ daekkede adresser i " + postnr); + queue = db.hentIkkedaekkedeAdresser(postnr); + if (queue.size() == 0) { + logger.info("Fandt ikke nogen _ikke_ daekkede adresser i " + postnr); + return; + } + BoundingBox bbox = db.getBoundingbox(postnr); bbox.validateBbox(); @@ -56,15 +60,16 @@ logger.info("Henter daekkede adresser i " + postnr); daekkedeAdresser = db.hentDaekkedeAdresser(bbox); - logger.info("Henter _ikke_ daekkede adresser i " + postnr); - queue = db.hentIkkedaekkedeAdresser(postnr); - queueSize = queue.size(); - + stat.postnr = postnr; + stat.antalDaekkede = daekkedeAdresser.length; + stat.antalIkkeDaekkede = queue.size(); + stat.totalDataset = stat.antalDaekkede * stat.antalIkkeDaekkede; + logger.info("Starter beregning for " + postnr); start2 = System.currentTimeMillis(); - for (int i =0; i getDaekkedeAdresser() { + public Adresse[] getDaekkedeAdresser() { return daekkedeAdresser; } @@ -117,58 +130,4 @@ } - - - - - ///////////////////////////// - // Static functions - - - - - public static void main(String[] args) throws Exception { - - File confFile = new File("fulddaekning.properties"); - if (! confFile.exists() ) { - logger.warning("Config file not found"); - System.exit(1); - } - - conf = new Properties(); - conf.load( new FileReader(confFile) ); - - max_workers = Integer.parseInt( conf.getProperty("MAX_WORKERS") ); - logger.info("Starting with MAX_WORKERS:" + max_workers); - - verbose = Boolean.parseBoolean( conf.getProperty("VERBOSE") ); - logger.info("Starting with VERBOSE:" + verbose); - - Database db = new Database(conf); - - db.resetResultTable(); - - - - - - long start = System.currentTimeMillis(); - - logger.info("Finder postnumre"); - List postnumre = db.hentPostnumre(); - - for(Integer postnr : postnumre) { - Lookup lookup = new Lookup(postnr, db); - lookup.doLookup(); - } - - long now = System.currentTimeMillis(); - - logger.info("Fuld load done : " + (now-start) ); - - - //Lookup lookup = new Lookup(7400, db); - //lookup.doLookup(); - } - }