--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/15 16:09:11 2301
+++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/15 16:53:13 2303
@@ -23,6 +23,8 @@
List
alleAdresser;
+ Map helperCache;
+
Map hundredePct;
@@ -56,20 +58,31 @@
Long gadeident = postnrVeje.get(vasketVejnavn);
if ( gadeident == null) {
- String osmVej = GeocodeHelper.openstreetmapHelper(postnr, split.vej );
- if (osmVej != null) {
- String osmVasket = AddressUtils.vaskVejnavn( osmVej );
- gadeident = postnrVeje.get(osmVasket);
- osm = true;
- }
+ gadeident = helperCache.get(vasketVejnavn);
}
+
if ( gadeident == null) {
String googleVej = GeocodeHelper.googleHelper(postnr, split.vej );
if (googleVej != null) {
String googleVasket = AddressUtils.vaskVejnavn( googleVej );
gadeident = postnrVeje.get(googleVasket);
google = true;
+ if (gadeident != null) {
+ helperCache.put(googleVasket, gadeident);
+ }
+ }
+ }
+
+ if ( gadeident == null) {
+ String osmVej = GeocodeHelper.openstreetmapHelper(postnr, split.vej );
+ if (osmVej != null) {
+ String osmVasket = AddressUtils.vaskVejnavn( osmVej );
+ gadeident = postnrVeje.get(osmVasket);
+ osm = true;
+ if (gadeident != null) {
+ helperCache.put(osmVasket, gadeident);
+ }
}
}
@@ -105,7 +118,8 @@
public void buildSearchStructures() throws SQLException{
searchPostnrVejnavnGadeid = new HashMap>();
searchGadeidentAdresser = new HashMap>();
-
+ helperCache = new ConcurrentHashMap();
+
System.out.println("Build -- stage 1");
alleAdresser = DatabaseLayer.getAllAdresses();