--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/21 13:51:38 2333 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/23 12:48:00 2338 @@ -1,8 +1,10 @@ package dk.daoas.daoadresseservice; import java.sql.SQLException; +import java.text.DateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -12,6 +14,7 @@ import dk.daoas.daoadresseservice.AddressUtils.SplitResult; import dk.daoas.daoadresseservice.beans.Address; +import dk.daoas.daoadresseservice.beans.DataStatisticsBean; import dk.daoas.daoadresseservice.beans.ExtendedBean; import dk.daoas.daoadresseservice.beans.HundredePctBean; import dk.daoas.daoadresseservice.beans.SearchResult; @@ -27,6 +30,7 @@ private Map helperCache; + private DataStatisticsBean stats = new DataStatisticsBean(); public SearchResult search(String postnrStr, String adresse) { @@ -260,38 +264,47 @@ long stop = System.currentTimeMillis(); System.out.println("Build, stage3 elapsed: " + (stop-start3) ); System.out.println("Build -- Gathering statistics"); - - int direkteCount = 0; - int extendedCount = 0; - int hundredePctCount = 0; - int ikkeDaekketCount = 0; - + for (Address addr : alleAdresser) { switch (addr.daekningsType) { case DAEKNING_DIREKTE: - direkteCount++; + stats.direkteCount++; break; case DAEKNING_UDVIDET: - extendedCount++; + stats.extendedCount++; break; case DAEKNING_100PCT: - hundredePctCount++; + stats.hundredePctCount++; break; default: - ikkeDaekketCount++; + stats.ikkeDaekketCount++; } } - System.out.println("Build: direkteCount: " + direkteCount); - System.out.println("Build: extendedCount: " + extendedCount); - System.out.println("Build: hundredePctCount: " + hundredePctCount); - System.out.println("Build: ikkeDaekketCount: " + ikkeDaekketCount); + stats.elapsed = stop-start1; + stats.buildTime = DateFormat.getInstance().format( new Date() ); + + System.out.println("Build: direkteCount: " + stats.direkteCount); + System.out.println("Build: extendedCount: " + stats.extendedCount); + System.out.println("Build: hundredePctCount: " + stats.hundredePctCount); + System.out.println("Build: ikkeDaekketCount: " + stats.ikkeDaekketCount); System.out.println("Build: Total Elapsed: " + (stop-start1) ); System.out.println("Build Completed"); } + public DataStatisticsBean getStatistics() { + return stats; + } + + public void clear() { + searchPostnrVejnavnGadeid.clear(); + searchGadeidentAdresser.clear(); + alleAdresser.clear(); + helperCache.clear(); + } + private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) {