1 |
package dk.daoas.daoadresseservice; |
package dk.daoas.daoadresseservice; |
2 |
|
|
|
import java.util.Map; |
|
|
|
|
3 |
import org.apache.commons.lang3.StringUtils; |
import org.apache.commons.lang3.StringUtils; |
4 |
|
|
5 |
import dk.daoas.daoadresseservice.beans.SearchRequest; |
import dk.daoas.daoadresseservice.beans.SearchRequest; |
7 |
|
|
8 |
public class LevenshteinStreetnameHelper implements StreetnameHelper { |
public class LevenshteinStreetnameHelper implements StreetnameHelper { |
9 |
|
|
10 |
AddressSearch search; |
//AddressSearch search; |
11 |
|
|
12 |
public LevenshteinStreetnameHelper(AddressSearch search ) { |
public LevenshteinStreetnameHelper(AddressSearch search ) { |
13 |
this.search = search; |
//this.search = search; |
14 |
} |
} |
15 |
|
|
16 |
@Override |
@Override |
17 |
public String proposeStreetName(SearchRequest request, SearchResult result) { |
public String proposeStreetName(SearchRequest request, SearchResult result) { |
18 |
|
|
|
; |
|
19 |
result.levenshtein = true; |
result.levenshtein = true; |
20 |
|
|
21 |
for(String vej : request.streetNames.keySet() ) { |
for(String vej : request.streetNames.keySet() ) { |
22 |
if ( StringUtils.getLevenshteinDistance(request.vasketVejnavn, vej) == 1) { |
if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 1) { |
23 |
System.out.println("Levenstein: " + request.vasketVejnavn + "->" + vej); |
System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej); |
24 |
|
return vej; |
25 |
|
} |
26 |
|
} |
27 |
|
|
28 |
|
//prøv igen med distance=2 |
29 |
|
for(String vej : request.streetNames.keySet() ) { |
30 |
|
if ( StringUtils.getLevenshteinDistance(result.vasketVejnavn, vej) == 2) { |
31 |
|
System.out.println("Levenstein: " + result.vasketVejnavn + "->" + vej); |
32 |
return vej; |
return vej; |
33 |
} |
} |
34 |
} |
} |