/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressSearch.java
ViewVC logotype

Diff of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressSearch.java

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

revision 2787 by torben, Mon Nov 30 13:47:21 2015 UTC revision 2804 by torben, Wed Jan 13 11:04:36 2016 UTC
# Line 216  public class AddressSearch { Line 216  public class AddressSearch {
216                  Address addr = litraList.get( result.splitResult.litra );                  Address addr = litraList.get( result.splitResult.litra );
217                                    
218                  if (addr == null) { //litra ikke fundet                  if (addr == null) { //litra ikke fundet
219                          if (config.nearestLitra == true) {                          if (config.nearestLitra == true || naermesteHusnr == true) {
220                                  result.nearestLitra = true;                                  result.nearestLitra = true;
221                                  addr = litraList.values().iterator().next();                                                              addr = litraList.values().iterator().next();                            
222                          } else {                          } else {
# Line 265  public class AddressSearch { Line 265  public class AddressSearch {
265                  }                  }
266                                    
267                  if (gadeident == null) {                  if (gadeident == null) {
268                          String vej = levenshteinHelper.proposeStreetName(request, result);                          String vej = metaphoneHelper.proposeStreetName(request, result);
269                          if (vej != null) {                          if (vej != null) {
270                                  gadeident =  request.streetNames.get(vej);                                  gadeident =  request.streetNames.get(vej);
271                          }                          }
# Line 321  public class AddressSearch { Line 321  public class AddressSearch {
321                  Map<Integer,Address> idAddressMap = new HashMap<Integer,Address>( alleAdresser.size() );                  Map<Integer,Address> idAddressMap = new HashMap<Integer,Address>( alleAdresser.size() );
322                  DeduplicateHelper<String> aliasHelper = new DeduplicateHelper<String>();                  DeduplicateHelper<String> aliasHelper = new DeduplicateHelper<String>();
323                                    
324                    DeduplicateHelper<Short> shortHelper = new DeduplicateHelper<Short>();
325                    DeduplicateHelper<Integer> intHelper = new DeduplicateHelper<Integer>();
326                    
327                    
328                  for (Address a : alleAdresser) {                  for (Address a : alleAdresser) {
329                          idAddressMap.put(a.id, a);                          idAddressMap.put(a.id, a);
330                                                    
331                          Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(a.postnr);                                        Short postnr = shortHelper.getInstance(a.postnr);
332                            
333                            Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(postnr);        
334                                                    
335                          if (postnrVeje == null) {                          if (postnrVeje == null) {
336                                  postnrVeje = new ConcurrentHashMap<String,Integer>();                                  postnrVeje = new HashMap<String,Integer>(10240); //lige nu indeholder den største 9500 entries
337                                  searchPostnrVejnavnGadeid.put(a.postnr, postnrVeje);                                  searchPostnrVejnavnGadeid.put(postnr, postnrVeje);
338                          }                          }
339                                                                    
340                                                    
# Line 337  public class AddressSearch { Line 343  public class AddressSearch {
343                          if (gadeident == null) {                                                          if (gadeident == null) {                                
344                                  //postnrVeje.put(vasketVejnavn, a.gadeid);                                  //postnrVeje.put(vasketVejnavn, a.gadeid);
345                                                                    
346                                  gadeident = a.gadeid;                                  gadeident = intHelper.getInstance( a.gadeid );
347                                                                    
348                                  Set<String> aliaser = findVejAliaser(a.vejnavn);                                  Set<String> aliaser = findVejAliaser(a.vejnavn);
349                                  for(String alias : aliaser) {                                  for(String alias : aliaser) {
# Line 345  public class AddressSearch { Line 351  public class AddressSearch {
351                                          vasketAlias = aliasHelper.getInstance(vasketAlias);                                          vasketAlias = aliasHelper.getInstance(vasketAlias);
352                                                                                    
353                                          postnrVeje.put(vasketAlias, gadeident);                                          postnrVeje.put(vasketAlias, gadeident);
354                                  }                                                                }
355                                    
356                          }                          }
357                                                    
358                            
359                          Map<Short, Map<String,Address>> gade =  searchGadeidentAdresser.get(gadeident);                          Map<Short, Map<String,Address>> gade =  searchGadeidentAdresser.get(gadeident);
360                          if (gade == null) {                          if (gade == null) {
361                                  gade = new TreeMap<Short, Map<String,Address>>();                                  gade = new TreeMap<Short, Map<String,Address>>();
# Line 362  public class AddressSearch { Line 370  public class AddressSearch {
370                                                    
371                          litraList.put(a.husnrbogstav, a);                                                litraList.put(a.husnrbogstav, a);                      
372                  }                  }
373                    
374                  ////////////////////////////////////////////////////////////////////////////////////////                  ////////////////////////////////////////////////////////////////////////////////////////
375                  long start2 = System.currentTimeMillis();                  long start2 = System.currentTimeMillis();
376                  System.out.println("Build, stage1 elapsed: " + (start2-start1) );                  System.out.println("Build, stage1 elapsed: " + (start2-start1) );
# Line 797  public class AddressSearch { Line 805  public class AddressSearch {
805                                    
806                  // Opbyg æøå varianter over alle fundne aliaser                  // Opbyg æøå varianter over alle fundne aliaser
807                                    
808                  @SuppressWarnings("unchecked")                  HashSet<String> variants = new HashSet<String>( aliasSet );
                 HashSet<String> variants = (HashSet<String>) aliasSet.clone();  
809                                    
810                  for (String vVejnavn : variants) {                                                        for (String vVejnavn : variants) {                                      
811                          // danske tegn 1                          // danske tegn 1
# Line 818  public class AddressSearch { Line 825  public class AddressSearch {
825                          aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") );                          aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") );
826                                                    
827                          //danske tegn 3                          //danske tegn 3
828                          aliasSet.add( vejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") );                          aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") );
829                          aliasSet.add( vejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") );                          aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") );
830                                                    
831                                                    
832                          //udenlandsketegn                          //udenlandsketegn
833                          aliasSet.add(vejnavn.replace("u", "ü") );                          aliasSet.add( vVejnavn.replace("u", "ü") );
834                          aliasSet.add(vejnavn.replace("ü", "u") );                          aliasSet.add( vVejnavn.replace("ü", "u") );
835                                                    
836                          aliasSet.add(vejnavn.replace("ä", "æ") );                          aliasSet.add( vVejnavn.replace("ä", "æ") );
837                          aliasSet.add(vejnavn.replace("æ", "ä") );                          aliasSet.add( vVejnavn.replace("æ", "ä") );
838                                                    
839                          aliasSet.add(vejnavn.replace("ö", "ø") );                          aliasSet.add( vVejnavn.replace("ö", "ø") );
840                          aliasSet.add(vejnavn.replace("ø", "ö") );                          aliasSet.add( vVejnavn.replace("ø", "ö") );
841                  }                  }
842                                    
843                  return aliasSet;                  return aliasSet;

Legend:
Removed from v.2787  
changed lines
  Added in v.2804

  ViewVC Help
Powered by ViewVC 1.1.20