/[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/AddressManager.java revision 2924 by torben, Fri Feb 5 08:01:18 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressManager.java revision 2951 by torben, Tue Feb 16 11:25:51 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold;  package dk.daoas.adressevedligehold.fileupload;
2    
3  import java.sql.SQLException;  import java.sql.SQLException;
4  import java.util.ArrayList;  import java.util.ArrayList;
# Line 11  import java.util.TreeMap; Line 11  import java.util.TreeMap;
11    
12  import org.apache.commons.lang3.StringUtils;  import org.apache.commons.lang3.StringUtils;
13    
 import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;  
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.db.DatabaseLayerImplementation;  import dk.daoas.adressevedligehold.db.DatabaseCoverageUpdate;
17    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 44  public class AddressManager { Line 41  public class AddressManager {
41          Map<Short,Short> dbkBaneMap = new TreeMap<Short,Short>();          Map<Short,Short> dbkBaneMap = new TreeMap<Short,Short>();
42                    
43          public AddressManager() throws SQLException {          public AddressManager() throws SQLException {
44                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();                  DatabaseCoverageUpdate db = new DatabaseCoverageUpdate();
45                                    
46                  searchStructure = new TreeMap<Integer, TreeMap<Short, ArrayList<Address>> >();                  searchStructure = new TreeMap<Integer, TreeMap<Short, ArrayList<Address>> >();
47                                    
# Line 92  public class AddressManager { Line 89  public class AddressManager {
89                                    
90                                    
91          }          }
92            
93            @SuppressWarnings("PMD.CollapsibleIfStatements")        
94          public void closeUnvisitedAddresses(String distributor, EntryUgedage ugedage) {          public void closeUnvisitedAddresses(String distributor, EntryUgedage ugedage) {
95                  for (Address addr : addressList) {                  for (Address addr : addressList) {
96                          if (addr.distributor == null)                          if (addr.distributor == null)
# Line 209  public class AddressManager { Line 207  public class AddressManager {
207                          }                          }
208                  }                  }
209                                    
210                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();                  DatabaseCoverageUpdate db = new DatabaseCoverageUpdate();
211                                    
212                  db.updateAddresses(updates);                  db.updateAddresses(updates);
213                  db.saveNewAddresses(inserts);                  db.saveNewAddresses(inserts);
# Line 257  public class AddressManager { Line 255  public class AddressManager {
255                  }                  }
256          }          }
257                    
258            @SuppressWarnings("PMD.CollapsibleIfStatements")        
259          private void visitRange(AddressSourceEntry entry) {          private void visitRange(AddressSourceEntry entry) {
260                                    
261                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );
# Line 523  public class AddressManager { Line 522  public class AddressManager {
522                          return;                          return;
523                  }                  }
524                                    
525                    if (entry.vejkode > 9999) {
526                            return;
527                    }
528                    
529                  if (entry.gadeid == 0) {                  if (entry.gadeid == 0) {
530                          return;                          return;
531                  }                  }
# Line 539  public class AddressManager { Line 542  public class AddressManager {
542                                    
543                  logger.info("Opretter adresse ud fra " + entry);                  logger.info("Opretter adresse ud fra " + entry);
544                                    
545                  Address a = new Address();                  Address addr = new Address();
546                  a.state = AddressState.CREATED;                  addr.state = AddressState.CREATED;
                   
                 a.distributor = entry.distributor;  
                 a.gadeid = entry.gadeid;  
                 a.kommunekode = entry.kommunekode;  
                 a.vejkode = entry.vejkode;  
                 a.vejnavn = entry.vejnavn;  
                 a.husnr = entry.husnr;  
                 a.husnrbogstav = entry.litra;  
                 a.postnr = entry.postnr;  
                 //a.visited = true;  
                   
                 if (entry.ugedage.mandag) {  
                         a.ruteMandag = entry.rute;  
                         a.korelisteMandag = entry.koreliste;  
                 }  
                 if (entry.ugedage.tirsdag) {  
                         a.ruteTirsdag = entry.rute;  
                         a.korelisteTirsdag = entry.koreliste;  
                 }  
                 if (entry.ugedage.onsdag) {  
                         a.ruteOnsdag = entry.rute;  
                         a.korelisteOnsdag = entry.koreliste;  
                 }                
                 if (entry.ugedage.torsdag) {  
                         a.ruteTorsdag = entry.rute;  
                         a.korelisteTorsdag = entry.koreliste;  
                 }                
                 if (entry.ugedage.fredag) {  
                         a.ruteFredag = entry.rute;  
                         a.korelisteFredag = entry.koreliste;  
                 }                
                 if (entry.ugedage.lordag) {  
                         a.ruteLordag = entry.rute;  
                         a.korelisteLordag = entry.koreliste;  
                 }                
                 if (entry.ugedage.sondag) {  
                         a.ruteSondag = entry.rute;  
                         a.korelisteLordag = entry.koreliste;  
                 }                
547                                    
548                  updateDbkBane(a);                  addr.distributor = entry.distributor;
549                    addr.gadeid = entry.gadeid;
550                    addr.kommunekode = entry.kommunekode;
551                    addr.vejkode = entry.vejkode;
552                    addr.vejnavn = entry.vejnavn;
553                    addr.husnr = entry.husnr;
554                    addr.husnrbogstav = entry.litra;
555                    addr.postnr = entry.postnr;
556                                    
                 // Nu er det nye adresse object oprettet - nu skal det gemmes i søge strukturen og totallisten  
557                                    
558                    updateAddress(addr, entry);
559    
560                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( a.gadeid );                  
561                    // Nu er det nye adresse object oprettet - nu skal det gemmes i søge strukturen og totallisten        
562                    TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( addr.gadeid );
563                                    
564                  if (gade == null) {                  if (gade == null) {
565                          gade = new TreeMap<Short,ArrayList<Address>>();                          gade = new TreeMap<Short,ArrayList<Address>>();
566                          searchStructure.put(a.gadeid, gade);                          searchStructure.put(addr.gadeid, gade);
567                  }                  }
568                                    
569                  ArrayList<Address> litraList = gade.get(a.husnr);                  ArrayList<Address> litraList = gade.get(addr.husnr);
570                  if (litraList == null) {                  if (litraList == null) {
571                          litraList = new ArrayList<Address>();                          litraList = new ArrayList<Address>();
572                          gade.put(a.husnr, litraList);                          gade.put(addr.husnr, litraList);
573                  }                  }
574                                    
575                  litraList.add(a);                  litraList.add(addr);
576                  addressList.add(a);                  addressList.add(addr);
577                                                                    
578          }          }
579                    

Legend:
Removed from v.2924  
changed lines
  Added in v.2951

  ViewVC Help
Powered by ViewVC 1.1.20