/[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 2556 by torben, Fri May 22 11:22:56 2015 UTC revision 2558 by torben, Fri May 22 12:06:22 2015 UTC
# Line 27  import dk.daoas.daoadresseservice.beans. Line 27  import dk.daoas.daoadresseservice.beans.
27  import dk.daoas.daoadresseservice.beans.SearchResult;  import dk.daoas.daoadresseservice.beans.SearchResult;
28  import dk.daoas.daoadresseservice.beans.SearchResult.Status;  import dk.daoas.daoadresseservice.beans.SearchResult.Status;
29  import dk.daoas.daoadresseservice.db.DatabaseLayer;  import dk.daoas.daoadresseservice.db.DatabaseLayer;
30    import dk.daoas.daoadresseservice.util.DaoUtils;
31  import dk.daoas.daoadresseservice.util.DeduplicateHelper;  import dk.daoas.daoadresseservice.util.DeduplicateHelper;
32  import dk.daoas.daoadresseservice.util.NaturalOrderComparator;  import dk.daoas.daoadresseservice.util.NaturalOrderComparator;
33    
# Line 66  public class AddressSearch { Line 67  public class AddressSearch {
67                  SearchRequest request = new SearchRequest();                  SearchRequest request = new SearchRequest();
68                  SearchResult result = new SearchResult();                  SearchResult result = new SearchResult();
69                                    
   
                 String helperSearchKey = "";  
70                                    
71                  try {                  try {
72                          request.postnr = Short.parseShort(postnrStr);                          request.postnr = Short.parseShort(postnrStr);
# Line 110  public class AddressSearch { Line 109  public class AddressSearch {
109                  }                  }
110                                    
111                  // LookupStreetname er en indkapsling af alm + levenstein + google + osm                  // LookupStreetname er en indkapsling af alm + levenstein + google + osm
112                  Integer gadeident = lookupStretname(request, result, helperSearchKey);                  Integer gadeident = lookupStretname(request, result, true);
113                                    
114                                    
115                  /*                  /*
116                   * Hvis der ikke er direkte hits, prøver vi at skære op til 3 ord vejnavn                   * Hvis der ikke er direkte hits, prøver vi at skære ord af vejnavn
117                   *                   *
118                   *Denne sektion er MEGET experimental da den øger antallet af kald til google/OSM væsentligt                   * <strike>Denne sektion er MEGET experimental da den øger antallet af kald til google/OSM væsentligt</strike>*/
119                  if (gadeident == null) {                  if (gadeident == null) {
120                            final int MAX_TRIES = 4;
121                            
122                          String vejnavnParts[] = request.vejnavn.split(" ");                          String vejnavnParts[] = request.vejnavn.split(" ");
123                                                    
124                          for (int i=1; i<=3 && i<vejnavnParts.length; i++) {                          for (int i=1; i<=MAX_TRIES && i<vejnavnParts.length; i++) {
125                                  String subVejnavn = DaoUtils.joinHelper(vejnavnParts, i);                                  String subVejnavn = DaoUtils.joinHelper(vejnavnParts, i);
126                                                                    
127                                  request.vejnavn = subVejnavn;                                  request.vejnavn = subVejnavn;
128                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );
129                                                                    
130                                  gadeident = lookupStretname(request, result, helperSearchKey);                                  gadeident = lookupStretname(request, result, false);//prøv opslag MEN UDEN GOOGLE/OSM !!!
131                                                                    
132                                  //hvis vi fandt vejen ud fra substrengen                                  //hvis vi fandt vejen ud fra substrengen
133                                  if (gadeident != null) {                                  if (gadeident != null) {
# Line 137  public class AddressSearch { Line 138  public class AddressSearch {
138                                  request.vejnavn = result.splitResult.vej;                                  request.vejnavn = result.splitResult.vej;
139                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );                                  result.vasketVejnavn = AddressUtils.vaskVejnavn( request.vejnavn );
140                          }                                                }                      
141                  }*/                  }
142                                    
143    
144                                    
# Line 188  public class AddressSearch { Line 189  public class AddressSearch {
189          }          }
190    
191    
192          private Integer lookupStretname(SearchRequest request, SearchResult result, String helperSearchKey) {          private Integer lookupStretname(SearchRequest request, SearchResult result, boolean useExternal) {
193                    String helperSearchKey = "";
194                    
195                  Integer gadeident =  request.streetNames.get(result.vasketVejnavn);                  Integer gadeident =  request.streetNames.get(result.vasketVejnavn);
196                                    
197                                    
# Line 207  public class AddressSearch { Line 210  public class AddressSearch {
210                                    
211                  // Brug OpenStreetMap før vi prøver google                  // Brug OpenStreetMap før vi prøver google
212                  // For google har en request limit, det har OSM ikke!                  // For google har en request limit, det har OSM ikke!
213                  if ( gadeident == null) {                  if ( gadeident == null && useExternal) {
214                          String vej = osmHelper.proposeStreetName(request, result);                                        String vej = osmHelper.proposeStreetName(request, result);              
215                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);
216                  }                  }
217                                    
218                  if ( gadeident == null) {                  if ( gadeident == null && useExternal) {
219                          String vej = googleHelper.proposeStreetName(request, result);                                    String vej = googleHelper.proposeStreetName(request, result);          
220                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);                          gadeident = helperWrapper(vej, request.streetNames, helperSearchKey);
221                  }                  }

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

  ViewVC Help
Powered by ViewVC 1.1.20