--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/13 15:45:24 2283
+++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/13 16:15:49 2286
@@ -21,9 +21,6 @@
List
alleAdresser;
- /* Mapper mellem db Row ID og adresse noden */
- Map idAddressMap;
-
Map hundredePct;
@@ -80,12 +77,15 @@
public void buildSearchStructures() throws SQLException{
searchPostnrVejnavnGadeid = new HashMap>();
searchGadeidentAdresser = new HashMap>();
- idAddressMap = new HashMap();
-
+
System.out.println("Build -- stage 1");
alleAdresser = DatabaseLayer.getAllAdresses();
+
+ /* Mapper mellem db Row ID og adresse noden */
+ Map idAddressMap = new HashMap( alleAdresser.size() );
+
for (Address a : alleAdresser) {
idAddressMap.put(a.id, a);
@@ -108,7 +108,7 @@
searchGadeidentAdresser.put(a.gadeid, gade);
}
String husnrSearch = "" + a.husnr + a.husnrbogstav;
- gade.put(husnrSearch, a);
+ gade.put(husnrSearch, a);
}
@@ -164,15 +164,17 @@
orgAddress.distributor = targetAddress.distributor;
}
-
-
}
+
+ // nu skal vi ikke bruge idAddressMap længere
+ idAddressMap = null;
+
//////////////////////////////////////////////////////////////////////////////////////
System.out.println("Build -- stage 3 - 100pct");
hundredePct = DatabaseLayer.get100PctList();
for (Address addr : alleAdresser) {
- if (addr.daekningsType != DaekningsType.DAEKNING_IKKEDAEKKET) {
+ if (addr.daekningsType != DaekningsType.DAEKNING_IKKEDAEKKET) {
continue;
}
@@ -193,6 +195,35 @@
addr.distributor = bean.distributor;
}
+ ////////////////////////////////////////////////////////////////////////////////////
+ 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++;
+ break;
+ case DAEKNING_UDVIDET:
+ extendedCount++;
+ break;
+ case DAEKNING_100PCT:
+ hundredePctCount++;
+ break;
+ default:
+ 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);
+
System.out.println("Build Completed");
}