/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java
ViewVC logotype

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2893 by torben, Mon Feb 1 07:02:12 2016 UTC revision 2927 by torben, Fri Feb 5 11:01:48 2016 UTC
# Line 11  import java.util.concurrent.Executors; Line 11  import java.util.concurrent.Executors;
11  import java.util.concurrent.ThreadFactory;  import java.util.concurrent.ThreadFactory;
12  import java.util.concurrent.ThreadPoolExecutor;  import java.util.concurrent.ThreadPoolExecutor;
13  import java.util.concurrent.atomic.AtomicInteger;  import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.FileHandler;  
 import java.util.logging.Logger;  
 import java.util.logging.SimpleFormatter;  
14    
15  import ags.utils.dataStructures.trees.thirdGenKD.KdTree;  import ags.utils.dataStructures.trees.thirdGenKD.KdTree;
16    import dk.daoas.adressevedligehold.ReloadHelper;
17  import dk.daoas.adressevedligehold.ServiceConfig;  import dk.daoas.adressevedligehold.ServiceConfig;
18  import dk.daoas.adressevedligehold.beans.Address;  import dk.daoas.adressevedligehold.beans.Address;
19  import dk.daoas.adressevedligehold.db.DBConnection;  import dk.daoas.adressevedligehold.db.DBConnection;
20  import dk.daoas.adressevedligehold.tasks.Task;  import dk.daoas.adressevedligehold.tasks.Task;
21  import dk.daoas.adressevedligehold.util.HttpUtil;  import dk.daoas.adressevedligehold.tasks.TaskLogger;
22    
23    
24    
25  public class AfstandAndenRuteTask extends Task {  public class AfstandAndenRuteTask extends Task {
26    
27          final Logger logger = Logger.getLogger( AfstandAndenRuteTask.class.toString() );          private TaskLogger logger = TaskLogger.getInstance();
28    
29          final boolean verbose = false;//          final static boolean VERBOSE = false;//
30    
31    
32          static boolean test_mode;          static boolean test_mode;
# Line 43  public class AfstandAndenRuteTask extend Line 41  public class AfstandAndenRuteTask extend
41    
42          ThreadPoolExecutor threadPool;          ThreadPoolExecutor threadPool;
43    
44            boolean isIncremental;
45            String type;
46    
47    
48          public AfstandAndenRuteTask(String distributor) {          public AfstandAndenRuteTask(String distributor, String type) {
49                  this.distributor = distributor;                  this.distributor = distributor;
50                    this.type = type;
51                    
52                    type = type.toUpperCase();
53                    switch(type) {
54                    case "FULL":
55                            isIncremental = false;
56                            break;
57                    case "INCREMENTAL":
58                            isIncremental = true;
59                            break;
60                    default:
61                            throw new RuntimeException("Unknown type" + type);                      
62                    }
63          }          }
64    
65    
66          @Override          @Override
67          protected void taskRun() throws Exception {          protected void taskRun() throws Exception {
68                    
   
   
   
                 //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 );  
   
   
69    
70                  Constants.init(distributor);                  Constants.init(distributor);
71                  Constants consts = Constants.getInstance();                  Constants consts = Constants.getInstance();
# Line 81  public class AfstandAndenRuteTask extend Line 84  public class AfstandAndenRuteTask extend
84                  }                  }
85                  logger.info("Starting with MAX_WORKERS:" + max_workers);                          logger.info("Starting with MAX_WORKERS:" + max_workers);        
86                  setupThreadPool(max_workers);                  setupThreadPool(max_workers);
87                    
88                    logger.info("Starting with INCREMENTAL:" + isIncremental);
89    
90    
91    
92                  try (Connection conn = DBConnection.getConnection() ) {                  try (Connection conn = DBConnection.getConnection() ) {
93                          Database db = new Database(conn);                          Database db = new Database(conn, isIncremental);
94                            
95                            db.prepareIncrementalSearch();
96    
97                          Queue<Address> ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() );                          Queue<Address> ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() );
98                          antalIkkeDaekkede = ikkeDaekkede.size();                          antalIkkeDaekkede = ikkeDaekkede.size();
# Line 147  public class AfstandAndenRuteTask extend Line 154  public class AfstandAndenRuteTask extend
154                                  CyclicBarrier barrier = new CyclicBarrier(max_workers + 1);                                  CyclicBarrier barrier = new CyclicBarrier(max_workers + 1);
155    
156                                  for (int i=0; i<max_workers; i++) {                                  for (int i=0; i<max_workers; i++) {
157                                          LookupWorker worker = new LookupWorker(i, this, barrier, ikkeDaekkede, hoTrees,antalFundne,antalBeregnet,db,verbose,consts);                                          LookupWorker worker = new LookupWorker(i, this, barrier, ikkeDaekkede, hoTrees,antalFundne,antalBeregnet,db,VERBOSE,consts);
158                                          threadPool.submit( worker );                                          threadPool.submit( worker );
159                                  }                                  }
160    
# Line 162  public class AfstandAndenRuteTask extend Line 169  public class AfstandAndenRuteTask extend
169    
170                                  if (test_mode == false && this.isAborted() == false) {                                  if (test_mode == false && this.isAborted() == false) {
171                                          db.renameResultTables();                                          db.renameResultTables();
172                                            
173                                            ReloadHelper.triggerReload( "AfstandAndenRute/" + distributor );
174    
                                         String trigger_url = ServiceConfig.getInstance().trigger_url;  
   
                                         logger.info("Calling trigger URL");  
                                         String url = trigger_url + "&trigger=AfstandAndenRute/" + distributor;  
   
                                         HttpUtil.getContentString(url, 500);  
175    
176                                  } else {                                  } else {
177                                          logger.info( "Rename tables is disabled !!!" );                                          logger.info( "Rename tables is disabled !!!" );
# Line 246  public class AfstandAndenRuteTask extend Line 249  public class AfstandAndenRuteTask extend
249    
250          @Override          @Override
251          public String getDetail() {          public String getDetail() {
252                  // TODO Auto-generated method stub                  if (isIncremental) {
253                  return "";                          return "Type: incremental";
254                    } else {
255                            return "Type: full";
256                    }
257          }          }
258    
259    

Legend:
Removed from v.2893  
changed lines
  Added in v.2927

  ViewVC Help
Powered by ViewVC 1.1.20