9 |
import java.util.HashSet; |
import java.util.HashSet; |
10 |
import java.util.List; |
import java.util.List; |
11 |
import java.util.Map; |
import java.util.Map; |
12 |
|
import java.util.Map.Entry; |
13 |
import java.util.Set; |
import java.util.Set; |
14 |
|
import java.util.TreeMap; |
15 |
|
import java.util.TreeSet; |
16 |
import java.util.concurrent.ConcurrentHashMap; |
import java.util.concurrent.ConcurrentHashMap; |
17 |
|
|
18 |
import org.apache.commons.lang3.StringUtils; |
import org.apache.commons.lang3.StringUtils; |
30 |
|
|
31 |
public class AddressSearch { |
public class AddressSearch { |
32 |
|
|
33 |
private Map<Integer, Map<String,Long>> searchPostnrVejnavnGadeid; |
private Map<Short, Map<String,Long>> searchPostnrVejnavnGadeid; |
34 |
private Map<Long, Map<String,Address>> searchGadeidentAdresser; |
private Map<Long, Map<String,Address>> searchGadeidentAdresser; |
35 |
|
|
36 |
private List<Address> alleAdresser; |
private List<Address> alleAdresser; |
91 |
request.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn ); |
request.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn ); |
92 |
|
|
93 |
|
|
94 |
if (request.vasketVejnavn.indexOf("pakkebo") > -1 || request.vasketVejnavn.indexOf("døgnpost") > -1) { |
if (request.vasketVejnavn.indexOf("pakkebo") > -1 |
95 |
|
|| request.vasketVejnavn.indexOf("døgnpost") > -1 |
96 |
|
|| request.vasketVejnavn.indexOf("døgnbo") > -1 |
97 |
|
|| request.vasketVejnavn.equals("id") |
98 |
|
) { |
99 |
result.status = Status.ERROR_POSTBOX; |
result.status = Status.ERROR_POSTBOX; |
100 |
return result; |
return result; |
101 |
} |
} |
197 |
|
|
198 |
|
|
199 |
public void buildSearchStructures() throws SQLException{ |
public void buildSearchStructures() throws SQLException{ |
200 |
searchPostnrVejnavnGadeid = new HashMap<Integer, Map<String,Long>>(); |
searchPostnrVejnavnGadeid = new HashMap<Short, Map<String,Long>>(); |
201 |
searchGadeidentAdresser = new HashMap<Long, Map<String,Address>>(); |
searchGadeidentAdresser = new HashMap<Long, Map<String,Address>>(); |
202 |
helperCache = new ConcurrentHashMap<String,Long>(); |
helperCache = new ConcurrentHashMap<String,Long>(); |
203 |
|
|
413 |
|
|
414 |
|
|
415 |
private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) { |
private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) { |
416 |
|
if (targetAddress.rute == null) { //hvis targetAdress.rute er null så er adressen ikke dækket alligevel |
417 |
|
return null; |
418 |
|
} |
419 |
|
|
420 |
// /////////////////////////////////////////////////////////////////// |
// /////////////////////////////////////////////////////////////////// |
421 |
switch( eb.transport) { |
switch( eb.transport) { |
583 |
aliasSet.add(vejnavn.replace("allé", "allú") ); |
aliasSet.add(vejnavn.replace("allé", "allú") ); |
584 |
|
|
585 |
aliasSet.add(vejnavn.replace("gade", "gaed") ); //Fundet i logs.hentruteinfo |
aliasSet.add(vejnavn.replace("gade", "gaed") ); //Fundet i logs.hentruteinfo |
586 |
|
aliasSet.add(vejnavn.replace("gade", "gde") ); |
587 |
|
|
588 |
aliasSet.add(vejnavn.replace("plads", "pl") ); |
aliasSet.add(vejnavn.replace("plads", "pl") ); |
589 |
aliasSet.add(vejnavn.replace("vænget", "vænge") ); |
aliasSet.add(vejnavn.replace("vænget", "vænge") ); |
606 |
//danske tegn 2 |
//danske tegn 2 |
607 |
aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe") ); |
aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe") ); |
608 |
aliasSet.add( vVejnavn.replace("æ", "ae").replace("å", "aa") ); |
aliasSet.add( vVejnavn.replace("æ", "ae").replace("å", "aa") ); |
609 |
aliasSet.add( vVejnavn.replace("ø", "ae").replace("å", "aa") ); |
aliasSet.add( vVejnavn.replace("ø", "oe").replace("å", "aa") ); |
610 |
aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe","ø") ); |
aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe","ø") ); |
611 |
aliasSet.add( vVejnavn.replace("ae", "æ").replace("aa","å") ); |
aliasSet.add( vVejnavn.replace("ae", "æ").replace("aa","å") ); |
612 |
aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") ); |
aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") ); |
619 |
return aliasSet; |
return aliasSet; |
620 |
} |
} |
621 |
|
|
622 |
|
public Set<Short> getPostnumre() { |
623 |
|
return new TreeSet<Short>( searchPostnrVejnavnGadeid.keySet() ); |
624 |
|
} |
625 |
|
|
626 |
|
public Set<Entry<String,Long>> getVejnavne(int postnr) { |
627 |
|
Map<String,Long> map = searchPostnrVejnavnGadeid.get(postnr); |
628 |
|
TreeMap<String,Long> newMap = new TreeMap<String,Long>(); |
629 |
|
for (Entry<String,Long> entry : map.entrySet() ) { |
630 |
|
newMap.put(entry.getKey(), entry.getValue()); |
631 |
|
} |
632 |
|
|
633 |
|
return newMap.entrySet(); |
634 |
|
} |
635 |
|
|
636 |
|
public Set<String> getHusnumre(long gadeid) { |
637 |
|
|
638 |
|
Map<String, Address> gade = searchGadeidentAdresser.get(gadeid); |
639 |
|
return new TreeSet<String>( gade.keySet() ); |
640 |
|
} |
641 |
|
|
642 |
|
public Address getAdresse(long gadeid, String husnr) { |
643 |
|
|
644 |
|
Map<String, Address> gade = searchGadeidentAdresser.get(gadeid); |
645 |
|
return gade.get(husnr); |
646 |
|
|
647 |
|
} |
648 |
|
|
649 |
} |
} |