You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2014/09/24 14:44:40 UTC

svn commit: r1627298 - in /qpid/proton/trunk/proton-j/src: main/java/org/apache/qpid/proton/codec/EncoderImpl.java test/java/org/apache/qpid/proton/codec/StringTypeTest.java

Author: robbie
Date: Wed Sep 24 12:44:39 2014
New Revision: 1627298

URL: http://svn.apache.org/r1627298
Log:
PROTON-576: updates to bring things into line with the patch on the JIRA, rather than a stale older version I actually applied (not having a good day :P)

Modified:
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/codec/StringTypeTest.java

Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java?rev=1627298&r1=1627297&r2=1627298&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java (original)
+++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java Wed Sep 24 12:44:39 2014
@@ -805,29 +805,14 @@ public final class EncoderImpl implement
 
                 c = 0x010000 + ((c & 0x03FF) << 10) + (low & 0x03FF);
 
-
-                if (c <= 0x3FFFF)     /* U+10000..U+3FFFF */
-                {
-                    _buffer.put((byte) 0xF0);
-                    _buffer.put((byte)(0x90 | ((c >> 12) & 0x2F)));
-                    _buffer.put((byte)(0x80 | ((c >> 6) & 0x3F)));
-                    _buffer.put((byte)(0x80 | (c & 0x3F)));
-                }
-                else if (c <= 0xFFFFF)     /* U+40000..U+FFFFF */
-                {
-                    _buffer.put((byte)(0xF0 | ((c >> 18) & 0x03)));
-                    _buffer.put((byte)(0x80 | ((c >> 12) & 0x3F)));
-                    _buffer.put((byte)(0x80 | ((c >> 6) & 0x3F)));
-                    _buffer.put((byte)(0x80 | (c & 0x3F)));
-                }
-                else                      /* U+100000..U+10FFFF */
-                {
-                    _buffer.put((byte)(0xF4));
-                    _buffer.put((byte)(0x80 | ((c >> 12) & 0x3F)));
-                    _buffer.put((byte)(0x80 | ((c >> 6) & 0x3F)));
-                    _buffer.put((byte)(0x80 | (c & 0x3F)));
-                }
+                _buffer.put((byte)(0xF0 | ((c >> 18) & 0x07)));
+                _buffer.put((byte)(0x80 | ((c >> 12) & 0x3F)));
+                _buffer.put((byte)(0x80 | ((c >> 6) & 0x3F)));
+                _buffer.put((byte)(0x80 | (c & 0x3F)));
             }
         }
     }
+
+
+
 }

Modified: qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/codec/StringTypeTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/codec/StringTypeTest.java?rev=1627298&r1=1627297&r2=1627298&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/codec/StringTypeTest.java (original)
+++ qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/codec/StringTypeTest.java Wed Sep 24 12:44:39 2014
@@ -25,11 +25,11 @@ import static org.junit.Assert.assertEqu
 import java.lang.Character.UnicodeBlock;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
 import org.junit.Test;
-
 import org.apache.qpid.proton.amqp.messaging.AmqpValue;
 
 /**
@@ -40,20 +40,21 @@ public class StringTypeTest
     private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8");
 
     /**
-     * Loop over all the chars in a given {@link UnicodeBlock} and return a
+     * Loop over all the chars in given {@link UnicodeBlock}s and return a
      * {@link Set <String>} containing all the possible values as their
      * {@link String} values.
      *
-     * @param block the {@link UnicodeBlock} to loop over
+     * @param blocks the {@link UnicodeBlock}s to loop over
      * @return a {@link Set <String>} containing all the possible values as
      * {@link String} values
      */
-    private static Set<String> getAllStringsFromUnicodeBlock(final UnicodeBlock block)
+    private static Set<String> getAllStringsFromUnicodeBlocks(final UnicodeBlock... blocks)
     {
+        final Set<UnicodeBlock> blockSet = new HashSet<UnicodeBlock>(Arrays.asList(blocks));
         final Set<String> strings = new HashSet<String>();
         for (int codePoint = 0; codePoint <= Character.MAX_CODE_POINT; codePoint++)
         {
-            if (UnicodeBlock.of(codePoint) == block)
+            if (blockSet.contains(UnicodeBlock.of(codePoint)))
             {
                 final int charCount = Character.charCount(codePoint);
                 final StringBuilder sb = new StringBuilder(
@@ -129,19 +130,18 @@ public class StringTypeTest
 
                 {
                     // non-surrogate pair blocks
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.BASIC_LATIN));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.LATIN_1_SUPPLEMENT));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.GREEK));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.LETTERLIKE_SYMBOLS));
+                    addAll(getAllStringsFromUnicodeBlocks(UnicodeBlock.BASIC_LATIN,
+                                                         UnicodeBlock.LATIN_1_SUPPLEMENT,
+                                                         UnicodeBlock.GREEK,
+                                                         UnicodeBlock.LETTERLIKE_SYMBOLS));
                     // blocks with surrogate pairs
-                    //TODO: restore when Java 7 is baseline
-                    //addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.MUSICAL_SYMBOLS));
-                    //TODO: restore when Java 7 is baseline
-                    //addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.EMOTICONS));
-                    //addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.PLAYING_CARDS));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_A));
-                    addAll(getAllStringsFromUnicodeBlock(UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B));
+                    //TODO: restore others when Java 7 is baseline
+                    addAll(getAllStringsFromUnicodeBlocks(/*UnicodeBlock.MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,*/
+                                                         UnicodeBlock.MUSICAL_SYMBOLS,
+                                                         /*UnicodeBlock.EMOTICONS,*/
+                                                         /*UnicodeBlock.PLAYING_CARDS,*/
+                                                         UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_A,
+                                                         UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B));
                 }
             };
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org