--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/02/01 08:32:44 2896 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/02/13 13:16:34 2946 @@ -11,9 +11,6 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.FileHandler; -import java.util.logging.Logger; -import java.util.logging.SimpleFormatter; import ags.utils.dataStructures.trees.thirdGenKD.KdTree; import dk.daoas.adressevedligehold.ReloadHelper; @@ -21,15 +18,15 @@ import dk.daoas.adressevedligehold.beans.Address; import dk.daoas.adressevedligehold.db.DBConnection; import dk.daoas.adressevedligehold.tasks.Task; -import dk.daoas.adressevedligehold.util.HttpUtil; +import dk.daoas.adressevedligehold.tasks.TaskLogger; public class AfstandAndenRuteTask extends Task { - final Logger logger = Logger.getLogger( AfstandAndenRuteTask.class.toString() ); + private TaskLogger logger = TaskLogger.getInstance(); - final boolean verbose = false;// + final static boolean VERBOSE = false;// static boolean test_mode; @@ -44,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(); @@ -82,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); + DatabaseRouteDistance db = new DatabaseRouteDistance(conn, isIncremental); + + db.prepareIncrementalSearch(); Queue
ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() ); antalIkkeDaekkede = ikkeDaekkede.size(); @@ -148,7 +152,7 @@ CyclicBarrier barrier = new CyclicBarrier(max_workers + 1); for (int i=0; i