/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressManager.java
ViewVC logotype

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressManager.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressManager.java revision 2947 by torben, Sat Feb 13 15:45:02 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressManager.java revision 3084 by torben, Fri Jul 29 09:16:03 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold.fileupload;  package dk.daoas.adressevedligehold.coveragefileupload;
2    
3  import java.sql.SQLException;  import java.sql.SQLException;
4  import java.util.ArrayList;  import java.util.ArrayList;
# Line 13  import org.apache.commons.lang3.StringUt Line 13  import org.apache.commons.lang3.StringUt
13    
14  import dk.daoas.adressevedligehold.beans.Address;  import dk.daoas.adressevedligehold.beans.Address;
15  import dk.daoas.adressevedligehold.beans.Address.AddressState;  import dk.daoas.adressevedligehold.beans.Address.AddressState;
16    import dk.daoas.adressevedligehold.coveragefileupload.AddressSourceEntry.EntryType;
17  import dk.daoas.adressevedligehold.db.DatabaseCoverageUpdate;  import dk.daoas.adressevedligehold.db.DatabaseCoverageUpdate;
 import dk.daoas.adressevedligehold.fileupload.AddressSourceEntry.EntryType;  
18  import dk.daoas.adressevedligehold.tasks.TaskLogger;  import dk.daoas.adressevedligehold.tasks.TaskLogger;
19  import dk.daoas.adressevedligehold.util.DeduplicateHelper;  import dk.daoas.adressevedligehold.util.DeduplicateHelper;
20  import dk.daoas.adressevedligehold.util.MiscUtils;  import dk.daoas.adressevedligehold.util.MiscUtils;
21  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
22    
23  /*  /*
24   * TODO: håndtering af entry dupletter ! (+ rapportering af dem)   *  
   
   
   
25   */   */
26    
27  public class AddressManager {  public class AddressManager {
# Line 94  public class AddressManager { Line 91  public class AddressManager {
91          }          }
92    
93          @SuppressWarnings("PMD.CollapsibleIfStatements")                  @SuppressWarnings("PMD.CollapsibleIfStatements")        
94          public void closeUnvisitedAddresses(String distributor, EntryUgedage ugedage) {          public int closeUnvisitedAddresses(String distributor, EntryUgedage ugedage) {
95                    
96                    int totalClosed = 0;
97                    
98                  for (Address addr : addressList) {                  for (Address addr : addressList) {
99                          if (addr.distributor == null)                          if (addr.distributor == null)
100                                  continue;                                  continue;
# Line 169  public class AddressManager { Line 169  public class AddressManager {
169                          if (addr.state == AddressState.NOT_CHANGED && closedCount>0) {                          if (addr.state == AddressState.NOT_CHANGED && closedCount>0) {
170                                  addr.state = AddressState.CLOSED;                                  addr.state = AddressState.CLOSED;
171                          }                          }
172                            
173                            if (closedCount>0) {
174                                    totalClosed++;
175                            }
176                                    
177                  }                  }
178                    
179                    return totalClosed;
180          }          }
181            
182            
183          public void dumpChanged() {          public void dumpChanged() {
184                  int count = 0;                  int count = 0;
185                  for (Address addr : addressList) {                  for (Address addr : addressList) {
# Line 194  public class AddressManager { Line 202  public class AddressManager {
202                  }                  }
203          }          }
204                    
205          public void writeBackChanges() {          public void writeBackChanges() throws Exception{
206                  logger.info("Writing back changes");                  logger.info("Writing back changes");
207                  TimingHelper timer = new TimingHelper();                  TimingHelper timer = new TimingHelper();
208                                    
# Line 232  public class AddressManager { Line 240  public class AddressManager {
240          private void visitSingle(AddressSourceEntry entry) {          private void visitSingle(AddressSourceEntry entry) {
241                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );
242                  if (gade == null) {                  if (gade == null) {
243                            /* No need to register unknown streets, since we create all entries that we can
244                          if (! unknownStreets.containsKey(entry.gadeid)) {                          if (! unknownStreets.containsKey(entry.gadeid)) {
245                                  unknownStreets.put(entry.gadeid, entry.vejnavn);                                                                  unknownStreets.put(entry.gadeid, entry.vejnavn);                                
246                          }                          }*/
247                                                    
248                          createFromEntry(entry); // if we get here there was no match - so we need to create it                          createFromEntry(entry); // if we get here there was no match - so we need to create it
249                          return;                          return;
# Line 503  public class AddressManager { Line 512  public class AddressManager {
512                          return;                          return;
513                  }                  }
514                                    
515                  if (entry.husnr == 999) {                  if (entry.husnr == 999 || entry.husnr == 998) { //frasorter de to højest gyldige husnr - det er typisk special adresser
516                          return;                          return;
517                  }                  }
518                                    
# Line 525  public class AddressManager { Line 534  public class AddressManager {
534                          return;                          return;
535                  }                  }
536                                    
537                    if (entry.vejkode > 9999) {
538                            return;
539                    }
540                    
541                  if (entry.gadeid == 0) {                  if (entry.gadeid == 0) {
542                          return;                          return;
543                  }                  }
# Line 596  public class AddressManager { Line 609  public class AddressManager {
609                    
610          private void updateDbkBane(Address a) {          private void updateDbkBane(Address a) {
611                  List<Short> daoBane205 = Arrays.asList( new Short[] {7,10,11,12,12,14,15,16,18,19,20} );                  List<Short> daoBane205 = Arrays.asList( new Short[] {7,10,11,12,12,14,15,16,18,19,20} );
612                    
613                    
614                  Short bane = null;                  Short bane = null;
615                                    
616                  switch (a.distributor) {                  switch (a.distributor) {
# Line 606  public class AddressManager { Line 619  public class AddressManager {
619                          break;                          break;
620                  case "DAO":                  case "DAO":
621                          String koreliste = MiscUtils.firstNonNull(a.korelisteMandag,a.korelisteLordag, a.korelisteSondag); //DAO har kun 3 dækningstyper                          String koreliste = MiscUtils.firstNonNull(a.korelisteMandag,a.korelisteLordag, a.korelisteSondag); //DAO har kun 3 dækningstyper
622                          short first2 = Short.parseShort( koreliste.substring(0,2) );                          try {
623                          if ( daoBane205.contains(first2) ) {                                  short first2 = Short.parseShort( koreliste.substring(0,2) );
624                                  bane = 205;                                  if ( daoBane205.contains(first2) ) {
625                          } else if (first2 >= 24 && first2<=30) {                                          bane = 205;
626                                  bane = 201;                                  } else if (first2 >= 24 && first2<=30) {
627                          } else {                                          bane = 201;
628                                  bane = 202;                                  } else {
629                                            bane = 202;
630                                    }
631                            } catch (NumberFormatException e) {
632                                    throw new RuntimeException("Error parsing koreliste '" + koreliste + "' for " + a);
633                          }                          }
634                                                                    
635                          break;                                            break;                  

Legend:
Removed from v.2947  
changed lines
  Added in v.3084

  ViewVC Help
Powered by ViewVC 1.1.20