/[projects]/dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java
ViewVC logotype

Diff of /dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java

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

dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/LookupWorker.java revision 2718 by torben, Mon Sep 28 11:09:33 2015 UTC dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java revision 2725 by torben, Tue Sep 29 07:48:48 2015 UTC
# Line 3  package dk.daoas.fulddaekning; Line 3  package dk.daoas.fulddaekning;
3  import java.sql.SQLException;  import java.sql.SQLException;
4  import java.util.Collection;  import java.util.Collection;
5  import java.util.Map;  import java.util.Map;
6    import java.util.NoSuchElementException;
7  import java.util.Queue;  import java.util.Queue;
8  import java.util.concurrent.BrokenBarrierException;  import java.util.concurrent.BrokenBarrierException;
9  import java.util.concurrent.CyclicBarrier;  import java.util.concurrent.CyclicBarrier;
# Line 60  public class LookupWorker implements Run Line 61  public class LookupWorker implements Run
61          public void run() {          public void run() {
62                  System.out.println( "Worker/" + workerID + " starting");                  System.out.println( "Worker/" + workerID + " starting");
63    
64                  while ( ! ikkeDaekkede.isEmpty() ) {                  try {
65                            while ( ! ikkeDaekkede.isEmpty() ) {
66                                                    
67                          Adresse qAdresse = ikkeDaekkede.remove();                                  Adresse qAdresse = ikkeDaekkede.remove();
68    
69                          short ho = qAdresse.ho;                                  short ho = qAdresse.ho;
70                          KdTree<Adresse> addressTree = hoTrees.get(ho);                                  KdTree<Adresse> addressTree = hoTrees.get(ho);
71    
72                          Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);                                  Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);
73                          if (res.size() > MAX_RESULTS ) {                                  if (res.size() > MAX_RESULTS ) {
74                                  System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );                                          System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );
75                                  System.exit(0);                                          System.exit(0);
76                          }                                  }
77    
78    
79                          Adresse bedsteAdr = res.iterator().next(); //Tag første element                          Adresse bedsteAdr = res.iterator().next(); //Tag første element
# Line 79  public class LookupWorker implements Run Line 81  public class LookupWorker implements Run
81                                                    
82                          //Hvis at den er inden for afstand, så prøver vi at lave findNærmste på vej distancen                          //Hvis at den er inden for afstand, så prøver vi at lave findNærmste på vej distancen
83                          if (bedsteAfstand <= consts.getMaxDistance()) {                          if (bedsteAfstand <= consts.getMaxDistance()) {
84                                  bedsteAdr = osrmHelper.getNearestViaTable(qAdresse, res);                                  Adresse bedsteAdr2 = osrmHelper.getNearestViaTable(qAdresse, res);
85                                  bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);  
86                                    if (bedsteAdr2 != null) {
87                                            bedsteAdr = bedsteAdr2;
88                                            bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);
89                                    } else {
90                                            logger.info("NearestViaTable returned null for " + qAdresse);
91                                    }
92                          }                          }
93                                                    
94    
# Line 108  public class LookupWorker implements Run Line 116  public class LookupWorker implements Run
116                                  }                                  }
117                          }                          }
118    
119                            }
120    
121                    } catch (Exception e) {
122                            logger.log( Level.SEVERE, "Worker/" + workerID, e);
123                  }                  }
124    
125    
126    
127                  try {                  try {
128                            logger.info( "Worker/" + workerID + " afventer barrier");
129                          barrier.await();                          barrier.await();
130                  } catch (BrokenBarrierException e) {                  } catch (BrokenBarrierException e) {
131                          logger.log(Level.SEVERE, e.getMessage(), e);                          logger.log(Level.SEVERE, e.getMessage(), e);
132                          System.exit(-1);                          System.exit(-1);
133                  } catch(InterruptedException e) {                  } catch(InterruptedException e) {
134                          //Do nothing                          logger.log(Level.SEVERE, e.getMessage(), e);
135                  }                  }
136    
137    

Legend:
Removed from v.2718  
changed lines
  Added in v.2725

  ViewVC Help
Powered by ViewVC 1.1.20