--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/01/28 16:12:28 2868
+++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/02/03 18:51:36 2904
@@ -15,6 +15,7 @@
import dk.daoas.adressevedligehold.beans.Address;
import dk.daoas.adressevedligehold.beans.Address.AddressState;
import dk.daoas.adressevedligehold.db.DatabaseLayerImplementation;
+import dk.daoas.adressevedligehold.tasks.TaskLogger;
import dk.daoas.adressevedligehold.util.DeduplicateHelper;
import dk.daoas.adressevedligehold.util.MiscUtils;
import dk.daoas.adressevedligehold.util.TimingHelper;
@@ -28,6 +29,8 @@
public class AddressManager {
+ private TaskLogger logger = TaskLogger.getInstance();
+
List
addressList;
@@ -35,6 +38,8 @@
ArrayList rejectedEntries = new ArrayList();
+ Map unknownStreets = new TreeMap();
+
Map dbkBaneMap = new TreeMap();
public AddressManager() throws SQLException {
@@ -82,7 +87,7 @@
list.trimToSize();
}
- System.out.println("AddressManager ready, elapsed " + timer.getElapsed() + "ms");
+ logger.info("AddressManager ready, elapsed " + timer.getElapsed() + "ms");
}
@@ -179,8 +184,8 @@
continue;
}
- System.out.println(addr.state + ": " + addr.toStringExtended() );
- System.out.println(addr.getRuteString() );
+ logger.info(addr.state + ": " + addr.toStringExtended() );
+ logger.info(addr.getRuteString() );
if (count++ > 50)
return;
@@ -188,7 +193,7 @@
}
public void writeBackChanges() {
- System.out.println("Writing back changes");
+ logger.info("Writing back changes");
TimingHelper timer = new TimingHelper();
List updates = new ArrayList(1024*1024);
@@ -206,10 +211,11 @@
DatabaseLayerImplementation db = new DatabaseLayerImplementation();
db.updateAddresses(updates);
+ db.saveNewAddresses(inserts);
- System.out.println("Writeback done: elapsed " + timer.getElapsed() + "ms.");
+ logger.info("Writeback done: elapsed " + timer.getElapsed() + "ms.");
}
@@ -224,6 +230,10 @@
private void visitSingle(AddressSourceEntry entry) {
TreeMap> gade = searchStructure.get( entry.gadeid );
if (gade == null) {
+ 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;
}
@@ -250,7 +260,11 @@
TreeMap> gade = searchStructure.get( entry.gadeid );
if (gade == null) {
- System.out.println("[Range] Ukendt gadeID " + entry);
+ if (! unknownStreets.containsKey(entry.gadeid)) {
+ unknownStreets.put(entry.gadeid, entry.vejnavn);
+ }
+
+ logger.info("[Range] Ukendt gadeID " + entry);
return;
}
@@ -290,7 +304,7 @@
private void updateAddress(Address addr, AddressSourceEntry entry) {
if ( addr.distributor != null && addr.distributor.equals(entry.distributor) == false) {
rejectedEntries.add(entry);
- System.out.println("Afviser " + entry);
+ logger.info("Afviser " + entry);
return;
}
@@ -312,7 +326,7 @@
}
}
} else {
- System.out.println( "Double visit monday " + addr);
+ logger.info( "Double visit monday " + addr);
}
}
@@ -334,7 +348,7 @@
}
}
} else {
- System.out.println( "Double visit tuesday " + addr);
+ logger.info( "Double visit tuesday " + addr);
}
}
@@ -354,7 +368,7 @@
}
}
} else {
- System.out.println( "Double visit wednesday " + addr);
+ logger.info( "Double visit wednesday " + addr);
}
}
@@ -376,7 +390,7 @@
}
}
} else {
- System.out.println( "Double visit thursday " + addr);
+ logger.info( "Double visit thursday " + addr);
}
}
@@ -397,7 +411,7 @@
}
}
} else {
- System.out.println( "Double visit friday " + addr);
+ logger.info( "Double visit friday " + addr);
}
}
@@ -419,7 +433,7 @@
}
}
} else {
- System.out.println( "Double visit saturday " + addr);
+ logger.info( "Double visit saturday " + addr);
}
}
@@ -440,7 +454,7 @@
}
}
} else {
- System.out.println( "Double visit sunday " + addr);
+ logger.info( "Double visit sunday " + addr);
}
}
@@ -477,13 +491,22 @@
if (entry.kommunekode < 100) {
return;
}
- if (Short.parseShort(Integer.toString(entry.gadeid).substring(0, 4)) != entry.postnr) {
+
+ if (entry.gadeid == 0) {
+ return;
+ }
+
+ String gadeidStr = Integer.toString(entry.gadeid);
+ if (gadeidStr.length() != 9) {
+ return;
+ }
+ if (Short.parseShort(gadeidStr.substring(0, 4)) != entry.postnr) {
return; //gadeid / postnr mismatch
}
- System.out.println("Opretter adresse ud fra " + entry);
+ logger.info("Opretter adresse ud fra " + entry);
Address a = new Address();
a.state = AddressState.CREATED;
@@ -597,11 +620,11 @@
bane = 204;
break;
default:
- throw new RuntimeException("Ukendt distributor" + a.distributor); //Silence findBugs
+ throw new RuntimeException("Ukendt distributor: " + a.distributor); //Silence findBugs
}
if (bane == null) {
- throw new RuntimeException("Ukendt bane for postnr" + a.postnr);
+ throw new RuntimeException("Ukendt bane for postnr: " + a.postnr);
}
if (a.dbkBane != bane) {
@@ -616,6 +639,10 @@
return Collections.unmodifiableList(addressList);
}
+ public Map getUnknownStreets() {
+ return Collections.unmodifiableMap( unknownStreets );
+ }
+
public int getRejectedCount() {