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