From 90cd929b8372c0f36428211184be12c5df957cf0 Mon Sep 17 00:00:00 2001 From: Andrew Hind Date: Tue, 25 Apr 2006 12:40:02 +0000 Subject: [PATCH] Linux build warnings and encoding fixes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2702 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/search/SearcherComponentTest.java | 47 +++++++++++++++++-- .../java/org/alfresco/util/ISO9075Test.java | 5 +- .../util/SearchLanguageConversionTest.java | 12 ++--- 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/source/java/org/alfresco/repo/search/SearcherComponentTest.java b/source/java/org/alfresco/repo/search/SearcherComponentTest.java index 4a954d912c..da9fa09aac 100644 --- a/source/java/org/alfresco/repo/search/SearcherComponentTest.java +++ b/source/java/org/alfresco/repo/search/SearcherComponentTest.java @@ -53,7 +53,11 @@ public class SearcherComponentTest extends TestCase { private static ApplicationContext ctx = ApplicationContextHelper.getApplicationContext(); - private static String COMPLEX_LOCAL_NAME = " `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|\u0123\u4567\u8900\uabcd\uefff_xT65A_"; + // private static String COMPLEX_LOCAL_NAME = " `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|\u0123\u4567\u8900\uabcd\uefff_xT65A_"; + + private static String COMPLEX_LOCAL_NAME ="\u0020\u0060\u00ac\u00a6\u0021\\u0022\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\\u0009\\u000a\\u005c\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u005c\u007c\u0123\u4567\u8900\uabcd\uefff\u005f\u0078\u0054\u0036\u0035\u0041\u005f"; + + private ServiceRegistry serviceRegistry; private TransactionService transactionService; @@ -322,7 +326,7 @@ public class SearcherComponentTest extends TestCase "//*[like(@test:"+ISO9075.encode(COMPLEX_LOCAL_NAME)+", 'm__k%', false)]", null, namespacePrefixResolver, false); -// assertEquals(1, answer.size()); + assertEquals(1, answer.size()); answer = searcher.selectNodes( rootNodeRef, @@ -336,7 +340,7 @@ public class SearcherComponentTest extends TestCase "//*[like(@test:"+ISO9075.encode(COMPLEX_LOCAL_NAME)+", 'M__K%', false)]", null, namespacePrefixResolver, false); -// assertEquals(1, answer.size()); + assertEquals(1, answer.size()); answer = searcher.selectNodes( rootNodeRef, @@ -1134,4 +1138,41 @@ public class SearcherComponentTest extends TestCase assertEquals(1, answer.size()); } + + public static void main(String[] args) + { + String escape = "\\\t\n\""; + StringBuilder builder = new StringBuilder(); + builder.append("\""); + for(int i = 0; i < COMPLEX_LOCAL_NAME.length(); i++) + { + if(escape.indexOf(COMPLEX_LOCAL_NAME.charAt(i)) != -1) + { + builder.append("\\"); + } + String part = Integer.toHexString(COMPLEX_LOCAL_NAME.charAt(i)); + builder.append("\\u"); + if(part.length() == 0) + { + builder.append("000"); + } + if(part.length() == 1) + { + builder.append("000"); + } + if(part.length() == 2) + { + builder.append("00"); + } + if(part.length() == 3) + { + builder.append("0"); + } + + builder.append(part); + System.out.println(part); + } + builder.append("\""); + System.out.println(builder.toString()); + } } diff --git a/source/java/org/alfresco/util/ISO9075Test.java b/source/java/org/alfresco/util/ISO9075Test.java index ed67c9727d..e23cfb3a44 100644 --- a/source/java/org/alfresco/util/ISO9075Test.java +++ b/source/java/org/alfresco/util/ISO9075Test.java @@ -45,7 +45,7 @@ public class ISO9075Test extends TestCase .encode("Andy's Bits & Bobs \uabcd\\")); assertEquals( "_x0020__x0060__x00ac__x00a6__x0021__x0022__x00a3__x0024__x0025__x005e__x0026__x002a__x0028__x0029_-__x003d__x002b__x0009__x000a__x005c__x0000__x005b__x005d__x007b__x007d__x003b__x0027__x0023__x003a__x0040__x007e__x002c_._x002f__x003c__x003e__x003f__x005c__x007c_", - ISO9075.encode(" `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|")); + ISO9075.encode(" `\u00ac\u00a6!\"\u00a3$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|")); assertEquals("\u0123_x4567_\u8900_xabcd__xefff__xT65A_", ISO9075.encode("\u0123\u4567\u8900\uabcd\uefff_xT65A_")); assertEquals("_x003a_", ISO9075.encode(":")); } @@ -64,11 +64,10 @@ public class ISO9075Test extends TestCase assertEquals("Andy's Bits & Bobs \uabcd\\", ISO9075 .decode("Andy_x0027_s_x0020_Bits_x0020__x0026__x0020_Bobs_x0020__xabcd__x005c_")); assertEquals( - " `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|", + " `\u00ac\u00a6!\"\u00a3$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|", ISO9075 .decode("_x0020__x0060__x00ac__x00a6__x0021__x0022__x00a3__x0024__x0025__x005e__x0026__x002a__x0028__x0029_-__x003d__x002b__x0009__x000a__x005c__x0000__x005b__x005d__x007b__x007d__x003b__x0027__x0023__x003a__x0040__x007e__x002c_._x002f__x003c__x003e__x003f__x005c__x007c_")); assertEquals("\u0123\u4567\u8900\uabcd\uefff_xT65A_", ISO9075.decode("\u0123_x4567_\u8900_xabcd__xefff__xT65A_")); - System.out.println(" `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|\u0123\u4567\u8900\uabcd\uefff_xT65A_"); } } diff --git a/source/java/org/alfresco/util/SearchLanguageConversionTest.java b/source/java/org/alfresco/util/SearchLanguageConversionTest.java index 35227ebb81..8daea833ca 100644 --- a/source/java/org/alfresco/util/SearchLanguageConversionTest.java +++ b/source/java/org/alfresco/util/SearchLanguageConversionTest.java @@ -29,7 +29,7 @@ public class SearchLanguageConversionTest extends TestCase * A string with a whole lod of badness to stress test with */ private static final String BAD_STRING = - "\\ | ! \" £ " + + "\\ | ! \" £ " + "$ % ^ & * ( " + ") _ { } [ ] " + "@ # ~ ' : ; " + @@ -40,7 +40,7 @@ public class SearchLanguageConversionTest extends TestCase { String good = SearchLanguageConversion.escapeForXPathLike(BAD_STRING); assertEquals("Escaping for xpath failed", - "\\\\ | ! \" £ " + + "\\\\ | ! \" £ " + "$ \\% ^ & * ( " + ") \\_ { } [ ] " + "@ # ~ ' : ; " + @@ -53,7 +53,7 @@ public class SearchLanguageConversionTest extends TestCase { String good = SearchLanguageConversion.escapeForRegex(BAD_STRING); assertEquals("Escaping for regex failed", - "\\\\ \\| ! \" £ " + + "\\\\ \\| ! \" £ " + "\\$ % \\^ & \\* \\( " + "\\) _ \\{ \\} [ ] " + "@ # ~ ' : ; " + @@ -66,7 +66,7 @@ public class SearchLanguageConversionTest extends TestCase { String good = SearchLanguageConversion.escapeForLucene(BAD_STRING); assertEquals("Escaping for regex failed", - "\\\\ | \\! \\\" £ " + + "\\\\ | \\! \\\" £ " + "$ % \\^ & \\* \\( " + "\\) _ \\{ \\} \\[ \\] " + "@ # \\~ ' \\: ; " + @@ -79,7 +79,7 @@ public class SearchLanguageConversionTest extends TestCase { String good = SearchLanguageConversion.convertXPathLikeToRegex(BAD_STRING); assertEquals("XPath like to regex failed", - "(?s)\\ \\| ! \" £ " + + "(?s)\\ \\| ! \" £ " + "\\$ .* \\^ & \\* \\( " + "\\) . \\{ \\} [ ] " + "@ # ~ ' : ; " + @@ -92,7 +92,7 @@ public class SearchLanguageConversionTest extends TestCase { String good = SearchLanguageConversion.convertXPathLikeToLucene(BAD_STRING); assertEquals("XPath like to regex failed", - "\\ | \\! \\\" £ " + + "\\ | \\! \\\" £ " + "$ * \\^ & \\* \\( " + "\\) ? \\{ \\} \\[ \\] " + "@ # \\~ ' \\: ; " +