324 |
DeduplicateHelper<Short> shortHelper = new DeduplicateHelper<Short>(); |
DeduplicateHelper<Short> shortHelper = new DeduplicateHelper<Short>(); |
325 |
DeduplicateHelper<Integer> intHelper = new DeduplicateHelper<Integer>(); |
DeduplicateHelper<Integer> intHelper = new DeduplicateHelper<Integer>(); |
326 |
|
|
327 |
|
|
328 |
for (Address a : alleAdresser) { |
for (Address a : alleAdresser) { |
329 |
idAddressMap.put(a.id, a); |
idAddressMap.put(a.id, a); |
330 |
|
|
333 |
Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(postnr); |
Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(postnr); |
334 |
|
|
335 |
if (postnrVeje == null) { |
if (postnrVeje == null) { |
336 |
postnrVeje = new ConcurrentHashMap<String,Integer>(); |
postnrVeje = new HashMap<String,Integer>(10240); //lige nu indeholder den største 9500 entries |
337 |
searchPostnrVejnavnGadeid.put(postnr, postnrVeje); |
searchPostnrVejnavnGadeid.put(postnr, postnrVeje); |
338 |
} |
} |
339 |
|
|
351 |
vasketAlias = aliasHelper.getInstance(vasketAlias); |
vasketAlias = aliasHelper.getInstance(vasketAlias); |
352 |
|
|
353 |
postnrVeje.put(vasketAlias, gadeident); |
postnrVeje.put(vasketAlias, gadeident); |
354 |
} |
} |
355 |
|
|
356 |
} |
} |
357 |
|
|
358 |
|
|
359 |
Map<Short, Map<String,Address>> gade = searchGadeidentAdresser.get(gadeident); |
Map<Short, Map<String,Address>> gade = searchGadeidentAdresser.get(gadeident); |
360 |
if (gade == null) { |
if (gade == null) { |
361 |
gade = new TreeMap<Short, Map<String,Address>>(); |
gade = new TreeMap<Short, Map<String,Address>>(); |
370 |
|
|
371 |
litraList.put(a.husnrbogstav, a); |
litraList.put(a.husnrbogstav, a); |
372 |
} |
} |
373 |
|
|
374 |
//////////////////////////////////////////////////////////////////////////////////////// |
//////////////////////////////////////////////////////////////////////////////////////// |
375 |
long start2 = System.currentTimeMillis(); |
long start2 = System.currentTimeMillis(); |
376 |
System.out.println("Build, stage1 elapsed: " + (start2-start1) ); |
System.out.println("Build, stage1 elapsed: " + (start2-start1) ); |
805 |
|
|
806 |
// Opbyg æøå varianter over alle fundne aliaser |
// Opbyg æøå varianter over alle fundne aliaser |
807 |
|
|
808 |
@SuppressWarnings("unchecked") |
HashSet<String> variants = new HashSet<String>( aliasSet ); |
|
HashSet<String> variants = (HashSet<String>) aliasSet.clone(); |
|
809 |
|
|
810 |
for (String vVejnavn : variants) { |
for (String vVejnavn : variants) { |
811 |
// danske tegn 1 |
// danske tegn 1 |
825 |
aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") ); |
aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") ); |
826 |
|
|
827 |
//danske tegn 3 |
//danske tegn 3 |
828 |
aliasSet.add( vejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") ); |
aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") ); |
829 |
aliasSet.add( vejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") ); |
aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") ); |
830 |
|
|
831 |
|
|
832 |
//udenlandsketegn |
//udenlandsketegn |
833 |
aliasSet.add(vejnavn.replace("u", "ü") ); |
aliasSet.add( vVejnavn.replace("u", "ü") ); |
834 |
aliasSet.add(vejnavn.replace("ü", "u") ); |
aliasSet.add( vVejnavn.replace("ü", "u") ); |
835 |
|
|
836 |
aliasSet.add(vejnavn.replace("ä", "æ") ); |
aliasSet.add( vVejnavn.replace("ä", "æ") ); |
837 |
aliasSet.add(vejnavn.replace("æ", "ä") ); |
aliasSet.add( vVejnavn.replace("æ", "ä") ); |
838 |
|
|
839 |
aliasSet.add(vejnavn.replace("ö", "ø") ); |
aliasSet.add( vVejnavn.replace("ö", "ø") ); |
840 |
aliasSet.add(vejnavn.replace("ø", "ö") ); |
aliasSet.add( vVejnavn.replace("ø", "ö") ); |
841 |
} |
} |
842 |
|
|
843 |
return aliasSet; |
return aliasSet; |