/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressUtils.java
ViewVC logotype

Diff of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressUtils.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AddressUtils.java revision 2401 by torben, Fri Feb 27 11:05:28 2015 UTC dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AddressUtils.java revision 2609 by torben, Wed Jul 15 08:37:40 2015 UTC
# Line 3  package dk.daoas.daoadresseservice; Line 3  package dk.daoas.daoadresseservice;
3  import org.apache.commons.lang3.StringUtils;  import org.apache.commons.lang3.StringUtils;
4  import org.apache.commons.lang3.text.WordUtils;  import org.apache.commons.lang3.text.WordUtils;
5    
6    import dk.daoas.daoadresseservice.beans.Address;
7    
8  public class AddressUtils {  public class AddressUtils {
9                    
10          public static class SplitResult {          public static class SplitResult {
# Line 19  public class AddressUtils { Line 21  public class AddressUtils {
21                  }                  }
22          }          }
23                    
24            public static char fjernAccentTegn(char c) {
25                    switch (c) {
26                    case 'é':
27                            return 'e';
28                    case 'è':
29                            return 'e';
30                            
31                    case 'û':
32                            return 'u';
33                    case 'ü':
34                            return 'u';
35                            
36                    case 'ö':
37                            return 'ø';
38                    case 'ô':
39                            return 'o';
40    
41                    case 'ä':
42                            return 'æ';
43                    case 'â':
44                            return 'a';
45                            
46                    case 'ñ':
47                            return 'n';                    
48                                    
49                    default:
50                            return c;
51                    }              
52            }
53            
54          public static String vaskVejnavn(String indVejnavn) {          public static String vaskVejnavn(String indVejnavn) {
55                  StringBuilder sb = new StringBuilder();                  StringBuilder sb = new StringBuilder();
56                  char chars[] = indVejnavn.toCharArray();                  char chars[] = indVejnavn.toCharArray();
57                                    
58                  for (char c: chars) {                  for (char c: chars) {                  
59                          if ( Character.isAlphabetic(c)) {                          if ( Character.isAlphabetic(c)) {
60                                  sb.append(Character.toLowerCase(c) );                                  c = Character.toLowerCase(c);
61                                    c = fjernAccentTegn(c);
62                                    
63                                    sb.append( c );
64                            } else if ( Character.isDigit(c)) {
65                                    sb.append(c);
66                          }                          }
67                            
68                  }                                }              
69                                    
70                  return sb.toString();                  return sb.toString();
71          }          }
72                    
73          public static String injectIntoBk(String bkrute, String injected) {          public static String injectIntoBk(String bkrute, String injected) {
74                    if (bkrute == null)
75                            return null;
76                    
77                  String parts[] = bkrute.split("/");                  String parts[] = bkrute.split("/");
78                                    
79                  if (parts.length != 4) {                  if (parts.length != 4) {
                         System.out.println(">BK " + bkrute);  
80                          return bkrute;                          return bkrute;
81                  }                  }
82                                    
# Line 61  public class AddressUtils { Line 101  public class AddressUtils {
101                  while (i<len && (indAdresse.charAt(i) == '.' || indAdresse.charAt(i) == ',' || indAdresse.charAt(i) == ' ') ) {                  while (i<len && (indAdresse.charAt(i) == '.' || indAdresse.charAt(i) == ',' || indAdresse.charAt(i) == ' ') ) {
102                          i++;                          i++;
103                  }                  }
104                    
105    
106                    // alle tegn frem til og med første bogstav er også en del af vejnavn
107                    while ((i < len) && Character.isAlphabetic(indAdresse.charAt(i))==false ) {
108                            delStreng.append( indAdresse.charAt(i) );
109                            i++;
110                    }
111    
112    
113                  // alle karakterer indtil det første tal er vejnavn                  // alle karakterer indtil det første tal er vejnavn
# Line 131  public class AddressUtils { Line 178  public class AddressUtils {
178                                                    
179                          if (current != 'Æ'&& current != 'Ø' && current != 'Å') {                          if (current != 'Æ'&& current != 'Ø' && current != 'Å') {
180                                  if ( (i+1 == len ||                                  if ( (i+1 == len ||
181                                                  (Character.isAlphabetic(indAdresse.charAt(i+1)) == false                                                  (Character.isAlphabetic(indAdresse.charAt(i+1) ) == false
182                                                  /*&& indAdresse.charAt(i+1) != '.'*/)                                                  /*&& indAdresse.charAt(i+1) != '.'*/
183                                                    
184                                                    && checkCo(indAdresse,i) == false // Fra sortér C/O
185                                                                    )
186                                                  )                                                  )
187                                          ) {                                          ) {
188                                          result.litra = "" + current;                                          result.litra = "" + current;
# Line 236  public class AddressUtils { Line 286  public class AddressUtils {
286                  return result;                  return result;
287          }          }
288                    
289            public static boolean checkCo(String addr, int pos) {
290                    
291                    if ( StringUtils.substring(addr, pos, pos+3).equalsIgnoreCase("C/O") )
292                            return true;
293                    
294                    return false;
295    
296            }
297            
298            public static void updateDaekningstype(Address a) {
299                    if (a.rute != null && a.rute.length()> 0) {
300                            a.daekningsType = DaekningsType.DAEKNING_DIREKTE;
301                    } else {
302                            a.daekningsType = DaekningsType.DAEKNING_IKKEDAEKKET;
303                    }                      
304            }
305            
306  }  }
307    
308    

Legend:
Removed from v.2401  
changed lines
  Added in v.2609

  ViewVC Help
Powered by ViewVC 1.1.20