--- 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/16 13:15:25 2954 @@ -23,10 +23,14 @@ public class AfstandAndenRuteTask extends Task { + private TaskLogger logger = TaskLogger.getInstance(); - final boolean verbose = false;// + final static boolean VERBOSE = false;// + + public final static String INCREMENTAL = "INCREMENTAL"; + public final static String FULL = "FULL"; static boolean test_mode; @@ -41,26 +45,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 +86,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); + DatabaseRouteDistance db = new DatabaseRouteDistance(conn, isIncremental); + + db.prepareIncrementalSearch(); Queue
ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() ); antalIkkeDaekkede = ikkeDaekkede.size(); @@ -145,7 +156,7 @@ CyclicBarrier barrier = new CyclicBarrier(max_workers + 1); for (int i=0; i