Author: mir
Date: Thu Jun 10 09:24:31 2010
New Revision: 953259
URL: http://svn.apache.org/viewvc?rev=953259&view=rev
Log:
added removeAccents()-method to UriUtil (implemented by Andre)
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.utils/src/main/java/org/apache/clerezza/utils/UriUtil.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.utils/src/main/java/org/apache/clerezza/utils/UriUtil.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.utils/src/main/java/org/apache/clerezza/utils/UriUtil.java?rev=953259&r1=953258&r2=953259&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.utils/src/main/java/org/apache/clerezza/utils/UriUtil.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.utils/src/main/java/org/apache/clerezza/utils/UriUtil.java
Thu Jun 10 09:24:31 2010
@@ -687,5 +687,153 @@ public class UriUtil {
return result.toString();
}
}
+
+ /**
+ * Removes the accents from the given string and replaces them by
2-charaters equivalents.
+ * <p>
+ * ex.
+ * 'ä' gets 'ae'
+ *
+ * @param s the s
+ * @return the string
+ */
+ public static String removeAccents(String s) {
+ if ( s == null ) return s;
+ StringBuffer chars = new StringBuffer();
+ // Loop over the characters, replace those that need to be.
+ for (int i = 0; i < s.length(); i++) {
+ switch (s.charAt(i)) {
+ case '\u00C0':
+ case '\u00C1':
+ case '\u00C2':
+ case '\u00C3':
+ case '\u00C5':
+ chars.append("A");
+ break;
+ case '\u00C4':
+ chars.append("AE");
+ break;
+ case '\u00C6':
+ chars.append("AE");
+ break;
+ case '\u00C7':
+ chars.append("C");
+ break;
+ case '\u00C8':
+ case '\u00C9':
+ case '\u00CA':
+ case '\u00CB':
+ chars.append("E");
+ break;
+ case '\u00CC':
+ case '\u00CD':
+ case '\u00CE':
+ case '\u00CF':
+ chars.append("I");
+ break;
+ case '\u00D0':
+ chars.append("D");
+ break;
+ case '\u00D1':
+ chars.append("N");
+ break;
+ case '\u00D2':
+ case '\u00D3':
+ case '\u00D4':
+ case '\u00D5':
+ case '\u00D8':
+ chars.append("O");
+ break;
+ case '\u00D6':
+ chars.append("OE");
+ break;
+ case '\u0152':
+ chars.append("OE");
+ break;
+ case '\u00DE':
+ chars.append("TH");
+ break;
+ case '\u00D9':
+ case '\u00DA':
+ case '\u00DB':
+ chars.append("U");
+ break;
+ case '\u00DC':
+ chars.append("UE");
+ break;
+ case '\u00DD':
+ case '\u0178':
+ chars.append("Y");
+ break;
+ case '\u00E0':
+ case '\u00E1':
+ case '\u00E2':
+ case '\u00E3':
+ case '\u00E4':
+ case '\u00E5':
+ chars.append("a");
+ break;
+ case '\u00E6':
+ chars.append("ae");
+ break;
+ case '\u00E7':
+ chars.append("c");
+ break;
+ case '\u00E8':
+ case '\u00E9':
+ case '\u00EA':
+ case '\u00EB':
+ chars.append("e");
+ break;
+ case '\u00EC':
+ case '\u00ED':
+ case '\u00EE':
+ case '\u00EF':
+ chars.append("i");
+ break;
+ case '\u00F0':
+ chars.append("d");
+ break;
+ case '\u00F1':
+ chars.append("n");
+ break;
+ case '\u00F2':
+ case '\u00F3':
+ case '\u00F4':
+ case '\u00F5':
+ case '\u00F8':
+ chars.append("o");
+ break;
+ case '\u00F6':
+ chars.append("oe");
+ break;
+ case '\u0153':
+ chars.append("oe");
+ break;
+ case '\u00DF':
+ chars.append("ss");
+ break;
+ case '\u00FE':
+ chars.append("th");
+ break;
+ case '\u00F9':
+ case '\u00FA':
+ case '\u00FB':
+ chars.append("u");
+ break;
+ case '\u00FC':
+ chars.append("ue");
+ break;
+ case '\u00FD':
+ case '\u00FF':
+ chars.append("y");
+ break;
+ default:
+ chars.append(s.charAt(i));
+ break;
+ }
+ }
+ return chars.toString();
+ }
}
\ No newline at end of file