/[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 2555 by torben, Fri May 22 06:43:40 2015 UTC revision 2556 by torben, Fri May 22 11:22:56 2015 UTC
# Line 109  public class AddressSearch { Line 109  public class AddressSearch {
109                          return result;                                            return result;                  
110                  }                  }
111                                    
112                  Integer gadeident =  request.streetNames.get(result.vasketVejnavn);                  // LookupStreetname er en indkapsling af alm + levenstein + google + osm
113                    Integer gadeident = lookupStretname(request, result, helperSearchKey);
114                                    
115                                    
116                  if ( gadeident == null) {                  /*
117                          helperSearchKey = "" + request.postnr + "/" + result.vasketVejnavn;                   * Hvis der ikke er direkte hits, prøver vi at skære op til 3 ord vejnavn
118                          gadeident = helperCache.get(helperSearchKey);                   *
119                  }                   *Denne sektion er MEGET experimental da den øger antallet af kald til google/OSM væsentligt
                   
120                  if (gadeident == null) {                  if (gadeident == null) {
121                          String vej = levenshteinHelper.proposeStreetName(request, result);                          String vejnavnParts[] = request.vejnavn.split(" ");
122                          if (vej != null) {                          
123                                  gadeident =  request.streetNames.get(vej);                          for (int i=1; i<=3 && i<vejnavnParts.length; i++) {
124                          }                                  String subVejnavn = DaoUtils.joinHelper(vejnavnParts, i);
125                  }                                  
126                                                    request.vejnavn = subVejnavn;
127                                                    result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );
128                  // Brug OpenStreetMap før vi prøver google                                  
129                  // For google har en request limit, det har OSM ikke!                                  gadeident = lookupStretname(request, result, helperSearchKey);
130                  if ( gadeident == null) {                                  
131                          String vej = osmHelper.proposeStreetName(request, result);                                                //hvis vi fandt vejen ud fra substrengen
132                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);                                  if (gadeident != null) {
133                  }                                          break;
134                                                    }                      
135                  if ( gadeident == null) {                                  
136                          String vej = googleHelper.proposeStreetName(request, result);                                            //hvis vi ikke fandt kopierer vi vejnavn fra split igen
137                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);                                  request.vejnavn = result.splitResult.vej;
138                  }                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );
139                            }                      
140                    }*/
141                                    
142    
143                                    
# Line 184  public class AddressSearch { Line 186  public class AddressSearch {
186    
187                  return result;                  return result;
188          }          }
189    
190    
191            private Integer lookupStretname(SearchRequest request, SearchResult result, String helperSearchKey) {
192                    Integer gadeident =  request.streetNames.get(result.vasketVejnavn);
193                    
194                    
195                    if ( gadeident == null) {
196                            helperSearchKey = "" + request.postnr + "/" + result.vasketVejnavn;
197                            gadeident = helperCache.get(helperSearchKey);
198                    }
199                    
200                    if (gadeident == null) {
201                            String vej = levenshteinHelper.proposeStreetName(request, result);
202                            if (vej != null) {
203                                    gadeident =  request.streetNames.get(vej);
204                            }
205                    }
206                    
207                    
208                    // Brug OpenStreetMap før vi prøver google
209                    // For google har en request limit, det har OSM ikke!
210                    if ( gadeident == null) {
211                            String vej = osmHelper.proposeStreetName(request, result);              
212                            gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);
213                    }
214                    
215                    if ( gadeident == null) {
216                            String vej = googleHelper.proposeStreetName(request, result);          
217                            gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);
218                    }
219                    return gadeident;
220            }
221                    
222          private Integer helperWrapper(String vej, Map<String,Integer> postnrVeje, String helperSearchKey) {          private Integer helperWrapper(String vej, Map<String,Integer> postnrVeje, String helperSearchKey) {
223                  if (vej == null)                  if (vej == null)

Legend:
Removed from v.2555  
changed lines
  Added in v.2556

  ViewVC Help
Powered by ViewVC 1.1.20