[jboss-svn-commits] JBL Code SVN: r13804 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 26 23:32:46 EDT 2007
Author: kurt.stam at jboss.com
Date: 2007-07-26 23:32:46 -0400 (Thu, 26 Jul 2007)
New Revision: 13804
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/SystemPrintln.java
Log:
JBESB-613 Adding functionality to write to file for unittesting purposes.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/SystemPrintln.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/SystemPrintln.java 2007-07-26 22:47:21 UTC (rev 13803)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/SystemPrintln.java 2007-07-27 03:32:46 UTC (rev 13804)
@@ -19,8 +19,11 @@
*/
package org.jboss.soa.esb.actions;
+import java.io.File;
+import java.io.FileOutputStream;
import java.io.PrintStream;
+import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.util.Util;
@@ -35,6 +38,9 @@
public static final String PRE_MESSAGE = "message";
public static final String FULL_MESSAGE = "printfull";
public static final String PRINT_STREAM = "outputstream";
+ public static final String TMP_FILE = "tmpFile";
+
+ private Logger log = Logger.getLogger(this.getClass());
/**
* Public constructor.
@@ -62,25 +68,29 @@
PrintStream stream = (useOutputStream ? System.out : System.err);
stream.println(printlnMessage + ": ");
+
+ String messageStr=null;
if (printFullMessage && (message != null))
{
- // the message should be responsible for converting itself to a string.
-
- stream.println("[ "+message.toString()+" ]");
+ // the message should be responsible for converting itself to a string
+ messageStr = message.toString();
+ stream.println("[ "+messageStr+" ]");
+
}
else
{
if (messageObject instanceof byte[])
{
- stream.println("[" + Util.format(new String((byte[]) messageObject))
- + "].");
+ messageStr = Util.format(new String((byte[]) messageObject));
+ stream.println("[" + messageStr + "].");
}
else
{
- if (messageObject != null)
- stream.println("[" + Util.format(messageObject.toString())
- + "].");
+ if (messageObject != null) {
+ messageStr = Util.format(messageObject.toString());
+ stream.println("[" + messageStr + "].");
+ }
for (int i = 0; i < message.getAttachment().getUnnamedCount(); i++)
{
Message attachedMessage = (Message) message.getAttachment()
@@ -91,6 +101,24 @@
}
}
}
+
+ //write the file out to a tmp dir
+ if (messageStr!=null && messageStr.contains("[jbesb-filename]")) {
+ int start = messageStr.indexOf("[jbesb-filename]") + 16;
+ int end = messageStr.indexOf("[/jbesb-filename]");
+ String filename = messageStr.substring(start, end);
+ String tmpDir = System.getProperty("java.io.tmpdir");
+ stream.println("Writing " + tmpDir + filename);
+ File file = new File(tmpDir + filename);
+ try {
+ FileOutputStream outputStream = new FileOutputStream(file);
+ outputStream.write(messageStr.getBytes());
+ outputStream.close();
+ } catch (Exception e) {
+ log.error("Can not write to file " + file.getPath());
+ log.error(e.getMessage(), e);
+ }
+ }
return message;
}
More information about the jboss-svn-commits
mailing list