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