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

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

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

revision 2840 by torben, Mon Jan 25 10:25:22 2016 UTC revision 2844 by torben, Mon Jan 25 21:43:59 2016 UTC
# Line 5  import java.util.ArrayList; Line 5  import java.util.ArrayList;
5  import java.util.Collections;  import java.util.Collections;
6  import java.util.List;  import java.util.List;
7  import java.util.Map;  import java.util.Map;
8    import java.util.Map.Entry;
9  import java.util.TreeMap;  import java.util.TreeMap;
10    
11  import org.apache.commons.lang3.StringUtils;  import org.apache.commons.lang3.StringUtils;
# Line 17  import dk.daoas.adressevedligehold.util. Line 18  import dk.daoas.adressevedligehold.util.
18  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
19    
20  /*  /*
  * TODO: implementer visitRange()  
21   * TODO: håndtering af entry dupletter ! (+ rapportering af dem)   * TODO: håndtering af entry dupletter ! (+ rapportering af dem)
22   */   */
23    
# Line 229  public class AddressManager { Line 229  public class AddressManager {
229                    
230          private void visitRange(AddressSourceEntry entry) {          private void visitRange(AddressSourceEntry entry) {
231                                    
232                  throw new UnsupportedOperationException("Not implemented yet");                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );
233                    if (gade == null) {
234                            System.out.println("[Range] Ukendt gadeID " + entry);
235                            return;
236                    }
237                    
238                    for (Entry<Short, ArrayList<Address>> husnrEntry: gade.entrySet()) {
239                            
240                            short husnummer = husnrEntry.getKey();
241                            
242                            if ( (entry.husnr % 2) != (husnummer%2) ){ //lige/ulige skal passe sammen
243                                    continue;
244                            }
245                            
246                            if ( husnummer < entry.husnr || husnummer > entry.tilHusnr) {
247                                    continue;
248                            }
249                            
250                            ArrayList<Address> litraList = husnrEntry.getValue();
251                            
252                            /* a=adressetabel u=input
253                             * and (a.husnr>u.FraHusNr OR (a.husnr=u.FraHusNr AND a.HusnrBogstav >= u.FraBog))
254                             * AND (a.husnr<u.TilHusNr OR (a.husnr=u.TilHusNr AND a.HusnrBogstav <= u.TilBog))
255                             */
256                            
257                            
258                            for (Address addr: litraList) {
259                                    if (addr.husnr > entry.husnr || (addr.husnr == entry.husnr && addr.husnrbogstav.compareTo(entry.litra) >= 0 )) {
260                                            //Using nested IF instead of &&
261                                            if (addr.husnr < entry.tilHusnr || (addr.husnr == entry.tilHusnr && addr.husnrbogstav.compareTo(entry.tilLitra) <= 0 )) {
262                                                    updateAddress(addr, entry);
263                                            }                                      
264                                    }
265                            }
266                    }
267          }          }
268                    
269                    

Legend:
Removed from v.2840  
changed lines
  Added in v.2844

  ViewVC Help
Powered by ViewVC 1.1.20