/[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 2557 by torben, Fri May 22 12:00:25 2015 UTC revision 2608 by torben, Wed Jul 15 06:52:05 2015 UTC
# Line 42  public class AddressSearch { Line 42  public class AddressSearch {
42                    
43          private DataStatisticsBean stats = new DataStatisticsBean();          private DataStatisticsBean stats = new DataStatisticsBean();
44                    
45            private DatabaseLayer db;
46            
47          ServiceConfig config;          ServiceConfig config;
48                    
49          StreetnameHelper levenshteinHelper;          StreetnameHelper levenshteinHelper;
# Line 49  public class AddressSearch { Line 51  public class AddressSearch {
51          StreetnameHelper osmHelper;          StreetnameHelper osmHelper;
52                    
53                    
54          public AddressSearch(ServiceConfig config) {          public AddressSearch(DatabaseLayer db, ServiceConfig config) {
55                  this.config = config;                  this.config = config;
56                                    
57                    this.db = db;
58                    
59                  levenshteinHelper = new LevenshteinStreetnameHelper( this );                  levenshteinHelper = new LevenshteinStreetnameHelper( this );
60                  googleHelper = new GoogleStreetnameHelper( config );                  googleHelper = new GoogleStreetnameHelper( config );
61                  osmHelper = new OSMStreetnameHelper( config );                  osmHelper = new OSMStreetnameHelper( config );
# Line 67  public class AddressSearch { Line 71  public class AddressSearch {
71                  SearchRequest request = new SearchRequest();                  SearchRequest request = new SearchRequest();
72                  SearchResult result = new SearchResult();                  SearchResult result = new SearchResult();
73                                    
   
                 String helperSearchKey = "";  
74                                    
75                  try {                  try {
76                          request.postnr = Short.parseShort(postnrStr);                          request.postnr = Short.parseShort(postnrStr);
# Line 111  public class AddressSearch { Line 113  public class AddressSearch {
113                  }                  }
114                                    
115                  // LookupStreetname er en indkapsling af alm + levenstein + google + osm                  // LookupStreetname er en indkapsling af alm + levenstein + google + osm
116                  Integer gadeident = lookupStretname(request, result, helperSearchKey, true);                  Integer gadeident = lookupStretname(request, result, true);
117                                    
118                                    
119                  /*                  /*
# Line 129  public class AddressSearch { Line 131  public class AddressSearch {
131                                  request.vejnavn = subVejnavn;                                  request.vejnavn = subVejnavn;
132                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );
133                                                                    
134                                  gadeident = lookupStretname(request, result, helperSearchKey, false);//prøv opslag MEN UDEN GOOGLE/OSM !!!                                  gadeident = lookupStretname(request, result, false);//prøv opslag MEN UDEN GOOGLE/OSM !!!
135                                                                    
136                                  //hvis vi fandt vejen ud fra substrengen                                  //hvis vi fandt vejen ud fra substrengen
137                                  if (gadeident != null) {                                  if (gadeident != null) {
# Line 191  public class AddressSearch { Line 193  public class AddressSearch {
193          }          }
194    
195    
196          private Integer lookupStretname(SearchRequest request, SearchResult result, String helperSearchKey, boolean useExternal) {          private Integer lookupStretname(SearchRequest request, SearchResult result, boolean useExternal) {
197                    String helperSearchKey = "";
198                    
199                  Integer gadeident =  request.streetNames.get(result.vasketVejnavn);                  Integer gadeident =  request.streetNames.get(result.vasketVejnavn);
200                                    
201                                    
# Line 250  public class AddressSearch { Line 254  public class AddressSearch {
254                  long start1 = System.currentTimeMillis();                  long start1 = System.currentTimeMillis();
255                  System.out.println("Build -- stage 1");                  System.out.println("Build -- stage 1");
256                                    
257                  alleAdresser = DatabaseLayer.getAllAdresses();                  alleAdresser = db.getAllAdresses();
258                                    
259                                    
260                  /* Mapper mellem db Row ID og adresse noden */                  /* Mapper mellem db Row ID og adresse noden */
# Line 301  public class AddressSearch { Line 305  public class AddressSearch {
305                  System.out.println("Build -- stage 2 alias tabel");                  System.out.println("Build -- stage 2 alias tabel");
306                                    
307                  int vaskCount = 0;                  int vaskCount = 0;
308                  List<AliasBean> aliasList = DatabaseLayer.getAliasList();                  List<AliasBean> aliasList = db.getAliasList();
309                  for (AliasBean alias : aliasList) {                  for (AliasBean alias : aliasList) {
310                          Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(alias.postnr);                          Map<String,Integer> postnrVeje = searchPostnrVejnavnGadeid.get(alias.postnr);
311                                                    
# Line 338  public class AddressSearch { Line 342  public class AddressSearch {
342                  DeduplicateHelper<String> ruteHelper = new DeduplicateHelper<String>();                  DeduplicateHelper<String> ruteHelper = new DeduplicateHelper<String>();
343                  DeduplicateHelper<String> korelisteHelper = new DeduplicateHelper<String>();                  DeduplicateHelper<String> korelisteHelper = new DeduplicateHelper<String>();
344                                    
345                  List<ExtendedBean> extDao = DatabaseLayer.getExtendedAdresslist();                  List<ExtendedBean> extDao = db.getExtendedAdresslist();
346                  for (ExtendedBean eb : extDao) {                  for (ExtendedBean eb : extDao) {
347                                                    
348                          Address orgAddress = idAddressMap.get(eb.orgId);                                                  Address orgAddress = idAddressMap.get(eb.orgId);                        
# Line 412  public class AddressSearch { Line 416  public class AddressSearch {
416                  System.out.println("Build, stage3 elapsed: " + (start4-start3) );                  System.out.println("Build, stage3 elapsed: " + (start4-start3) );
417                  System.out.println("Build -- stage 4 - 100pct");                  System.out.println("Build -- stage 4 - 100pct");
418                                    
419                  Map<Short,HundredePctBean> hundredePct = DatabaseLayer.get100PctList();                  Map<Short,HundredePctBean> hundredePct = db.get100PctList();
420                  for (Address addr : alleAdresser) {                  for (Address addr : alleAdresser) {
421                          if (addr.daekningsType != DaekningsType.DAEKNING_IKKEDAEKKET) {                                                  if (addr.daekningsType != DaekningsType.DAEKNING_IKKEDAEKKET) {                        
422                                  continue;                                  continue;
# Line 455  public class AddressSearch { Line 459  public class AddressSearch {
459                                  stats.ikkeDaekketCount++;                                  stats.ikkeDaekketCount++;
460                          }                          }
461                  }                                }              
462                    stats.totalCount = alleAdresser.size();
463                                    
464                                    
465                  stats.elapsed = stop-start1;                              stats.elapsed = stop-start1;            
466                  stats.buildTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date() );                  stats.buildTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date() );
467                                    
468                    System.out.println("Build: totalCount: " + stats.totalCount);
469                  System.out.println("Build: direkteCount: " + stats.direkteCount);                  System.out.println("Build: direkteCount: " + stats.direkteCount);
470                  System.out.println("Build: extendedCount: " + stats.extendedCount);                  System.out.println("Build: extendedCount: " + stats.extendedCount);
471                  System.out.println("Build: hundredePctCount: " + stats.hundredePctCount);                  System.out.println("Build: hundredePctCount: " + stats.hundredePctCount);
# Line 474  public class AddressSearch { Line 480  public class AddressSearch {
480                  return stats;                  return stats;
481          }          }
482                    
483            public DatabaseLayer getDatabaseLayer() {
484                    return db;
485            }
486            
487          public void clear() {          public void clear() {
488                  searchPostnrVejnavnGadeid.clear();                  searchPostnrVejnavnGadeid.clear();
489                  searchGadeidentAdresser.clear();                  searchGadeidentAdresser.clear();
# Line 584  public class AddressSearch { Line 594  public class AddressSearch {
594                  aliasSet.add(vejnavn.replace("st.", "store") );                  aliasSet.add(vejnavn.replace("st.", "store") );
595                                    
596                  aliasSet.add(vejnavn.replace("søndre", "sdr") );                  aliasSet.add(vejnavn.replace("søndre", "sdr") );
597                  aliasSet.add(vejnavn.replace("sdr", "søndre") );                  aliasSet.add(vejnavn.replace("sdr", "søndre") );              
598                    aliasSet.add(vejnavn.replace("sønder", "sdr") );
599                    aliasSet.add(vejnavn.replace("sdr", "sønder") );
600    
601                                    
602                  aliasSet.add(vejnavn.replace("nørre", "nr") );                  aliasSet.add(vejnavn.replace("nørre", "nr") );
# Line 620  public class AddressSearch { Line 632  public class AddressSearch {
632                  aliasSet.add(vejnavn.replace("john", "j") );                  aliasSet.add(vejnavn.replace("john", "j") );
633                  aliasSet.add(vejnavn.replace("thomas", "th") );                  aliasSet.add(vejnavn.replace("thomas", "th") );
634                  aliasSet.add(vejnavn.replace("thorvald", "th") );                  aliasSet.add(vejnavn.replace("thorvald", "th") );
635                    aliasSet.add(vejnavn.replace("frederik", "fr") );
636                    aliasSet.add(vejnavn.replace("frederiks", "fr") );
637                                    
638                                    
639                  aliasSet.add(vejnavn.replace("christian", "chr") );                  aliasSet.add(vejnavn.replace("christian", "chr") );
640                    aliasSet.add(vejnavn.replace("christians", "chr") );
641                  aliasSet.add(vejnavn.replace("kristian", "kr") );                  aliasSet.add(vejnavn.replace("kristian", "kr") );
642                    aliasSet.add(vejnavn.replace("kristians", "kr") );
643                                    
644                                    
645                  // alternative stavninger                  // alternative stavninger
# Line 683  public class AddressSearch { Line 699  public class AddressSearch {
699                                    
700                  aliasSet.add(vejnavn.replace("plads", "pl") );                  aliasSet.add(vejnavn.replace("plads", "pl") );
701                  aliasSet.add(vejnavn.replace("vænget", "vænge") );                  aliasSet.add(vejnavn.replace("vænget", "vænge") );
702                    
703                    aliasSet.add(vejnavn.replace("boulevard", "blvd") );
704                    aliasSet.add(vejnavn.replace("blvd", "boulevard") );
705    
706                    aliasSet.add(vejnavn.replace("boulevard", "boule") );
707                    aliasSet.add(vejnavn.replace("boule", "boulevard") );
708                                    
709                    aliasSet.add(vejnavn.replace("kronborg", "krbg") ); //Krbg ladegårdsvej, 3000
710                    aliasSet.add(vejnavn.replace("krbg", "kronborg") );
711                                    
712                  // Opbyg æøå varianter over alle fundne aliaser                  // Opbyg æøå varianter over alle fundne aliaser
713                                    

Legend:
Removed from v.2557  
changed lines
  Added in v.2608

  ViewVC Help
Powered by ViewVC 1.1.20