Author: pete
Date: Wed Jun 29 23:03:57 2011
New Revision: 1141308

URL: http://svn.apache.org/viewvc?rev=1141308&view=rev
Log:
WICKET-3846 new BigInteger(bytes).toString(16) is returning _signed_ hex 
strings (with leading minus) which is not what we need, so replace it

Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/version/MessageDigestResourceVersion.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/version/MessageDigestResourceVersion.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/version/MessageDigestResourceVersion.java?rev=1141308&r1=1141307&r2=1141308&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/version/MessageDigestResourceVersion.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/version/MessageDigestResourceVersion.java
 Wed Jun 29 23:03:57 2011
@@ -30,6 +30,7 @@ import org.apache.wicket.util.io.IOUtils
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
+import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -121,7 +122,7 @@ public class MessageDigestResourceVersio
                        final byte[] hash = computeDigest(resourceStream);
 
                        // convert to hexadecimal
-                       return new BigInteger(hash).toString(16);
+                       return Strings.toHexString(hash);
                }
                catch (ResourceStreamNotFoundException e)
                {

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java?rev=1141308&r1=1141307&r2=1141308&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/string/Strings.java
 Wed Jun 29 23:03:57 2011
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.wicket.util.lang.Args;
 
 /**
  * A variety of static String utility methods.
@@ -1492,4 +1493,26 @@ public final class Strings
                // actually has the most recent cost counts
                return p[n];
        }
+
+       /**
+        * convert byte array to hex string
+        * 
+        * @param bytes
+        *          bytes to convert to hexadecimal representation
+        *
+        * @return hex string 
+        */
+       public static String toHexString(byte[] bytes)
+       {
+               Args.notNull(bytes, "bytes");
+
+               final StringBuilder hex = new StringBuilder(bytes.length << 1);
+
+               for (final byte b : bytes)
+               {
+                       hex.append(toHex(b >> 4));
+                       hex.append(toHex(b));
+               }
+               return hex.toString();
+       }
 }


Reply via email to