1 |
package dk.daoas.fulddaekning; |
package dk.daoas.fulddaekning; |
2 |
|
|
3 |
import java.sql.SQLException; |
import java.sql.SQLException; |
|
import java.util.ArrayList; |
|
4 |
import java.util.Queue; |
import java.util.Queue; |
5 |
import java.util.logging.Level; |
import java.util.logging.Level; |
6 |
import java.util.logging.Logger; |
import java.util.logging.Logger; |
18 |
|
|
19 |
@Override |
@Override |
20 |
public void run() { |
public void run() { |
21 |
ArrayList<Adresse> daekkede = lookup.getDaekkedeAdresser(); |
Constants consts = Constants.getInstance(); |
22 |
|
|
23 |
|
Adresse daekkede[] = lookup.getDaekkedeAdresser(); |
24 |
Queue<Adresse> queue = lookup.getQueue(); |
Queue<Adresse> queue = lookup.getQueue(); |
25 |
Database db = lookup.getDb(); |
Database db = lookup.getDb(); |
26 |
|
|
33 |
|
|
34 |
double bedsteAfstand = 9999999.999; |
double bedsteAfstand = 9999999.999; |
35 |
Adresse bedsteAdr = null; |
Adresse bedsteAdr = null; |
36 |
for (int i=0; i<daekkede.size(); i++) { |
for (int i=0; i<daekkede.length; i++) { |
37 |
Adresse daekket = daekkede.get(i); |
Adresse daekket = daekkede[i]; |
38 |
double afstand = Adresse.beregnAfstand(qAdresse, daekket); |
double afstand = Adresse.beregnAfstand(qAdresse, daekket); |
39 |
|
|
40 |
if (afstand < bedsteAfstand) { |
if (afstand < bedsteAfstand) { |
43 |
} |
} |
44 |
} |
} |
45 |
|
|
46 |
|
if (bedsteAdr == null && consts.doExtendedLookup() == true) {//hvis vi ikke fandt en adresse og vi må kigge på udvidet område |
47 |
|
logger.info("Extended lookup for " + qAdresse); |
48 |
|
for (int i=0; i<Lookup.alleDaekkedeAdresser.length; i++) { |
49 |
|
Adresse daekket = Lookup.alleDaekkedeAdresser[i]; |
50 |
|
double afstand = Adresse.beregnAfstand(qAdresse, daekket); |
51 |
|
|
52 |
|
if (afstand < bedsteAfstand) { |
53 |
|
bedsteAfstand = afstand; |
54 |
|
bedsteAdr = daekket; |
55 |
|
} |
56 |
|
} |
57 |
|
} |
58 |
|
|
59 |
|
|
60 |
if ( bedsteAdr != null) { |
if ( bedsteAdr != null) { |
61 |
|
|
62 |
if (bedsteAfstand <= 6.0) { |
if (bedsteAfstand <= consts.getMaxDistance() ) { //Gem kun hvis distancen er under max_distance for distributøren |
63 |
if (Lookup.verbose == true) { |
if (Lookup.verbose == true) { |
64 |
logger.info("(" +workerId + ") Bedste: " + qAdresse + "==>" + bedsteAdr + " ::: " + bedsteAfstand ); |
logger.info("(" +workerId + ") Bedste: " + qAdresse + "==>" + bedsteAdr + " ::: " + bedsteAfstand ); |
65 |
} |
} |