--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/23 12:30:41 2337 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/23 15:11:39 2350 @@ -1,8 +1,10 @@ package dk.daoas.daoadresseservice; import java.sql.SQLException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -11,6 +13,7 @@ import java.util.concurrent.ConcurrentHashMap; import dk.daoas.daoadresseservice.AddressUtils.SplitResult; +import dk.daoas.daoadresseservice.admin.ServiceConfig; import dk.daoas.daoadresseservice.beans.Address; import dk.daoas.daoadresseservice.beans.DataStatisticsBean; import dk.daoas.daoadresseservice.beans.ExtendedBean; @@ -28,7 +31,13 @@ private Map helperCache; - private DataStatisticsBean stats = new DataStatisticsBean(); + private DataStatisticsBean stats = new DataStatisticsBean(); + + ServiceConfig config; + + public AdressSearch(ServiceConfig config) { + this.config = config; + } public SearchResult search(String postnrStr, String adresse) { @@ -68,29 +77,33 @@ if ( gadeident == null) { - String googleVej = GeocodeHelper.googleHelper(postnr, split.vej ); - google = true; - - if (googleVej != null) { - String googleVasket = AddressUtils.vaskVejnavn( googleVej ); - gadeident = postnrVeje.get(googleVasket); + if (config.useGoogle) { + String googleVej = GeocodeHelper.googleHelper(config, postnr, split.vej ); + google = true; - if (gadeident != null) { - helperCache.put(helperSearchKey, gadeident); + if (googleVej != null) { + String googleVasket = AddressUtils.vaskVejnavn( googleVej ); + gadeident = postnrVeje.get(googleVasket); + + if (gadeident != null) { + helperCache.put(helperSearchKey, gadeident); + } } } } if ( gadeident == null) { - String osmVej = GeocodeHelper.openstreetmapHelper(postnr, split.vej ); - osm = true; - - if (osmVej != null) { - String osmVasket = AddressUtils.vaskVejnavn( osmVej ); - gadeident = postnrVeje.get(osmVasket); + if (config.useOpenStreetMaps) { + String osmVej = GeocodeHelper.openstreetmapHelper(postnr, split.vej ); + osm = true; - if (gadeident != null) { - helperCache.put(helperSearchKey, gadeident); + if (osmVej != null) { + String osmVasket = AddressUtils.vaskVejnavn( osmVej ); + gadeident = postnrVeje.get(osmVasket); + + if (gadeident != null) { + helperCache.put(helperSearchKey, gadeident); + } } } } @@ -277,7 +290,11 @@ default: stats.ikkeDaekketCount++; } - } + } + + + stats.elapsed = stop-start1; + stats.buildTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date() ); System.out.println("Build: direkteCount: " + stats.direkteCount); System.out.println("Build: extendedCount: " + stats.extendedCount);