You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by sc...@apache.org on 2010/12/14 21:49:28 UTC
svn commit: r1049263 - in /tomcat/trunk/java/org/apache:
catalina/ha/deploy/FileMessageFactory.java coyote/ajp/AjpMessage.java
tomcat/util/buf/HexUtils.java
Author: schultz
Date: Tue Dec 14 20:49:28 2010
New Revision: 1049263
URL: http://svn.apache.org/viewvc?rev=1049263&view=rev
Log:
Fixed bug #49125: toString on byte[] array probably is not correct
- Added HexUtils.toHexString method
- Wrapped output of byte[] objects with a call to HexUtils.toHexString
Modified:
tomcat/trunk/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java
tomcat/trunk/java/org/apache/tomcat/util/buf/HexUtils.java
Modified: tomcat/trunk/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/deploy/FileMessageFactory.java?rev=1049263&r1=1049262&r2=1049263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/deploy/FileMessageFactory.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/deploy/FileMessageFactory.java Tue Dec 14 20:49:28 2010
@@ -28,6 +28,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.buf.HexUtils;
/**
* This factory is used to read files and write files by splitting them up into
@@ -227,7 +228,7 @@ public class FileMessageFactory {
throw new IllegalArgumentException(
"Can't write message, this factory is reading.");
if (log.isDebugEnabled())
- log.debug("Message " + msg + " data " + msg.getData()
+ log.debug("Message " + msg + " data " + HexUtils.toHexString(msg.getData())
+ " data length " + msg.getDataLength() + " out " + out);
if (msg.getMessageNumber() <= lastMessageProcessed.get()) {
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java?rev=1049263&r1=1049262&r2=1049263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java Tue Dec 14 20:49:28 2010
@@ -21,6 +21,7 @@ import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.buf.ByteChunk;
import org.apache.tomcat.util.buf.CharChunk;
+import org.apache.tomcat.util.buf.HexUtils;
import org.apache.tomcat.util.buf.MessageBytes;
import org.apache.tomcat.util.res.StringManager;
@@ -372,7 +373,7 @@ public class AjpMessage {
*/
public void dump(String msg) {
if (log.isDebugEnabled()) {
- log.debug(msg + ": " + buf + " " + pos +"/" + (len + 4));
+ log.debug(msg + ": " + HexUtils.toHexString(buf) + " " + pos +"/" + (len + 4));
}
int max = pos;
if (len + 4 > pos)
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/HexUtils.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/HexUtils.java?rev=1049263&r1=1049262&r2=1049263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/HexUtils.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/HexUtils.java Tue Dec 14 20:49:28 2010
@@ -63,6 +63,11 @@ public final class HexUtils {
(byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f' };
+ /**
+ * Table for byte to hex string translation.
+ */
+ private static final char[] hex = "0123456789abcdef".toCharArray();
+
// --------------------------------------------------------- Static Methods
@@ -80,4 +85,18 @@ public final class HexUtils {
public static byte getHex(int index){
return HEX[index];
}
-}
\ No newline at end of file
+
+ public static String toHexString(byte[] bytes)
+ {
+ if(null == bytes) return null;
+
+ StringBuilder sb = new StringBuilder(bytes.length << 1);
+
+ for(int i=0; i<bytes.length; ++i)
+ sb.append(hex[(bytes[i] & 0xf0) >> 4])
+ .append(hex[(bytes[i] & 0x0f)])
+ ;
+
+ return sb.toString();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org