--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/01/28 17:04:34 2873 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/01/28 22:20:23 2877 @@ -208,6 +208,7 @@ DatabaseLayerImplementation db = new DatabaseLayerImplementation(); db.updateAddresses(updates); + db.saveNewAddresses(inserts); @@ -226,7 +227,10 @@ private void visitSingle(AddressSourceEntry entry) { TreeMap> gade = searchStructure.get( entry.gadeid ); if (gade == null) { - unknownStreets.putIfAbsent(entry.gadeid, entry.vejnavn); + if (! unknownStreets.containsKey(entry.gadeid)) { + unknownStreets.put(entry.gadeid, entry.vejnavn); + } + createFromEntry(entry); // if we get here there was no match - so we need to create it return; } @@ -253,7 +257,10 @@ TreeMap> gade = searchStructure.get( entry.gadeid ); if (gade == null) { - unknownStreets.putIfAbsent(entry.gadeid, entry.vejnavn); + if (! unknownStreets.containsKey(entry.gadeid)) { + unknownStreets.put(entry.gadeid, entry.vejnavn); + } + System.out.println("[Range] Ukendt gadeID " + entry); return; } @@ -481,7 +488,12 @@ if (entry.kommunekode < 100) { return; } - if (Short.parseShort(Integer.toString(entry.gadeid).substring(0, 4)) != entry.postnr) { + + String gadeidStr = Integer.toString(entry.gadeid); + if (gadeidStr.length() != 9) { + return; + } + if (Short.parseShort(gadeidStr.substring(0, 4)) != entry.postnr) { return; //gadeid / postnr mismatch }