--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AddressUtils.java 2015/02/27 10:38:50 2399 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressUtils.java 2016/03/07 20:40:40 2966 @@ -3,6 +3,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.text.WordUtils; +import dk.daoas.daoadresseservice.beans.Address; + public class AddressUtils { public static class SplitResult { @@ -19,28 +21,62 @@ } } + public static char fjernAccentTegn(char c) { + switch (c) { + case 'é': + return 'e'; + case 'è': + return 'e'; + + case 'û': + return 'u'; + case 'ü': + return 'u'; + + case 'ö': + return 'ø'; + case 'ô': + return 'o'; + + case 'ä': + return 'æ'; + case 'â': + return 'a'; + + case 'ñ': + return 'n'; + + default: + return c; + } + } + public static String vaskVejnavn(String indVejnavn) { - String out = indVejnavn.toLowerCase(); - out = out.replace(" ", ""); - out = out.replace(".", ""); - out = out.replace(",", ""); - out = out.replace("-", ""); - out = out.replace("/", ""); - out = out.replace("\\", ""); - out = out.replace("'", ""); - out = out.replace(";", ""); - out = out.replace(":", ""); - out = out.replace("´", ""); + StringBuilder sb = new StringBuilder(); + char chars[] = indVejnavn.toCharArray(); + for (char c: chars) { + if ( Character.isAlphabetic(c)) { + c = Character.toLowerCase(c); + c = fjernAccentTegn(c); + + sb.append( c ); + } else if ( Character.isDigit(c)) { + sb.append(c); + } + + } - return out; + return sb.toString(); } public static String injectIntoBk(String bkrute, String injected) { + if (bkrute == null) + return null; + String parts[] = bkrute.split("/"); if (parts.length != 4) { - System.out.println(">BK " + bkrute); return bkrute; } @@ -65,6 +101,13 @@ while (i 0) { + a.daekningsType = DaekningsType.DAEKNING_DIREKTE; + } else { + a.daekningsType = DaekningsType.DAEKNING_IKKEDAEKKET; + } + } + }