--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/16 09:51:24 2308
+++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/17 07:38:24 2316
@@ -14,6 +14,7 @@
import dk.daoas.daoadresseservice.beans.Address;
import dk.daoas.daoadresseservice.beans.ExtendedBean;
import dk.daoas.daoadresseservice.beans.HundredePctBean;
+import dk.daoas.daoadresseservice.util.DeduplicateHelper;
public class DatabaseLayer {
@@ -32,17 +33,20 @@
List
list = new ArrayList(2600000);//initial capacity 2.6 mio
- Map vejnavne = new HashMap();
+ DeduplicateHelper vejnavne = new DeduplicateHelper();
+ DeduplicateHelper distributorer = new DeduplicateHelper();
+
while (res.next()) {
- // Cache String instanserne for vejnavne for at mindske hukommelses forbruget
+ // Cache String instanserne for vejnavne for at mindske hukommelses forbruget
String dbVejnavn = res.getString(2);
- String vejnavn = vejnavne.get(dbVejnavn);
- if ( vejnavn == null ) {
- vejnavn = dbVejnavn;
- vejnavne.put(vejnavn, vejnavn);
- }
+ String vejnavn = vejnavne.getInstance(dbVejnavn);
+
+ // Cache String instanserne for distributor for at mindske hukommelses forbruget
+ // (De-dubblicate)
+ String dbDistributor = res.getString(2);
+ String distributor = distributorer.getInstance(dbDistributor);
Address a = new Address();
a.id = res.getInt(1);
@@ -53,7 +57,7 @@
a.vejkode = res.getInt(6);
a.postnr = res.getInt(7);
a.gadeid = res.getLong(8);
- a.distributor = res.getString(9);
+ a.distributor = distributor;
a.dbkBane = res.getInt(10);
a.koreliste = res.getString(11);
a.rute = res.getString(12);