--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/02/03 18:45:33 2903 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/02/12 22:30:30 2937 @@ -26,7 +26,7 @@ private TaskLogger logger = TaskLogger.getInstance(); - final boolean verbose = false;// + final static boolean VERBOSE = false;// static boolean test_mode; @@ -41,26 +41,29 @@ ThreadPoolExecutor threadPool; + boolean isIncremental; - public AfstandAndenRuteTask(String distributor) { + public AfstandAndenRuteTask(String distributor, String type) { this.distributor = distributor; + + type = type.toUpperCase(); + switch(type) { + case "FULL": + isIncremental = false; + break; + case "INCREMENTAL": + isIncremental = true; + break; + default: + throw new RuntimeException("Unknown type" + type); + } } @Override protected void taskRun() throws Exception { - - - - - //Setup j.u.l Logger - //Logger root = Logger.getLogger(""); - //FileHandler fhandler = new FileHandler("fulddaekning.log"); // Ingen max størrelse, ingen rotation og ingen append - //fhandler.setFormatter( new SimpleFormatter() ); - //root.addHandler( fhandler ); - - + Constants.init(distributor); Constants consts = Constants.getInstance(); @@ -79,11 +82,15 @@ } logger.info("Starting with MAX_WORKERS:" + max_workers); setupThreadPool(max_workers); + + logger.info("Starting with INCREMENTAL:" + isIncremental); try (Connection conn = DBConnection.getConnection() ) { - Database db = new Database(conn); + Database db = new Database(conn, isIncremental); + + db.prepareIncrementalSearch(); Queue
ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() ); antalIkkeDaekkede = ikkeDaekkede.size(); @@ -145,7 +152,7 @@ CyclicBarrier barrier = new CyclicBarrier(max_workers + 1); for (int i=0; i