/[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

revision 2844 by torben, Mon Jan 25 21:43:59 2016 UTC revision 2873 by torben, Thu Jan 28 17:04:34 2016 UTC
# Line 2  package dk.daoas.adressevedligehold; Line 2  package dk.daoas.adressevedligehold;
2    
3  import java.sql.SQLException;  import java.sql.SQLException;
4  import java.util.ArrayList;  import java.util.ArrayList;
5    import java.util.Arrays;
6  import java.util.Collections;  import java.util.Collections;
7  import java.util.List;  import java.util.List;
8  import java.util.Map;  import java.util.Map;
# Line 15  import dk.daoas.adressevedligehold.beans Line 16  import dk.daoas.adressevedligehold.beans
16  import dk.daoas.adressevedligehold.beans.Address.AddressState;  import dk.daoas.adressevedligehold.beans.Address.AddressState;
17  import dk.daoas.adressevedligehold.db.DatabaseLayerImplementation;  import dk.daoas.adressevedligehold.db.DatabaseLayerImplementation;
18  import dk.daoas.adressevedligehold.util.DeduplicateHelper;  import dk.daoas.adressevedligehold.util.DeduplicateHelper;
19    import dk.daoas.adressevedligehold.util.MiscUtils;
20  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
21    
22  /*  /*
23   * TODO: håndtering af entry dupletter ! (+ rapportering af dem)   * TODO: håndtering af entry dupletter ! (+ rapportering af dem)
24    
25    
26    
27   */   */
28    
29  public class AddressManager {  public class AddressManager {
# Line 28  public class AddressManager { Line 33  public class AddressManager {
33                    
34          Map<Integer, TreeMap<Short, ArrayList<Address>> > searchStructure;          Map<Integer, TreeMap<Short, ArrayList<Address>> > searchStructure;
35                    
36          ArrayList<AddressSourceEntry> afvisteEntries = new ArrayList<AddressSourceEntry>();          ArrayList<AddressSourceEntry> rejectedEntries = new ArrayList<AddressSourceEntry>();
37            
38            Map<Integer,String> unknownStreets = new TreeMap<Integer, String>();
39            
40            Map<Short,Short> dbkBaneMap = new TreeMap<Short,Short>();
41                    
42          public AddressManager() throws SQLException {          public AddressManager() throws SQLException {
43                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();
# Line 49  public class AddressManager { Line 58  public class AddressManager {
58                          Short husnr = shortHelper.getInstance( a.husnr );                          Short husnr = shortHelper.getInstance( a.husnr );
59                          TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( gadeid );                          TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( gadeid );
60                                                    
61                            if (a.dbkBane > 0 && a.postnr<=4999) {
62                                    Short bane = dbkBaneMap.get(a.postnr);
63                                    if (bane == null) {
64                                            dbkBaneMap.put(a.postnr, a.dbkBane);
65                                    }
66                            }
67                            
68                          if (gade == null) {                          if (gade == null) {
69                                  gade = new TreeMap<Short,ArrayList<Address>>();                                  gade = new TreeMap<Short,ArrayList<Address>>();
70                                  searchStructure.put(gadeid, gade);                                  searchStructure.put(gadeid, gade);
# Line 157  public class AddressManager { Line 173  public class AddressManager {
173                          if (addr.state == AddressState.NOT_CHANGED) {                          if (addr.state == AddressState.NOT_CHANGED) {
174                                  continue;                                  continue;
175                          }                          }
176                          if (addr.stateMan == AddressState.NOT_CHANGED || addr.stateMan == AddressState.CREATED) {                          /*if (addr.stateMan == AddressState.NOT_CHANGED || addr.stateMan == AddressState.CREATED) {
177                                  continue;                                  continue;
178                          }                          }*/
179                                                    
180                          if (addr.stateMan != AddressState.MODIFIED ) {                          if (addr.stateMan != AddressState.MODIFIED ) {
181                                  continue;                                  continue;
# Line 168  public class AddressManager { Line 184  public class AddressManager {
184                          System.out.println(addr.state + ": " + addr.toStringExtended() );                          System.out.println(addr.state + ": " + addr.toStringExtended() );
185                          System.out.println(addr.getRuteString() );                          System.out.println(addr.getRuteString() );
186                                                    
187                          if (count++ > 15)                          if (count++ > 50)
188                                  return;                                  return;
189                  }                  }
190          }          }
# Line 190  public class AddressManager { Line 206  public class AddressManager {
206                  }                  }
207                                    
208                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();                  DatabaseLayerImplementation db = new DatabaseLayerImplementation();
209                    
210                  db.updateAddresses(updates);                  db.updateAddresses(updates);
211    
212                    
213                                    
214                  System.out.println("Writeback done: elapsed " + timer.getElapsed() + "ms.");                  System.out.println("Writeback done: elapsed " + timer.getElapsed() + "ms.");
215          }          }
# Line 207  public class AddressManager { Line 226  public class AddressManager {
226          private void visitSingle(AddressSourceEntry entry) {          private void visitSingle(AddressSourceEntry entry) {
227                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );
228                  if (gade == null) {                  if (gade == null) {
229                            unknownStreets.putIfAbsent(entry.gadeid, entry.vejnavn);
230                          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
231                          return;                          return;
232                  }                  }
# Line 216  public class AddressManager { Line 236  public class AddressManager {
236                          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
237                          return;                          return;
238                  }                  }
239                                    boolean found = false;
240                  for (Address addr : litraList) {                  for (Address addr : litraList) {
241                          if (addr.husnrbogstav.equals(entry.litra) ) {                          if (addr.husnrbogstav.equals(entry.litra) ) {
242                                  updateAddress(addr, entry);                                  updateAddress(addr, entry);
243                                  return; //Done for now - no need to look at the rest of the list                                  found = true; // 1 visit should be enough but as long as there's duplicates on gadeid+husnr+litra we will visit them all
244                                    //when the issue with duplicates is resolved this should be reverted to a return or break
245                          }                          }
246                  }                  }
247                                    if (found == false) {
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                    }
250          }          }
251                    
252          private void visitRange(AddressSourceEntry entry) {          private void visitRange(AddressSourceEntry entry) {
253                                    
254                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );                  TreeMap<Short, ArrayList<Address>> gade = searchStructure.get( entry.gadeid );
255                  if (gade == null) {                  if (gade == null) {
256                            unknownStreets.putIfAbsent(entry.gadeid, entry.vejnavn);
257                          System.out.println("[Range] Ukendt gadeID " + entry);                          System.out.println("[Range] Ukendt gadeID " + entry);
258                          return;                          return;
259                  }                  }
# Line 270  public class AddressManager { Line 293  public class AddressManager {
293                    
294          private void updateAddress(Address addr, AddressSourceEntry entry) {          private void updateAddress(Address addr, AddressSourceEntry entry) {
295                  if ( addr.distributor != null && addr.distributor.equals(entry.distributor) == false) {                  if ( addr.distributor != null && addr.distributor.equals(entry.distributor) == false) {
296                          afvisteEntries.add(entry);                          rejectedEntries.add(entry);
297                          System.out.println("Afviser " + entry);                          System.out.println("Afviser " + entry);
298                          return;                          return;
299                  }                  }
300                                    
301                  addr.visited = true;  
                 if (addr.state == AddressState.NOT_CHANGED) {  
                         if (addr.distributor == null) {  
                                 addr.state = AddressState.OPENED;  
                                 addr.distributor = entry.distributor;  
                         } else {  
                                 addr.state = AddressState.MODIFIED;  
                         }  
                 }  
302                                    
303                  if (entry.ugedage.mandag) {                  if (entry.ugedage.mandag) {
304                          addr.visitedMan = true;                          if (addr.visitedMan == false) {
305                          if (addr.ruteMandag == null) {                                  addr.visitedMan = true;
306                                  addr.stateMan = AddressState.OPENED;                                  if (addr.ruteMandag == null) {
307                                  addr.ruteMandag = entry.rute;                                          addr.stateMan = AddressState.OPENED;
                                 addr.korelisteMandag = entry.koreliste;  
                         } else {  
                                   
                                 if (StringUtils.equals(addr.ruteMandag, entry.rute) == false || StringUtils.equals(addr.korelisteMandag, entry.koreliste) == false) {  
                                         addr.stateMan = AddressState.MODIFIED;  
308                                          addr.ruteMandag = entry.rute;                                          addr.ruteMandag = entry.rute;
309                                          addr.korelisteMandag = entry.koreliste;                                                                          addr.korelisteMandag = entry.koreliste;
310                                  }                                  } else {
311                                            
312                                            if (StringUtils.equals(addr.ruteMandag, entry.rute) == false || StringUtils.equals(addr.korelisteMandag, entry.koreliste) == false) {
313                                                    addr.stateMan = AddressState.MODIFIED;
314                                                    addr.ruteMandag = entry.rute;
315                                                    addr.korelisteMandag = entry.koreliste;                                
316                                            }
317                                    }                              
318                            } else {
319                                    System.out.println( "Double visit monday " + addr);
320                          }                          }
321    
322                  }                  }
323                                    
324                                    
325                  if (entry.ugedage.tirsdag) {                  if (entry.ugedage.tirsdag) {
326                          addr.visitedTir = true;                          if (addr.visitedTir == false) {
327                          if (addr.ruteTirsdag == null) {                                  addr.visitedTir = true;
328                                  addr.stateTir = AddressState.OPENED;                                  if (addr.ruteTirsdag == null) {
329                                  addr.ruteTirsdag = entry.rute;                                          addr.stateTir = AddressState.OPENED;
                                 addr.korelisteTirsdag = entry.koreliste;  
                         } else {  
                                   
                                 if (StringUtils.equals(addr.ruteTirsdag, entry.rute) == false || StringUtils.equals(addr.korelisteTirsdag, entry.koreliste) == false) {  
                                         addr.stateTir = AddressState.MODIFIED;  
330                                          addr.ruteTirsdag = entry.rute;                                          addr.ruteTirsdag = entry.rute;
331                                          addr.korelisteTirsdag = entry.koreliste;                                                                                  addr.korelisteTirsdag = entry.koreliste;
332                                    } else {
333                                            
334                                            if (StringUtils.equals(addr.ruteTirsdag, entry.rute) == false || StringUtils.equals(addr.korelisteTirsdag, entry.koreliste) == false) {
335                                                    addr.stateTir = AddressState.MODIFIED;
336                                                    addr.ruteTirsdag = entry.rute;
337                                                    addr.korelisteTirsdag = entry.koreliste;                                        
338                                            }
339                                  }                                  }
340                          }                          } else {
341                                    System.out.println( "Double visit tuesday " + addr);
342                            }                              
343                  }                  }
344    
345                  if (entry.ugedage.onsdag) {                  if (entry.ugedage.onsdag) {
346                          addr.visitedOns = true;                          if (addr.visitedOns == false) {
347                          if (addr.ruteOnsdag == null) {                                  addr.visitedOns = true;
348                                  addr.stateOns = AddressState.OPENED;                                  if (addr.ruteOnsdag == null) {
349                                  addr.ruteOnsdag = entry.rute;                                          addr.stateOns = AddressState.OPENED;
                                 addr.korelisteOnsdag = entry.koreliste;  
                         } else {  
                                   
                                 if (StringUtils.equals(addr.ruteOnsdag, entry.rute) == false || StringUtils.equals(addr.korelisteOnsdag, entry.koreliste) == false) {  
                                         addr.stateOns = AddressState.MODIFIED;  
350                                          addr.ruteOnsdag = entry.rute;                                          addr.ruteOnsdag = entry.rute;
351                                          addr.korelisteOnsdag = entry.koreliste;                                                                          addr.korelisteOnsdag = entry.koreliste;
352                                    } else {
353                                            
354                                            if (StringUtils.equals(addr.ruteOnsdag, entry.rute) == false || StringUtils.equals(addr.korelisteOnsdag, entry.koreliste) == false) {
355                                                    addr.stateOns = AddressState.MODIFIED;
356                                                    addr.ruteOnsdag = entry.rute;
357                                                    addr.korelisteOnsdag = entry.koreliste;                                
358                                            }
359                                  }                                  }
360                          }                          } else {
361                                    System.out.println( "Double visit wednesday " + addr);
362                            }              
363                  }                  }
364    
365                                    
366                  if (entry.ugedage.torsdag) {                  if (entry.ugedage.torsdag) {
367                          addr.visitedTor = true;                          if (addr.visitedTor == false) {
368                          if (addr.ruteTorsdag == null) {                                  addr.visitedTor = true;
369                                  addr.stateTor = AddressState.OPENED;                                  if (addr.ruteTorsdag == null) {
370                                  addr.ruteTorsdag = entry.rute;                                          addr.stateTor = AddressState.OPENED;
                                 addr.korelisteTorsdag = entry.koreliste;  
                         } else {  
                                   
                                   
                                 if (StringUtils.equals(addr.ruteTorsdag, entry.rute) == false || StringUtils.equals(addr.korelisteTorsdag, entry.koreliste) == false) {  
                                         addr.stateTor = AddressState.MODIFIED;  
371                                          addr.ruteTorsdag = entry.rute;                                          addr.ruteTorsdag = entry.rute;
372                                          addr.korelisteTorsdag = entry.koreliste;                                                                                  addr.korelisteTorsdag = entry.koreliste;
373                                    } else {
374                                            
375                                            
376                                            if (StringUtils.equals(addr.ruteTorsdag, entry.rute) == false || StringUtils.equals(addr.korelisteTorsdag, entry.koreliste) == false) {
377                                                    addr.stateTor = AddressState.MODIFIED;
378                                                    addr.ruteTorsdag = entry.rute;
379                                                    addr.korelisteTorsdag = entry.koreliste;                                        
380                                            }
381                                  }                                  }
382                          }                          } else {
383                                    System.out.println( "Double visit thursday " + addr);
384                            }                                      
385                  }                  }
386    
387                                    
388                  if (entry.ugedage.fredag) {                  if (entry.ugedage.fredag) {
389                          addr.visitedFre = true;                          if (addr.visitedFre == false) {
390                          if (addr.ruteFredag == null) {                                  addr.visitedFre = true;
391                                  addr.stateFre = AddressState.OPENED;                                  if (addr.ruteFredag == null) {
392                                  addr.ruteFredag = entry.rute;                                          addr.stateFre = AddressState.OPENED;
                                 addr.korelisteFredag = entry.koreliste;  
                         } else {  
                                   
                                 if (StringUtils.equals(addr.ruteFredag, entry.rute) == false || StringUtils.equals(addr.korelisteFredag, entry.koreliste) == false) {  
                                         addr.stateFre = AddressState.MODIFIED;  
393                                          addr.ruteFredag = entry.rute;                                          addr.ruteFredag = entry.rute;
394                                          addr.korelisteFredag = entry.koreliste;                                                                          addr.korelisteFredag = entry.koreliste;
395                                    } else {
396                                            
397                                            if (StringUtils.equals(addr.ruteFredag, entry.rute) == false || StringUtils.equals(addr.korelisteFredag, entry.koreliste) == false) {
398                                                    addr.stateFre = AddressState.MODIFIED;
399                                                    addr.ruteFredag = entry.rute;
400                                                    addr.korelisteFredag = entry.koreliste;                                
401                                            }
402                                  }                                  }
403                          }                          } else {
404                                    System.out.println( "Double visit friday " + addr);
405                            }      
406                  }                  }
407    
408                                    
409                  if (entry.ugedage.lordag) {                  if (entry.ugedage.lordag) {
410                          addr.visitedLor = true;                          if (addr.visitedLor == false) {
411                          if (addr.ruteLordag == null) {                                  addr.visitedLor = true;
412                                  addr.stateLor = AddressState.OPENED;                                  if (addr.ruteLordag == null) {
413                                  addr.ruteLordag = entry.rute;                                          addr.stateLor = AddressState.OPENED;
                                 addr.korelisteLordag = entry.koreliste;  
                         } else {  
                                   
                                   
                                 if (StringUtils.equals(addr.ruteLordag, entry.rute) == false || StringUtils.equals(addr.korelisteLordag, entry.koreliste) == false) {  
                                         addr.stateLor = AddressState.MODIFIED;  
414                                          addr.ruteLordag = entry.rute;                                          addr.ruteLordag = entry.rute;
415                                          addr.korelisteLordag = entry.koreliste;                                                                          addr.korelisteLordag = entry.koreliste;
416                                    } else {
417                                            
418                                            
419                                            if (StringUtils.equals(addr.ruteLordag, entry.rute) == false || StringUtils.equals(addr.korelisteLordag, entry.koreliste) == false) {
420                                                    addr.stateLor = AddressState.MODIFIED;
421                                                    addr.ruteLordag = entry.rute;
422                                                    addr.korelisteLordag = entry.koreliste;                                
423                                            }
424                                  }                                  }
425                          }                          } else {
426                                    System.out.println( "Double visit saturday " + addr);
427                            }                                      
428                  }                  }
429    
430                                    
431                  if (entry.ugedage.sondag) {                  if (entry.ugedage.sondag) {
432                          addr.visitedSon = true;                          if (addr.visitedSon == false) {
433                          if (addr.ruteSondag == null) {                                  addr.visitedSon = true;
434                                  addr.stateSon = AddressState.OPENED;                                  if (addr.ruteSondag == null) {
435                                  addr.ruteSondag = entry.rute;                                          addr.stateSon = AddressState.OPENED;
                                 addr.korelisteSondag = entry.koreliste;  
                         } else {  
                                   
                                 if (StringUtils.equals(addr.ruteSondag, entry.rute) == false || StringUtils.equals(addr.korelisteSondag, entry.koreliste) == false) {  
                                         addr.stateSon = AddressState.MODIFIED;  
436                                          addr.ruteSondag = entry.rute;                                          addr.ruteSondag = entry.rute;
437                                          addr.korelisteSondag = entry.koreliste;                                                                          addr.korelisteSondag = entry.koreliste;
438                                    } else {
439                                            
440                                            if (StringUtils.equals(addr.ruteSondag, entry.rute) == false || StringUtils.equals(addr.korelisteSondag, entry.koreliste) == false) {
441                                                    addr.stateSon = AddressState.MODIFIED;
442                                                    addr.ruteSondag = entry.rute;
443                                                    addr.korelisteSondag = entry.koreliste;                                
444                                            }
445                                  }                                  }
446                          }                          } else {
447                                    System.out.println( "Double visit sunday " + addr);
448                            }                                      
449                  }                  }
   
450                                    
451                                    
452                    
453                    //addr.visited = true;
454                    if (addr.state == AddressState.NOT_CHANGED) {
455                            if (addr.distributor == null) {
456                                    addr.state = AddressState.OPENED;
457                                    addr.distributor = entry.distributor;
458                            } else {
459                                    if (addr.stateMan != AddressState.NOT_CHANGED || addr.stateTir != AddressState.NOT_CHANGED
460                                                    || addr.stateOns != AddressState.NOT_CHANGED || addr.stateTor != AddressState.NOT_CHANGED
461                                                    || addr.stateFre != AddressState.NOT_CHANGED || addr.stateLor != AddressState.NOT_CHANGED || addr.stateSon != AddressState.NOT_CHANGED ){
462                                            
463                                            addr.state = AddressState.MODIFIED;    
464                                    }
465                            }
466                    }              
467                    
468                    updateDbkBane(addr);
469                    
470          }          }
471                    
472                    
473                    
474          private void createFromEntry(AddressSourceEntry entry) {          private void createFromEntry(AddressSourceEntry entry) {
475                    if (entry.husnr == 999) {
476                            return;
477                    }
478                    if (entry.kommunekode == 0 || entry.vejkode == 0) {
479                            return;
480                    }
481                    if (entry.kommunekode < 100) {
482                            return;
483                    }
484                    if (Short.parseShort(Integer.toString(entry.gadeid).substring(0, 4)) != entry.postnr) {
485                            return; //gadeid / postnr mismatch
486                    }
487                    
488                    
489                    
490                  System.out.println("Opretter adresse ud fra " + entry);                  System.out.println("Opretter adresse ud fra " + entry);
491                                    
492                  Address a = new Address();                  Address a = new Address();
# Line 424  public class AddressManager { Line 500  public class AddressManager {
500                  a.husnr = entry.husnr;                  a.husnr = entry.husnr;
501                  a.husnrbogstav = entry.litra;                  a.husnrbogstav = entry.litra;
502                  a.postnr = entry.postnr;                  a.postnr = entry.postnr;
503                  a.visited = true;                  //a.visited = true;
504                                    
505                  if (entry.ugedage.mandag) {                  if (entry.ugedage.mandag) {
506                          a.ruteMandag = entry.rute;                          a.ruteMandag = entry.rute;
# Line 455  public class AddressManager { Line 531  public class AddressManager {
531                          a.korelisteLordag = entry.koreliste;                          a.korelisteLordag = entry.koreliste;
532                  }                                }              
533                                    
534                    updateDbkBane(a);
535                    
536                  // Nu er det nye adresse object oprettet - nu skal det gemmes i søge strukturen og totallisten                  // Nu er det nye adresse object oprettet - nu skal det gemmes i søge strukturen og totallisten
537                                    
538    
# Line 476  public class AddressManager { Line 554  public class AddressManager {
554                                                                    
555          }          }
556                    
557            
558            
559             /*
560             DAO:
561             UPDATE fulddaekning.adressetabel
562             SET dbkbane = case
563                    when substr(korelisteMa,1,2) IN ('07','10','11','12','14','15','16','18','19','20') then 205 #DAO-BRA
564                 when substr(korelisteMa,1,2) BETWEEN 24 and 30 then 201 #DAO-Ovrige
565                 else 202 #dao syd (52-99=
566             END
567             WHERE distributor='DAO'
568             AND ruteMa is not null;
569    
570             FD: Altid 200
571             NS: Altid 204
572             BK: 195,196,197,198
573             */
574            
575            private void updateDbkBane(Address a) {
576                    List<Short> daoBane205 = Arrays.asList( new Short[] {7,10,11,12,12,14,15,16,18,19,20} );
577                    
578                    
579                    Short bane = null;
580                    
581                    switch (a.distributor) {
582                    case "BK":                      
583                            bane = dbkBaneMap.get(a.postnr);
584                            break;
585                    case "DAO":
586                            String koreliste = MiscUtils.firstNonNull(a.korelisteMandag,a.korelisteLordag, a.korelisteSondag); //DAO har kun 3 dækningstyper
587                            short first2 = Short.parseShort( koreliste.substring(0,2) );
588                            if ( daoBane205.contains(first2) ) {
589                                    bane = 205;
590                            } else if (first2 >= 24 && first2<=30) {
591                                    bane = 201;
592                            } else {
593                                    bane = 202;
594                            }
595                                    
596                            break;                  
597                    case "FD":
598                            bane = 200;
599                            break;
600                    case "NS":
601                            bane = 204;
602                            break;
603                    default:
604                            throw new RuntimeException("Ukendt distributor" + a.distributor); //Silence findBugs
605                    }
606                    
607                    if (bane == null) {
608                            throw new RuntimeException("Ukendt bane for postnr" + a.postnr);
609                    }
610                    
611                    if (a.dbkBane != bane) {
612                            a.dbkBane = bane;
613                            if (a.state ==AddressState.NOT_CHANGED) {
614                                    a.state = AddressState.MODIFIED;
615                            }
616                    }              
617            }
618            
619          public List<Address> getAddressList() {          public List<Address> getAddressList() {
620                  return Collections.unmodifiableList(addressList);                  return Collections.unmodifiableList(addressList);
621          }          }
622                    
623          public int getAfvistAntal() {          public Map<Integer,String> getUnknownStreets() {
624                  return afvisteEntries.size();                  return Collections.unmodifiableMap( unknownStreets );
625            }
626            
627            
628            
629            public int getRejectedCount() {
630                    return rejectedEntries.size();
631          }          }
632                    
633  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20