Author: jbellis
Date: Fri Dec  4 20:19:28 2009
New Revision: 887342

URL: http://svn.apache.org/viewvc?rev=887342&view=rev
Log:
zero-pad single hex digits in bytesToHex.  patch by Stu Hood; reviewed by 
gdusbabek for CASSANDRA-602

Modified:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
    
incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=887342&r1=887341&r2=887342&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java 
(original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java 
Fri Dec  4 20:19:28 2009
@@ -210,7 +210,13 @@
     {
         StringBuilder sb = new StringBuilder();
         for (byte b : bytes)
-            sb.append(Integer.toHexString(b & 0xff));
+        {
+            int bint = b & 0xff;
+            if (bint <= 0xF)
+                // toHexString does not 0 pad its results.
+                sb.append("0");
+            sb.append(Integer.toHexString(bint));
+        }
         return sb.toString();
     }
 

Modified: 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java?rev=887342&r1=887341&r2=887342&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
 (original)
+++ 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/utils/FBUtilitiesTest.java
 Fri Dec  4 20:19:28 2009
@@ -28,10 +28,13 @@
        @Test
     public void testHexBytesConversion()
     {
-       byte[] b = "1000".getBytes();
-       String s = FBUtilities.bytesToHex(b);
-       byte[] c = FBUtilities.hexToBytes(s);
-       assertArrayEquals(b, c);
+        for (int i = Byte.MIN_VALUE; i <= Byte.MAX_VALUE; i++)
+        {
+            byte[] b = new byte[]{ (byte)i };
+            String s = FBUtilities.bytesToHex(b);
+            byte[] c = FBUtilities.hexToBytes(s);
+            assertArrayEquals(b, c);
+        }
     }
 
     @Test


Reply via email to