--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AddressUtils.java 2015/02/27 15:42:08 2408 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressUtils.java 2015/07/15 08:37:40 2609 @@ -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 { @@ -32,12 +34,12 @@ return 'u'; case 'ö': - return 'o'; + return 'ø'; case 'ô': return 'o'; case 'ä': - return 'a'; + return 'æ'; case 'â': return 'a'; @@ -69,10 +71,12 @@ } 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; } @@ -174,8 +178,11 @@ if (current != 'Æ'&& current != 'Ø' && current != 'Å') { if ( (i+1 == len || - (Character.isAlphabetic(indAdresse.charAt(i+1)) == false - /*&& indAdresse.charAt(i+1) != '.'*/) + (Character.isAlphabetic(indAdresse.charAt(i+1) ) == false + /*&& indAdresse.charAt(i+1) != '.'*/ + + && checkCo(indAdresse,i) == false // Fra sortér C/O + ) ) ) { result.litra = "" + current; @@ -279,6 +286,23 @@ return result; } + public static boolean checkCo(String addr, int pos) { + + if ( StringUtils.substring(addr, pos, pos+3).equalsIgnoreCase("C/O") ) + return true; + + return false; + + } + + public static void updateDaekningstype(Address a) { + if (a.rute != null && a.rute.length()> 0) { + a.daekningsType = DaekningsType.DAEKNING_DIREKTE; + } else { + a.daekningsType = DaekningsType.DAEKNING_IKKEDAEKKET; + } + } + }