You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by da...@apache.org on 2012/01/04 23:18:50 UTC

svn commit: r1227354 - in /incubator/jena/Jena2/jena/trunk: ReleaseNotes.txt src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java

Author: damian
Date: Wed Jan  4 22:18:50 2012
New Revision: 1227354

URL: http://svn.apache.org/viewvc?rev=1227354&view=rev
Log:
Jena 177: remove icu4j

Modified:
    incubator/jena/Jena2/jena/trunk/ReleaseNotes.txt
    incubator/jena/Jena2/jena/trunk/src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java
    incubator/jena/Jena2/jena/trunk/src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java

Modified: incubator/jena/Jena2/jena/trunk/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/jena/trunk/ReleaseNotes.txt?rev=1227354&r1=1227353&r2=1227354&view=diff
==============================================================================
--- incubator/jena/Jena2/jena/trunk/ReleaseNotes.txt (original)
+++ incubator/jena/Jena2/jena/trunk/ReleaseNotes.txt Wed Jan  4 22:18:50 2012
@@ -3,6 +3,8 @@ Release Notes 
 
 ==== Jena 2.7.1
 
++ icu4j dependency removed
+
 ==== Jena 2.6.5 / 2.7.0
 
 ** Java 6 is now required for running Jena.

Modified: incubator/jena/Jena2/jena/trunk/src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/jena/trunk/src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java?rev=1227354&r1=1227353&r2=1227354&view=diff
==============================================================================
--- incubator/jena/Jena2/jena/trunk/src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java (original)
+++ incubator/jena/Jena2/jena/trunk/src/main/java/com/hp/hpl/jena/rdf/arp/impl/CharacterModel.java Wed Jan  4 22:18:50 2012
@@ -18,8 +18,8 @@
 
 package com.hp.hpl.jena.rdf.arp.impl;
 
-import com.ibm.icu.lang.UCharacter;
-import com.ibm.icu.text.Normalizer;
+import java.text.Normalizer;
+
 /**
  * Some support for the Character Model Recommendation
  * from the W3C (currently in second last call working 
@@ -35,14 +35,13 @@ public class CharacterModel {
 	 * @param str The string to be tested.
 	 */
 	static public boolean isNormalFormC(String str) {
-//	    try {
-	   return SWITCH_OFF || Normalizer.  isNormalized(str,Normalizer.NFC,0);
-//	    }
-//	    catch (ArrayIndexOutOfBoundsException e) {
-//	        // false below means "NFC" see javadoc for compose().
-//	        String normalized = Normalizer.compose(str,false);
-//	        return normalized.equals(str);
-//	    }
+	    try {
+	   return SWITCH_OFF || Normalizer.isNormalized(str,Normalizer.Form.NFC);
+	    }
+	    catch (ArrayIndexOutOfBoundsException e) {
+	        String normalized = Normalizer.normalize(str, Normalizer.Form.NFC);
+	        return normalized.equals(str);
+	    }
 	}
     
 	
@@ -144,9 +143,166 @@ case 0X11C1: // HANGUL JONGSEONG PHIEUPH
 case 0X11C2: // HANGUL JONGSEONG HIEUH 
    return true;
    default:
-   return UCharacter.getCombiningClass(x) != 0;
+   return isCombining(x);
    	}
    }
