--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/02/01 07:15:15 2894 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressManager.java 2016/02/05 08:01:18 2924 @@ -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,9 @@ public class AddressManager { + private TaskLogger logger = TaskLogger.getInstance(); + + private int duplicateCount; List
addressList; @@ -84,7 +88,7 @@ list.trimToSize(); } - System.out.println("AddressManager ready, elapsed " + timer.getElapsed() + "ms"); + logger.info("AddressManager ready, elapsed " + timer.getElapsed() + "ms"); } @@ -181,8 +185,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; @@ -190,7 +194,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); @@ -212,7 +216,7 @@ - System.out.println("Writeback done: elapsed " + timer.getElapsed() + "ms."); + logger.info("Writeback done: elapsed " + timer.getElapsed() + "ms."); } @@ -261,7 +265,7 @@ unknownStreets.put(entry.gadeid, entry.vejnavn); } - System.out.println("[Range] Ukendt gadeID " + entry); + logger.info("[Range] Ukendt gadeID " + entry); return; } @@ -301,7 +305,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; } @@ -323,7 +327,9 @@ } } } else { - System.out.println( "Double visit monday " + addr); + duplicateCount++; + logger.info( "Double visit monday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -345,7 +351,9 @@ } } } else { - System.out.println( "Double visit tuesday " + addr); + duplicateCount++; + logger.info( "Double visit tuesday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -365,7 +373,9 @@ } } } else { - System.out.println( "Double visit wednesday " + addr); + duplicateCount++; + logger.info( "Double visit wednesday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -387,7 +397,9 @@ } } } else { - System.out.println( "Double visit thursday " + addr); + duplicateCount++; + logger.info( "Double visit thursday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -408,7 +420,9 @@ } } } else { - System.out.println( "Double visit friday " + addr); + duplicateCount++; + logger.info( "Double visit friday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -430,7 +444,9 @@ } } } else { - System.out.println( "Double visit saturday " + addr); + duplicateCount++; + logger.info( "Double visit saturday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -451,7 +467,9 @@ } } } else { - System.out.println( "Double visit sunday " + addr); + duplicateCount++; + logger.info( "Double visit sunday " + addr); + return; // if the entry is duplicate on one day that it covers - then it will be as well on all the othters } } @@ -479,9 +497,25 @@ private void createFromEntry(AddressSourceEntry entry) { + if (entry.husnr >= 1000) { //husnumre i DK må kun være på 3 cifre + return; + } + if (entry.husnr == 999) { return; } + + if (entry.litra.length() > 1) { //litra må kun være på 1 tegn + return; + } + if (entry.litra.length() == 1) { + char litra = entry.litra.charAt(0); + if ( Character.isLetter(litra) == false ) { + return; + } + + } + if (entry.kommunekode == 0 || entry.vejkode == 0) { return; } @@ -492,7 +526,7 @@ if (entry.gadeid == 0) { return; } - + String gadeidStr = Integer.toString(entry.gadeid); if (gadeidStr.length() != 9) { return; @@ -503,7 +537,7 @@ - System.out.println("Opretter adresse ud fra " + entry); + logger.info("Opretter adresse ud fra " + entry); Address a = new Address(); a.state = AddressState.CREATED; @@ -617,11 +651,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) { @@ -640,7 +674,9 @@ return Collections.unmodifiableMap( unknownStreets ); } - + public int getDuplicateCount() { + return duplicateCount; + } public int getRejectedCount() { return rejectedEntries.size();