+   
+    /*
+     * Replacing icu4j function for non-zero combining class
+     * Data from {@link http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B:Canonical_Combining_Class!=0:%5D}
+     */
+    private static boolean isCombining(int c) {
+        // Common case
+        if (c < 0x0300) return false;
+        
+        if (c >= 0x0300 && c <= 0x034E) return true;
+        if (c >= 0x0350 && c <= 0x036F) return true;
+        if (c >= 0x0483 && c <= 0x0487) return true;
+        if (c >= 0x0591 && c <= 0x05BD) return true;
+        if (c >= 0x0610 && c <= 0x061A) return true;
+        if (c >= 0x064B && c <= 0x065F) return true;
+        if (c >= 0x06D6 && c <= 0x06DC) return true;
+        if (c >= 0x06DF && c <= 0x06E4) return true;
+        if (c >= 0x06EA && c <= 0x06ED) return true;
+        if (c >= 0x0730 && c <= 0x074A) return true;
+        if (c >= 0x07EB && c <= 0x07F3) return true;
+        if (c >= 0x0816 && c <= 0x0819) return true;
+        if (c >= 0x081B && c <= 0x0823) return true;
+        if (c >= 0x0825 && c <= 0x0827) return true;
+        if (c >= 0x0829 && c <= 0x082D) return true;
+        if (c >= 0x0859 && c <= 0x085B) return true;
+        if (c >= 0x0951 && c <= 0x0954) return true;
+        if (c >= 0x0E38 && c <= 0x0E3A) return true;
+        if (c >= 0x0E48 && c <= 0x0E4B) return true;
+        if (c >= 0x0EC8 && c <= 0x0ECB) return true;
+        if (c >= 0x0F7A && c <= 0x0F7D) return true;
+        if (c >= 0x0F82 && c <= 0x0F84) return true;
+        if (c >= 0x135D && c <= 0x135F) return true;
+        if (c >= 0x1939 && c <= 0x193B) return true;
+        if (c >= 0x1A75 && c <= 0x1A7C) return true;
+        if (c >= 0x1B6B && c <= 0x1B73) return true;
+        if (c >= 0x1CD0 && c <= 0x1CD2) return true;
+        if (c >= 0x1CD4 && c <= 0x1CE0) return true;
+        if (c >= 0x1CE2 && c <= 0x1CE8) return true;
+        if (c >= 0x1DC0 && c <= 0x1DE6) return true;
+        if (c >= 0x1DFC && c <= 0x1DFF) return true;
+        if (c >= 0x20D0 && c <= 0x20DC) return true;
+        if (c >= 0x20E5 && c <= 0x20F0) return true;
+        if (c >= 0x2CEF && c <= 0x2CF1) return true;
+        if (c >= 0x2DE0 && c <= 0x2DFF) return true;
+        if (c >= 0x302A && c <= 0x302F) return true;
+        if (c >= 0xA8E0 && c <= 0xA8F1) return true;
+        if (c >= 0xA92B && c <= 0xA92D) return true;
+        if (c >= 0xAAB2 && c <= 0xAAB4) return true;
+        if (c >= 0xFE20 && c <= 0xFE26) return true;
+        if (c >= 0x00010A38 && c <= 0x00010A3A) return true;
+        if (c >= 0x0001D165 && c <= 0x0001D169) return true;
+        if (c >= 0x0001D16D && c <= 0x0001D172) return true;
+        if (c >= 0x0001D17B && c <= 0x0001D182) return true;
+        if (c >= 0x0001D185 && c <= 0x0001D18B) return true;
+        if (c >= 0x0001D1AA && c <= 0x0001D1AD) return true;
+        if (c >= 0x0001D242 && c <= 0x0001D244) return true;
+
+        switch (c) {
+            case 0x05BF:
+            case 0x05C1:
+            case 0x05C2:
+            case 0x05C4:
+            case 0x05C5:
+            case 0x05C7:
+            case 0x0670:
+            case 0x06E7:
+            case 0x06E8:
+            case 0x0711:
+            case 0x093C:
+            case 0x094D:
+            case 0x09BC:
+            case 0x09CD:
+            case 0x0A3C:
+            case 0x0A4D:
+            case 0x0ABC:
+            case 0x0ACD:
+            case 0x0B3C:
+            case 0x0B4D:
+            case 0x0BCD:
+            case 0x0C4D:
+            case 0x0C55:
+            case 0x0C56:
+            case 0x0CBC:
+            case 0x0CCD:
+            case 0x0D4D:
+            case 0x0DCA:
+            case 0x0EB8:
+            case 0x0EB9:
+            case 0x0F18:
+            case 0x0F19:
+            case 0x0F35:
+            case 0x0F37:
+            case 0x0F39:
+            case 0x0F71:
+            case 0x0F72:
+            case 0x0F74:
+            case 0x0F80:
+            case 0x0F86:
+            case 0x0F87:
+            case 0x0FC6:
+            case 0x1037:
+            case 0x1039:
+            case 0x103A:
+            case 0x108D:
+            case 0x1714:
+            case 0x1734:
+            case 0x17D2:
+            case 0x17DD:
+            case 0x18A9:
+            case 0x1A17:
+            case 0x1A18:
+            case 0x1A60:
+            case 0x1A7F:
+            case 0x1B34:
+            case 0x1B44:
+            case 0x1BAA:
+            case 0x1BE6:
+            case 0x1BF2:
+            case 0x1BF3:
+            case 0x1C37:
+            case 0x1CED:
+            case 0x20E1:
+            case 0x2D7F:
+            case 0x3099:
+            case 0x309A:
+            case 0xA66F:
+            case 0xA67C:
+            case 0xA67D:
+            case 0xA6F0:
+            case 0xA6F1:
+            case 0xA806:
+            case 0xA8C4:
+            case 0xA953:
+            case 0xA9B3:
+            case 0xA9C0:
+            case 0xAAB0:
+            case 0xAAB7:
+            case 0xAAB8:
+            case 0xAABE:
+            case 0xAABF:
+            case 0xAAC1:
+            case 0xABED:
+            case 0xFB1E:
+            case 0x000101FD:
+            case 0x00010A0D:
+            case 0x00010A0F:
+            case 0x00010A3F:
+            case 0x00011046:
+            case 0x000110B9:
+            case 0x000110BA:
+                return true;
+            default:
+                return false;
+        }
+    }
+
+   
 /*   
    static public void main(String args[]) {
    	int ch = Integer.parseInt(args[0],16);

Modified: incubator/jena/Jena2/jena/trunk/src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/jena/trunk/src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java?rev=1227354&r1=1227353&r2=1227354&view=diff
==============================================================================
--- incubator/jena/Jena2/jena/trunk/src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java (original)
+++ incubator/jena/Jena2/jena/trunk/src/test/java/com/hp/hpl/jena/graph/query/test/TestQueryTriple.java Wed Jan  4 22:18:50 2012
@@ -24,8 +24,8 @@ import java.util.Set;
 import com.hp.hpl.jena.graph.*;
 import com.hp.hpl.jena.graph.query.*;
 import com.hp.hpl.jena.graph.test.NodeCreateUtils;
-import com.ibm.icu.util.StringTokenizer;
 
+import java.util.StringTokenizer;
 import junit.framework.TestSuite;
 
 public class TestQueryTriple extends QueryTestBase