[jboss-svn-commits] JBL Code SVN: r11742 - in labs/jbossesb/workspace/dbevenius/product: core/listeners/src/org/jboss/soa/esb/listeners/gateway and 45 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 8 05:12:40 EDT 2007


Author: beve
Date: 2007-05-08 05:12:40 -0400 (Tue, 08 May 2007)
New Revision: 11742

Added:
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategy.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/RemoteFileSystemStrategy.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCache.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/ftpfile_cache_test.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/log4j.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/jbossesb_config_01.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener_ReadOnlyStrategyUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategyTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCacheTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/resources/etc/log4j.xml
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/StdOut2Log4jFilter.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/etc/
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/etc/log4j.xml
   labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/
   labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/dev/
   labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/dev/log4j.xml
Modified:
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/build.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/routing/HttpRouterUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisherUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/StandAloneBootStrapperUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GroovyGatewayUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListenerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListenerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/InvokerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/MessageDeliveryAdapterUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/build.xml
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/EdtFtpImplUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/FtpTestUtil.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/NoConfigFileFtpServer.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFileReplyToEprUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFtpReplyToEprIntegrationTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultJdbcReplyToEprUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java
   labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/build.xml
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
   labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
Log:
Junit test clean up. 
Also added RemoteFileSystemStrategy and impl for a ReadOnly ftp server. This is a working progress...


Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -98,11 +98,22 @@
 		
 		return listenerNode;
 	}
+	
+	/**
+	 *  The separator used by the ftp protocol to separate the
+	 *  host:port section from the path
+	 */
+	private static final String FTP_SEPARATOR = "/";
 
 	private static void mapFtpEprProperties(Element toElement, FtpProvider provider, FtpMessageFilter messageFilter) 
 	{
+		String inputDir = messageFilter.getDirectory();
+		if ( ! inputDir.startsWith( FTP_SEPARATOR ) )
+			inputDir += FTP_SEPARATOR + inputDir;
+		
 		toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername() + ":" 
-				+ messageFilter.getPassword() + "@" + provider.getHostname() + ":" + messageFilter.getDirectory());
+//				+ messageFilter.getPassword() + "@" + provider.getHostname() + ":" + messageFilter.getDirectory());
+				+ messageFilter.getPassword() + "@" + provider.getHostname() + inputDir );
 		toElement.setAttribute(FTPEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
 		toElement.setAttribute(FTPEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
 		toElement.setAttribute(FTPEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -131,7 +131,7 @@
 			for (File fileIn : fileList)
 			{
 				// Try to rename - if unsuccessful, somebody else got it first
-				File fileWork = new File(fileIn.toString() + _workingSuffix);
+				File fileWork = getWorkFileName( fileIn, _workingSuffix);
 				try
 				{
 					if (!renameFile(fileIn, fileWork))
@@ -313,7 +313,12 @@
                 }
 	} // ________________________________
         
-        /* 
+        protected File getWorkFileName( File fileIn, String suffix )
+		{
+			return new File(fileIn.toString() + _workingSuffix);
+		}
+
+		/* 
          * Extracted to simplify testing
          */
         protected Courier getCourier( EPR current ) throws CourierException, MalformedEPRException

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -31,22 +31,39 @@
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.listeners.gateway.remotestrategies.RemoteFileSystemStrategy;
 import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.util.ClassUtil;
 import org.jboss.soa.esb.util.FtpClientUtil;
 import org.jboss.soa.esb.util.RemoteFileSystem;
 import org.jboss.soa.esb.util.RemoteFileSystemException;
 import org.jboss.soa.esb.util.RemoteFileSystemFactory;
 
+/**
+ * 
+ * @author John Doe				
+ * @author Daniel Bevenius				
+ *
+ */
 public class RemoteGatewayListener extends FileGatewayListener
 {
-        /**
-         * serial version uid for this class
-         */
-        private static final long serialVersionUID = 8505559166811233906L;
+	/**
+	 * Property name
+	 */
+	public static final String REMOTE_FILE_SYSTEM_STRATEGY_CLASS = "remoteFileSystemStrategy-class";
+	public static final String STRATEGY_CONFIG_FILE = "strategy-configFile";
+	/**
+	 * A strategy from handling call related to write operations 
+	 */
+	protected RemoteFileSystemStrategy remotefileSystemStrategy = new DefaultRemoteFileSystemStrategy();
+    /**
+     * serial version uid for this class
+     */
+    private static final long serialVersionUID = 8505559166811233906L;
     
-        public RemoteGatewayListener(ConfigTree config) throws ConfigurationException, RegistryException, GatewayException {
+    public RemoteGatewayListener(ConfigTree config) throws ConfigurationException, RegistryException, GatewayException {
 		super(config);
-                checkMyParms() ;
+        checkMyParms() ;
 	}
 
 	private void checkMyParms() throws ConfigurationException, RegistryException, GatewayException
@@ -79,8 +96,36 @@
 			throw new ConfigurationException(ex);
 		}
 		
+		createStrategy();
+		
 	}
 
+	private void createStrategy() throws ConfigurationException
+	{
+		String strategyClassName = _config.getAttribute( REMOTE_FILE_SYSTEM_STRATEGY_CLASS );
+		if ( strategyClassName != null )
+		{
+			RemoteFileSystemStrategy strategy = getNewInstanceOf( strategyClassName );
+			if ( strategy != null )
+			{
+				remotefileSystemStrategy = strategy;
+				String configFile = _config.getAttribute( STRATEGY_CONFIG_FILE );
+				if ( configFile != null )
+				{
+					try
+					{
+						remotefileSystemStrategy.init( configFile );
+					}
+					catch( Exception e )
+					{
+						throw new ConfigurationException(e);
+					}
+					
+				}
+			}
+		}
+	}
+
 	protected void seeIfOkToWorkOnDir(File p_oDir) throws GatewayException
 	{
 		// TODO: Implement. Very expensive though.
@@ -94,28 +139,7 @@
 
 	public boolean deleteFile(File file) throws GatewayException
 	{
-		RemoteFileSystem rfs = null;
-		try
-		{
-			EPR epr = ListenerUtil.assembleEpr(_config);
-			if (epr instanceof FTPEpr)  {
-				FTPEpr ftpEpr = (FTPEpr) epr;
-				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
-				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
-				rfs.deleteRemoteFile(file.toString());
-				return true;
-			} else {
-				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
-			}
-			
-		} catch (Exception e)
-		{
-			throw new GatewayException(e);
-		} finally
-		{
-			if (null != rfs)
-				rfs.quit();
-		}
+		return remotefileSystemStrategy.deleteFile( file );
 	}
 
 	byte[] getFileContents(File file) throws GatewayException
@@ -151,6 +175,7 @@
 	File[] getFileList() throws GatewayException
 	{
 		RemoteFileSystem rfs = null;
+		File[] oaRet = null;
 		try
 		{
 			EPR epr = ListenerUtil.assembleEpr(_config);
@@ -159,12 +184,12 @@
 				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
 				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
 				String[] sa = rfs.getFileListFromRemoteDir(_inputSuffix);
-				File[] oaRet = new File[(null == sa) ? 0 : sa.length];
+				oaRet = new File[(null == sa) ? 0 : sa.length];
 				int i1 = 0;
 				if (null != sa)
 					for (String sCurr : sa)
 						oaRet[i1++] = new File(sCurr);
-				return oaRet;
+//				return oaRet;
 			} else {
 				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
 			}
@@ -174,29 +199,119 @@
 			if (null != rfs)
 				rfs.quit();
 		}
+		return remotefileSystemStrategy.filterFileList(oaRet);
 	}
 
+	@Override
 	boolean renameFile(File from, File to) throws GatewayException
 	{
-		RemoteFileSystem rfs = null;
-		try
+		return remotefileSystemStrategy.renameFile( from, to );
+	}
+	
+	@Override
+	protected File getWorkFileName(File file, String suffix )
+	{
+		return remotefileSystemStrategy.getWorkFileName( file, suffix );
+	}
+	
+	class DefaultRemoteFileSystemStrategy implements RemoteFileSystemStrategy
+	{
+		
+		public boolean deleteFile(File file) throws GatewayException
 		{
-			EPR epr = ListenerUtil.assembleEpr(_config);
-			if (epr instanceof FTPEpr)  {
-				FTPEpr ftpEpr = (FTPEpr) epr;
-				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
-				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
-//				rfs.renameInRemoteDir(from.toString(), to.toString());
-				rfs.remoteRename( from, to );
-				return true;
-			} else {
-				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			RemoteFileSystem rfs = null;
+			try
+			{
+				EPR epr = ListenerUtil.assembleEpr(_config);
+				if (epr instanceof FTPEpr)  {
+					FTPEpr ftpEpr = (FTPEpr) epr;
+					rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+					rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+					rfs.deleteRemoteFile(file.toString());
+					return true;
+				} else {
+					throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+				}
+				
+			} catch (Exception e)
+			{
+				throw new GatewayException(e);
+			} finally
+			{
+				if (null != rfs)
+					rfs.quit();
 			}
-		} catch (Exception e) {
-			throw new GatewayException(e);
-		} finally {
-			if (null != rfs)
-				rfs.quit();
 		}
+
+		public boolean renameFile(File from, File to) throws GatewayException
+		{
+			RemoteFileSystem rfs = null;
+			try
+			{
+				EPR epr = ListenerUtil.assembleEpr(_config);
+				if (epr instanceof FTPEpr)  {
+					FTPEpr ftpEpr = (FTPEpr) epr;
+					rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+					rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+					rfs.remoteRename( from, to );
+					return true;
+				} else {
+					throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+				}
+			} catch (Exception e) {
+				throw new GatewayException(e);
+			} finally {
+				if (null != rfs)
+					rfs.quit();
+			}
+		}
+
+		public File getWorkFileName( File file, String suffix )
+		{
+			return new File( file.toString() + suffix);
+		}
+
+		/**
+		 * Does not filter the passed in files array
+		 * 
+		 * @return File[]	the unmodified file[] array passed in.
+		 */
+		public File[] filterFileList( final File[] files ) throws GatewayException
+		{
+			return files;
+		}
+
+		public void init( String configFile )
+		{
+			// no initialization needed
+		}
+
 	}
+
+	public void setRemotefileSystemStrategy(
+			RemoteFileSystemStrategy remotefileSystemStrategy )
+	{
+		this.remotefileSystemStrategy = remotefileSystemStrategy;
+	}
+	
+	protected <T> T getNewInstanceOf( String className ) throws ConfigurationException
+	{
+		if ( className == null )
+			throw new IllegalArgumentException ( "className argument must not be null.");
+		
+		T instance = null;
+		try
+		{
+			@SuppressWarnings ("unchecked")
+            Class<T> type = ClassUtil.forName( className , getClass());
+            instance = (T) type.newInstance();
+		}
+		catch (Exception ex)
+		{
+			_logger.debug(ex);
+			throw new ConfigurationException(ex);
+		}
+		return instance;
+	}
+
 }

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategy.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategy.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategy.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,131 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.gateway.remotestrategies;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.cache.CacheException;
+import org.jboss.soa.esb.listeners.gateway.GatewayException;
+import org.jboss.soa.esb.listeners.gateway.remotestrategies.cache.FtpFileCache;
+
+/**
+ * Read-only implementation of {@link RemoteFileSystemStrategy}.
+ * 
+ *  An instance of this class can be used when a remote file system does
+ *  not support write operations, only read.
+ *  
+ * @author Daniel Bevenius
+ *
+ */
+public class ReadOnlyRemoteFileSystemStrategy implements RemoteFileSystemStrategy
+{
+	private Logger log = Logger .getLogger( ReadOnlyRemoteFileSystemStrategy.class );
+	
+	private FtpFileCache ftpFileCache;
+	
+	public void init( String configFile ) throws Exception 
+	{
+		ftpFileCache = new FtpFileCache( configFile );
+		
+		ftpFileCache.start();
+	}
+
+	/**
+	 * Do nothing
+	 * 
+	 * @param file		the file to delete. Ignored
+	 * @return true	always returns true without deleting the filee
+	 */
+	public boolean deleteFile( File file ) throws GatewayException
+	{
+		return true;
+	}
+
+	/**
+	 * Do nothing
+	 * 
+	 * @param from		the file to be renamed. Ignored
+	 * @param to		the new file. Ignored
+	 * @return true	always returns true without deleting the filee
+	 */
+	public boolean renameFile( File from, File to ) throws GatewayException
+	{
+		return true;
+	}
+
+	/**
+	 * This method simply returns the file without a worksuffix. 
+	 * This is useful when the remote system does not allow one to rename the file.
+	 * 
+	 * @param file		the file to work with
+	 * @param suffix	the suffix. This will be ignored
+	 * @return File	the file untouched
+	 */
+	public File getWorkFileName( File file, String suffix )
+	{
+		return file;
+	}
+
+	/**
+	 * Returns a File[] that only contains files that have not previously 
+	 * been through this method.
+	 */
+	public File[] filterFileList( File[] files ) throws GatewayException
+	{
+		if ( files == null )
+			return files;
+		
+		List<File> newFileList = new ArrayList<File>();
+		for ( File file : files )
+		{
+			String fileName = file.getName();
+			if ( !ftpFileCache.containsFile( fileName ) )
+			{
+				try
+				{
+					ftpFileCache.putFileName( fileName );
+					newFileList.add( file );
+				} 
+				catch (CacheException e)
+				{
+					log.error( "Exception while trying to put file : " + fileName + " into the cache", e);
+				}
+			}
+		}
+		
+		return newFileList.toArray( new File[]{} );
+	}
+	
+	public void removeAllData() throws CacheException
+	{
+		ftpFileCache.removeAll();
+	}
+
+	public void stop()
+	{
+		ftpFileCache.stop();
+	}
+
+}

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/RemoteFileSystemStrategy.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/RemoteFileSystemStrategy.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/RemoteFileSystemStrategy.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,51 @@
+package org.jboss.soa.esb.listeners.gateway.remotestrategies;
+
+import java.io.File;
+import org.jboss.soa.esb.listeners.gateway.GatewayException;
+
+/**
+ * A strategy for handling remote write operations.
+ * 
+ * @author Daniel Bevenius				
+ *
+ */
+public interface RemoteFileSystemStrategy
+{
+	
+	void init( String configFile ) throws Exception;
+	
+	/**
+	 * filters the file array passed in. 
+	 * 
+	 * @return	File[]	list of files that should worked on
+	 * @throws GatewayException
+	 */
+	File[] filterFileList( File[] files ) throws GatewayException;
+	
+	/**
+	 * 
+	 * @param file		the file to delete
+	 * @return true	if the file was sucessfully deleted
+	 * @throws GatewayException
+	 */
+	boolean deleteFile( File file ) throws GatewayException;
+	
+	/**
+	 * 
+	 * @param from		the file to rename
+	 * @param to		the target file
+	 * @return true	if the file was sucessfully renamed
+	 * @throws GatewayException
+	 */
+	boolean renameFile( File from, File to ) throws GatewayException;
+	
+	/**
+	 * 
+	 * @param file		the current file the system is working on
+	 * @param suffix	a suffix to append to the file.
+	 * @return	File	either the file with the appended suffix or 
+	 * 					without.This depends on the implementation.
+	 */
+	File getWorkFileName( File file, String suffix );
+
+}

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCache.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCache.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCache.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,123 @@
+package org.jboss.soa.esb.listeners.gateway.remotestrategies.cache;
+
+import java.io.File;
+
+import org.apache.log4j.Logger;
+import org.jboss.cache.CacheException;
+import org.jboss.cache.PropertyConfigurator;
+import org.jboss.cache.TreeCache;
+
+/**
+ * Implements a cache of file names. 
+ * The main intent of this class is to be used when retreiving file 
+ * names via ftp, and when the ftp server is readonly.
+ * 
+ * The class will act as a distributed cache so that the same file is not processed 
+ * more then once.
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class FtpFileCache
+{
+	@SuppressWarnings("unused")
+	private Logger log = Logger.getLogger( FtpFileCache.class );
+	
+	private String fqn = "/ftp/cache/";
+	
+	private String config;
+	private TreeCache treeCache;
+	
+	public FtpFileCache ( String config ) throws Exception
+	{
+		if (config == null)
+			throw new IllegalArgumentException("config must not be null");
+		
+		File configFile = new File( config );
+		
+		if ( !configFile.exists() )
+			throw new IllegalArgumentException("config file: " + config + " must exist.");
+		
+		this.config = config;
+		
+		treeCache = new TreeCache();
+		PropertyConfigurator configurator = new PropertyConfigurator();
+		configurator.configure( treeCache, config );
+		
+	}
+
+	public void start() throws Exception
+	{
+		treeCache.startService();
+	}
+
+	public void stop()
+	{
+		treeCache.stopService();
+	}
+
+	/**
+	 * Will add the filename to the cache.
+	 * 
+	 * @param fileName
+	 * @throws CacheException 
+	 */
+	public void putFileName(String fileName) throws CacheException
+	{
+		treeCache.put ( fqn, fileName, fileName );
+	}
+
+	/**
+	 * Will get the filename if it exists in the cache.
+	 * 
+	 * @param fileName
+	 * @throws CacheException
+	 */
+	public Object getFileName(String fileName) throws CacheException
+	{
+		return treeCache.get ( fqn, fileName );
+	}
+	
+	/**
+	 * Removed the fileName from the cache if it exist there
+	 * 
+	 * @param fileName
+	 * @return Object			the value of the removed object
+	 * @throws CacheException
+	 */
+	public Object deleteFile( String fileName ) throws CacheException
+	{
+		return treeCache.remove( fqn, fileName );
+	}
+	
+	public boolean containsFile( String fileName )
+	{
+		return treeCache.exists(  fqn, fileName );
+	}
+	
+	public String getCache()
+	{
+		return treeCache.print( fqn );
+	}
+
+	public String getFqn()
+	{
+		return fqn;
+	}
+
+	public void setFqn(String fqn)
+	{
+		this.fqn = fqn;
+	}
+
+	public String getConfigFile( )
+	{
+		return config;
+	}
+
+	public void removeAll() throws CacheException
+	{
+		treeCache.removeData( fqn );
+	}
+}
+

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/build.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/build.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -104,6 +104,7 @@
     <!-- ====================================================================== -->
     <target name="org.jboss.esb.services.internal.test.exec">
         <echo message="Running tests for module, excluding integration"/>
+		<copy file="${org.jboss.esb.root.dir}/etc/schemas/xml/jbossesb-1.0.1.xsd" todir="${org.jboss.esb.tests.classes.dir}"/>
         <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
             <formatter type="plain" usefile="false"/>
             <formatter type="xml"/>
@@ -114,6 +115,8 @@
                 </fileset>
             </batchtest>
             <classpath>
+        		<!-- log4j location -->
+                <pathelement location="${basedir}/resources/etc"/>
         		<!-- using instrumented code for code coverage -->
                 <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
                 <pathelement location="${org.jboss.esb.tests.classes.dir}"/>

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/ftpfile_cache_test.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/ftpfile_cache_test.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/ftpfile_cache_test.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<server>
+
+    <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
+
+    <mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=TreeCache">
+
+        <depends>jboss:service=Naming</depends>
+        <depends>jboss:service=TransactionManager</depends>
+
+        <!-- Configure the TransactionManager -->
+        <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
+
+        <!-- Isolation level : SERIALIZABLE REPEATABLE_READ (default) READ_COMMITTED READ_UNCOMMITTED NONE -->
+        <!--attribute name="IsolationLevel">REPEATABLE_READ</attribute-->
+        <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
+
+        <!-- Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC -->
+        <attribute name="CacheMode">REPL_SYNC</attribute>
+
+        <!-- Just used for async repl: use a replication queue -->
+        <attribute name="UseReplQueue">false</attribute>
+
+        <!-- Replication interval for replication queue (in ms) -->
+        <attribute name="ReplQueueInterval">0</attribute>
+
+        <!-- Max number of elements which trigger replication -->
+        <attribute name="ReplQueueMaxElements">0</attribute>
+
+        <!-- Name of cluster. Needs to be the same for all clusters, in order to find each other -->
+        <attribute name="ClusterName">FtpFileCache-Cluster</attribute>
+
+        <attribute name="ClusterConfig">
+            <config>
+                <UDP mcast_addr="228.1.2.3" mcast_port="48866" 
+					bind_addr="10.36.17.27"
+                    ip_ttl="64" ip_mcast="true" 
+                    mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
+                    ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
+                    loopback="false"/>
+                <PING timeout="2000" num_initial_members="2" up_thread="false" down_thread="false"/>
+                <MERGE2 min_interval="10000" max_interval="20000"/>
+                <!--        <FD shun="true" up_thread="true" down_thread="true" />-->
+                <FD_SOCK/>
+                <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false"/>
+                <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800" max_xmit_size="8192" up_thread="false" down_thread="false"/>
+                <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false"/>
+                <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false"/>
+                <FRAG frag_size="8192" down_thread="false" up_thread="false"/>
+                <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true"/>
+                <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
+            </config>
+        </attribute>
+
+        <!-- Whether or not to fetch state on joining a cluster -->
+        <attribute name="FetchStateOnStartup">true</attribute>
+
+        <!--
+            The max amount of time (in milliseconds) we wait until the
+            initial state (ie. the contents of the cache) are retrieved from
+            existing members in a clustered environment
+        -->
+        <attribute name="InitialStateRetrievalTimeout">10000</attribute>
+
+        <!--
+            Number of milliseconds to wait until all responses for a
+            synchronous call have been received.
+        -->
+        <attribute name="SyncReplTimeout">10000</attribute>
+
+        <!-- Max number of milliseconds to wait for a lock acquisition -->
+        <attribute name="LockAcquisitionTimeout">15000</attribute>
+
+
+        <attribute name="EvictionPolicyClass">org.jboss.cache.eviction.LRUPolicy</attribute>
+		<attribute name="EvictionPolicyConfig">
+			<config>
+				<attribute name="wakeUpIntervalSeconds">30</attribute>
+				<!-- Cache wide default -->
+				<region name="/_default_">
+				<attribute name="maxNodes">5000</attribute>
+				<attribute name="timeToLiveSeconds">1000</attribute>
+				</region>
+				<region name="/ftp/cache">
+					<attribute name="maxNodes">5000</attribute>
+					<attribute name="timeToLiveSeconds">1000</attribute>
+					<attribute name="maxAgeSeconds">86400</attribute>
+		      </region>
+		   </config>
+		</attribute>
+		
+		<attribute name="CacheLoaderConfiguration">
+	        <config>
+				<!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
+				<passivation>false</passivation>
+				
+				<!-- comma delimited FQNs to preload -->
+				<preload>/ftp/cache</preload>
+				
+				<!-- are the cache loaders shared in a cluster? -->
+				<shared>false</shared>
+				
+				<!-- we can now have multiple cache loaders, which get chained -->
+				<!-- the 'cacheloader' element may be repeated -->
+				<cacheloader>
+					<class>org.jboss.cache.loader.JDBCCacheLoader</class>
+					<properties>
+						cache.jdbc.driver=org.hsqldb.jdbcDriver
+						cache.jdbc.url=jdbc:hsqldb:hsql://localhost:9001/ftpcache
+						cache.jdbc.user=sa
+						cache.jdbc.password=
+					</properties>
+					<!-- whether the cache loader writes are asynchronous -->
+					<async>false</async>
+					
+					<!-- only one cache loader in the chain may set fetchPersistentState to true.
+					An exception is thrown if more than one cache loader sets this to true. -->
+					<fetchPersistentState>false</fetchPersistentState>
+					
+					<!-- determines whether this cache loader ignores writes - defaults to false. -->
+					<ignoreModifications>false</ignoreModifications>
+					
+					<!-- if set to true, purges the contents of this cache loader when the cache starts u Defaults to false. -->
+					<purgeOnStartup>false</purgeOnStartup>
+					
+				</cacheloader>
+			</config>
+		</attribute>
+        
+    </mbean>
+
+
+   <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
+   <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
+   <!--      <depends>jboss.cache:service=TreeCache</depends>-->
+   <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
+   <!--   </mbean>-->
+
+
+</server>

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/resources/etc/log4j.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+	  <param name="Threshold" value="FATAL"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="FATAL"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit JBoss categories -->
+   <category name="org.jboss">
+      <priority value="FATAL"/>
+   </category>
+
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="FATAL"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="FATAL"/>
+   </category>
+
+   <category name="org.mockejb">
+      <priority value="FATAL"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+ 
+</log4j:configuration>

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -29,7 +29,6 @@
 import junit.framework.JUnit4TestAdapter;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.Priority;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
@@ -123,20 +122,19 @@
                 .append("core/listeners/tests/src/org/jboss/soa/esb/actions/")
                 .append(fileName).toString();
 
-        logger.log(Priority.DEBUG, "Determining If the File Exists - " + fileName);
+        logger.debug("Determining If the File Exists - " + fileName);
 
         //Make sure this file exists
         File configFile = new File(pathToFile);
 
         if (!configFile.exists())
         {
-            logger.log(
-                    Priority.ERROR, "File does not Exist - Failing the Test");
+            logger.error("File does not Exist - Failing the Test");
             assertTrue(false);
         }
         else
         {
-            logger.log(Priority.DEBUG, "Found the File");
+            logger.debug("Found the File");
         }
 
         ConfigTree confTree = ConfigTree.fromInputStream(getStream(pathToFile));
@@ -168,17 +166,17 @@
         }
         catch (IOException _ioex)
         {
-            logger.log(Priority.ERROR, "IOException: " + _ioex.getMessage());
+            logger.error("IOException: " + _ioex.getMessage());
             assertTrue(false);
         }
         catch (SAXException _saxex)
         {
-            logger.log(Priority.ERROR, "SAXException: " + _saxex.getMessage());
+            logger.error("SAXException: " + _saxex.getMessage());
             assertTrue(false);
         }
         catch (Exception _ex)
         {
-            logger.log(Priority.ERROR, "Exception: " + _ex.getMessage());
+            logger.error("Exception: " + _ex.getMessage());
             assertTrue(false);
         }
     }

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -24,6 +24,7 @@
 
 import java.util.Date;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.ActionUtils;
@@ -37,6 +38,7 @@
  */
 public class LongToDateConverter extends AbstractActionPipelineProcessor
 {
+	private Logger log = Logger.getLogger( LongToDateConverter.class );
 
 	/*
 	 * (non-Javadoc)
@@ -51,7 +53,7 @@
 			throw new ActionProcessingException(
 					"This action handler only accepts Long object instances.");
 		}
-		System.out.println("LongToDateConverter");
+		log.debug("LongToDateConverter");
 
         try { ActionUtils.setTaskObject(message,new Date((Long)oCurr)); }
         catch (Exception e)

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -27,6 +27,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.ActionUtils;
@@ -40,6 +41,8 @@
  * @since Version 4.0
  */
 public class ObjectToCSVStringUnitTest extends TestCase {
+	
+	private Logger log = Logger.getLogger( ObjectToCSVStringUnitTest.class );
 
     public void test() throws ConfigurationException, ActionProcessingException {
         List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
@@ -66,6 +69,7 @@
         properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "id,name,phone,age"));
         processor = new ObjectToCSVString("ObjectToCSVString", properties);
         ActionUtils.setTaskObject(oMsg,new TestBean());
+        log.warn( "The following two error messages are intentional" );
         processor.process(oMsg);
         assertEquals("<no-such-property>,Tom Fennelly,<no-such-property>,21", ActionUtils.getTaskObject(oMsg));
 
@@ -74,6 +78,7 @@
         properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "id"));
         processor = new ObjectToCSVString("ObjectToCSVString", properties);
         ActionUtils.setTaskObject(oMsg,new TestBean());
+        log.warn( "The following error message is intentional" );
         processor.process(oMsg);
         assertEquals("<no-such-property>", ActionUtils.getTaskObject(oMsg));
 
@@ -84,6 +89,7 @@
         processor = new ObjectToCSVString("ObjectToCSVString", properties);
         ActionUtils.setTaskObject(oMsg,new TestBean());
         try {
+	        log.warn( "The following error message is intentional" );
         	processor.process(oMsg);
         	fail("Expected ActionProcessingException");
         } catch(ActionProcessingException e) {

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/routing/HttpRouterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/routing/HttpRouterUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/routing/HttpRouterUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -22,58 +22,62 @@
 
 package org.jboss.soa.esb.actions.routing;
 
-import junit.framework.TestCase;
+import junit.framework.JUnit4TestAdapter;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
 
-public class HttpRouterUnitTest extends TestCase
+public class HttpRouterUnitTest
 {
-	public HttpRouterUnitTest ()
+	private Logger log = Logger.getLogger( HttpRouterUnitTest.class );
+	
+	private Message msg = MessageFactory.getInstance().getMessage();
+	private ConfigTree tree = new ConfigTree("test");
+	
+	@Before
+	public void setUp()
 	{
+		msg.getBody().setContents("hello world".getBytes());
 	}
-
-	public void testRouter () throws Exception
+	
+	
+	@Test ( expected = ActionProcessingException.class )
+	public void testRouter_UnknownHost() throws ActionProcessingException
 	{
-		ConfigTree tree = new ConfigTree("test");
-		
-		tree.setAttribute(ListenerTagNames.HTTP_ROUTER_ROUTE_URL, "http://foo.bar");
-		
+		setRouterURL( "http://foo.bar" );
 		HttpRouter router = new HttpRouter(tree);
+		log.warn( "The following errors are intentional" );
+		router.process(msg);
+	}
+	
+	/**
+	 * Should this test really be here? Is this not dependant on a 
+	 * running http server...
+	 */
+	@Test ( timeout=7000, expected = ActionProcessingException.class )
+	@Ignore
+	public void testRouter_IP_Address() throws ActionProcessingException
+	{
+		setRouterURL( "http://172.16.127.160:9090" );
+		HttpRouter router = new HttpRouter(tree);
 		
-		Message msg = MessageFactory.getInstance().getMessage();
-		
-		msg.getBody().setContents("hello world".getBytes());
-		
-		boolean exception = false;
-		
-		try
-		{
-			router.process(msg);
-		}
-		catch (ActionProcessingException ex)
-		{
-			exception = true;
-		}
-		
-		if (!exception)
-			fail();
-		
-		tree.setAttribute(ListenerTagNames.HTTP_ROUTER_ROUTE_URL, "http://172.16.127.160:9090");
-		
-		router = new HttpRouter(tree);
-		
-		try
-		{
-			router.process(msg);
-		}
-		catch (ActionProcessingException ex)
-		{
-			//fail();
-		}
+		router.process(msg);
 	}
 	
+	private void setRouterURL( String url )
+	{
+		tree.setAttribute(ListenerTagNames.HTTP_ROUTER_ROUTE_URL, url);
+	}
+	
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(HttpRouterUnitTest.class);
+	}
+	
 }

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisherUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisherUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisherUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -24,6 +24,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.util.StreamUtils;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.StringUtils;
@@ -34,7 +35,8 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class JBossWSAdapterContractPublisherUnitTest extends TestCase {
-
+	private Logger log = Logger .getLogger( JBossWSAdapterContractPublisherUnitTest.class );
+	
     public void test() throws ConfigurationException, IOException, SAXException {
         JBossWSAdapterContractPublisher publisher = new JBossWSAdapterContractPublisher();
         String wsdlIn = new String(StreamUtils.readStream(getClass().getResourceAsStream("test-in.wsdl")));
@@ -42,7 +44,7 @@
         EPR epr = new EPR(URI.create("socket://x.y.x:8989/"));
 
         String wsdlOut = publisher.updateWsdl(wsdlIn, epr);
-        System.out.println(wsdlOut);
+        log.debug(wsdlOut);
         assertTrue("WSDL Update failed.", StringUtils.equalsIgnoreLinebreaks(wsdlOutExpected, wsdlOut, false));
     }
 }

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -37,7 +37,6 @@
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
@@ -139,9 +138,6 @@
 	{
 		try
 		{
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
-					"../product")
-					+ "/etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
 					"../product");
 			// Set the juddi properties file in System so juddi will pick it up
@@ -191,9 +187,8 @@
 			}
 			catch (Exception e)
 			{
-				System.out.println("ERROR: failed to load " + database
-						+ " JDBC driver.");
-				e.printStackTrace();
+				log.error("ERROR: failed to load " + database
+						+ " JDBC driver.", e);
 				return;
 			}
 			con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
@@ -205,9 +200,7 @@
 		}
 		catch (Throwable e)
 		{
-			e.printStackTrace();
-			System.out
-					.println("We should stop testing, since we don't have a db.");
+			log.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}
@@ -226,7 +219,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 		}
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -57,7 +57,6 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
 			_logger.error(ex.toString(), ex);
 			fail();
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -70,7 +70,7 @@
 		}
 		catch (SQLException ex)
 		{
-			ex.printStackTrace();
+			_logger.error(ex);
 
 			fail();
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -22,14 +22,26 @@
 
 package org.jboss.soa.esb.listeners;
 
-import junit.framework.TestCase;
-
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.registry.RegistryException;
 
-public class RegistryUtilUnitTest extends TestCase
+public class RegistryUtilUnitTest extends ListenerManagerBaseTest
 {
+	@SuppressWarnings("unused")
+	private Logger log = Logger.getLogger( RegistryUtilUnitTest.class );
+	
+	public void setUp()
+	{
+		runBeforeAllTests();
+	}
+	
+	public void tearDown()
+	{
+		runAfterAllTests();
+	}
+	
 	public void testRegistryUtil () throws Exception
 	{
 		RegistryUtil.getEprManager();

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/StandAloneBootStrapperUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/StandAloneBootStrapperUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/StandAloneBootStrapperUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -22,14 +22,24 @@
 
 package org.jboss.soa.esb.listeners;
 
+import java.io.File;
+
 import junit.framework.TestCase;
 
 import org.jboss.soa.esb.ConfigurationException;
 
 public class StandAloneBootStrapperUnitTest extends TestCase
 {
+	public void tearDown()
+	{
+		File serverLog = new File("server.log");
+		if ( serverLog.exists() )
+			serverLog.delete();
+	}
 	public void testBoostrapper () throws Exception
 	{
+		// needed so that the server.log file path in log4j.xml is correct
+		System.setProperty( "jboss.server.log.dir", "." );
 		String[] args = new String[0];
 		
 		try
@@ -73,7 +83,6 @@
 		try
 		{
 			StandAloneBootStrapper.main(args);		
-			fail();
 		}
 		catch (ConfigurationException ex)
 		{

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -21,10 +21,14 @@
 
 package org.jboss.soa.esb.listeners.config;
 
+import org.apache.log4j.Logger;
+
 import junit.framework.TestCase;
 
 public class ConfigurationControllerServiceUnitTest extends TestCase
 {
+	private Logger log = Logger
+			.getLogger( ConfigurationControllerServiceUnitTest.class );
 	public void testService ()
 	{
 		ConfigurationControllerService service = new ConfigurationControllerService();		
@@ -40,7 +44,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			fail();
 		}
 		

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -27,6 +27,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.util.StreamUtils;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
@@ -43,6 +44,8 @@
  */
 public class GeneratorUnitTest extends TestCase {
 	
+	private Logger log = Logger.getLogger( GeneratorUnitTest.class );
+	
 	private File outdir = new File("test-outdir");
 	private File gatewayConfig;
 	private File awareConfig;
@@ -81,17 +84,17 @@
 		gatewayConfig = new File(outdir, Generator.ESB_CONFIG_GATEWAY_XML_FILE);
 		assertTrue(gatewayConfig.exists());
 		actualGatewayConfig = FileUtil.readTextFile(gatewayConfig);
-		System.out.println("actual  [" + removeEOL(actualGatewayConfig) + "]");
-        System.out.println("expected[" + expectedGatewayConfig + "]");
+		log.debug("actual  [" + removeEOL(actualGatewayConfig) + "]");
+        log.debug("expected[" + expectedGatewayConfig + "]");
 		assertEquals(expectedGatewayConfig, removeEOL(actualGatewayConfig));
 		
 		awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
 		assertTrue(awareConfig.exists());
 		actualESBAwareConfig = FileUtil.readTextFile(awareConfig);
-		System.out.println("[" + actualESBAwareConfig + "]");
+		log.debug("[" + actualESBAwareConfig + "]");
 		actualESBAwareConfig = removeEOL(actualESBAwareConfig);
 		boolean isIndentical = expectedESBAwareConfig.equals(actualESBAwareConfig);
-		System.out.println("Strings identical=" + isIndentical);
+		log.debug("Strings identical=" + isIndentical);
 		assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -33,6 +33,7 @@
 import junit.framework.JUnit4TestAdapter;
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -48,6 +49,8 @@
  */
 public class XmlValidatorUnitTest extends TestCase {
 	
+	private Logger log = Logger.getLogger( XmlValidatorUnitTest.class );
+	
 	private static String testXml;
 	private static InputSource inputSource;
 	private static StreamSource validationSource;
@@ -61,26 +64,26 @@
 		File validationFile = new File(testXml);
 		try {
 			if (validationFile.exists()) {
-				System.err.println("validationFile "+testXml+" exists");
+				log.debug("validationFile "+testXml+" exists");
 			} else {
 				throw new IOException();
 			}
 		} catch (IOException e) {
-			System.err.println("validationFile "+testXml+" does not exist");
+			log.error("validationFile "+testXml+" does not exist");
 		}
 		try {
 			InputStream inputStream = new FileInputStream(validationFile);
 			inputSource = new InputSource(inputStream);
 			xmlValidation = new XmlValidatorImpl(inputSource);
 		} catch (Exception e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 		String validationFileName = TestEnvironmentUtil.getUserDir("product") 
 			+ "etc/schemas/xml/jbossesb-1.0.1.xsd";
 		try {
 			validationSource = new StreamSource(validationFileName);
 		} catch (Exception e) {
-			e.printStackTrace();
+			log.error(e);
 		}		
 	}
 	
@@ -88,17 +91,17 @@
 	public void testValidateXml() throws Exception {
 		isValid = xmlValidation.validate(inputSource);
 		if (isValid) {
-			System.err.println(testXml+" is valid");
+			log.debug(testXml+" is valid");
 		} else {
-			System.err.println(testXml+" is invalid -- see getValidationResults()");
+			log.error(testXml+" is invalid -- see getValidationResults()");
 			Collection<String> validationResults = xmlValidation.getValidationResults();
 
 			if (validationResults.size() == 0) {
 			} else {
-				System.err.println("Validation Results:");
+				log.debug("Validation Results:");
 				Object[] valResults = validationResults.toArray();
     		for (int i = 0; i < validationResults.size(); i++) {
-        	System.err.println(valResults[i].toString());
+        	log.debug(valResults[i].toString());
     		}
 			}
 		}
@@ -107,17 +110,17 @@
 	public void testValidateXmlAndSchema() throws Exception {
 		isValid = xmlValidation.validate(inputSource,validationSource);
 		if (isValid) {
-			System.err.println(testXml+" is valid");
+			log.debug(testXml+" is valid");
 		} else {
-			System.err.println(testXml+" is invalid -- see getValidationResults()");
+			log.error(testXml+" is invalid -- see getValidationResults()");
 			Collection<String> validationResults = xmlValidation.getValidationResults();
 
 			if (validationResults.size() == 0) {
 			} else {
-				System.err.println("Validation Results:");
+				log.debug("Validation Results:");
 				Object[] valResults = validationResults.toArray();
     		for (int i = 0; i < validationResults.size(); i++) {
-        	System.err.println(valResults[i].toString());
+        	log.debug(valResults[i].toString());
     		}
 			}
 		}
@@ -129,11 +132,11 @@
 		
 		if (isValid)
 		{
-			System.err.println(testXml+" is valid");
+			log.debug(testXml+" is valid");
 		} 
 		else 
 		{
-			System.err.println(testXml+" is invalid -- see getValidationResults()");
+			log.debug(testXml+" is invalid -- see getValidationResults()");
 			Collection<String> validationResults = xmlValidation.getValidationResults();
 
 			if (validationResults.size() == 0) 
@@ -141,12 +144,12 @@
 			} 
 			else 
 			{
-				System.err.println("Validation Results:");
+				log.debug("Validation Results:");
 				Object[] valResults = validationResults.toArray();
 				
 	    		for (int i = 0; i < validationResults.size(); i++) 
 	    		{
-	    			System.err.println(valResults[i].toString());
+	    			log.debug(valResults[i].toString());
 	    		}
 			}
 		}
@@ -172,7 +175,7 @@
 			final XMLSerializer xmlS = new XMLSerializer(sWriter, format) ;
 			xmlS.asDOMSerializer() ;
 			xmlS.serialize(document) ;
-			System.err.println(sWriter.toString()) ;
+			log.debug(sWriter.toString()) ;
 		}
 	}
 	@Test
@@ -184,10 +187,10 @@
 
 			if (validationResults.size() == 0) {
 			} else {
-				System.err.println("Validation Results:");
+				log.debug("Validation Results:");
 				Object[] valResults = validationResults.toArray();
     		for (int i = 0; i < validationResults.size(); i++) {
-        	System.err.println(valResults[i]);
+        	log.debug(valResults[i]);
     		}
 			}
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -15,7 +15,7 @@
 			</jms-bus>
 		</jms-provider>
 		
-		<ftp-provider name="FTP" hostname="localhost">
+		<ftp-provider name="FTP" hostname="localhost:21">
 			<ftp-bus busid="Ftp-ServerTest">
 				<ftp-message-filter directory="/Temp" input-suffix=".txt" username="joe" password="secret"/>
 			</ftp-bus>
@@ -108,4 +108,4 @@
 		</service>
 	</services>
 	
-</jbossesb>
\ No newline at end of file
+</jbossesb>

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><Bank-Listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" protocol="jms"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></Bank-Listener><Bank-Listener-Generic listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" !
 service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></Bank-Listener-Generic><test-ftp-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" pollLatencySeconds="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></test-ftp-listener><test-sql-!
 listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwa
reListener" maxThreads="1" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></test-sql-listener></jbossesb-listeners>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><Bank-Listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" protocol="jms"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></Bank-Listener><Bank-Listener-Generic listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" !
 service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></Bank-Listener-Generic><test-ftp-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" pollLatencySeconds="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></test-ftp-listener><test-sq!
 l-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageA
wareListener" maxThreads="1" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></test-sql-listener></jbossesb-listeners>

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -28,7 +28,7 @@
 		</provider>
 		
 		<provider name="FTP">
-			<property name="URL" value="ftp://joe:secret@localhost:/Temp" />
+			<property name="URL" value="ftp://joe:secret@localhost:21/Temp" />
 
 			<bus busid="Ftp-ServerTest">
 				<property name="inputSuffix" value=".txt" />
@@ -153,4 +153,4 @@
 		</service>
 	</services>
 	
-</jbossesb>
\ No newline at end of file
+</jbossesb>

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.Generator;
+import org.jboss.soa.esb.listeners.config.Listener;
+import org.jboss.soa.esb.listeners.config.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.FtpMessageFilterDocument.FtpMessageFilter;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class FtpListenerMapperTest
+{
+	
+	@Test
+	public void test() throws ConfigurationException, IOException
+	{
+		Document doc = YADOMUtil.createDocument();
+		Element root;
+		
+		root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+		root.setAttribute("parameterReloadSecs", "1000" );
+		
+		InputStream inputStream = getClass().getResourceAsStream("jbossesb_config_01.xml");
+		assertNotNull ( "Input stream should not be null",  inputStream );
+		GeneratorMock mock = new GeneratorMock( inputStream );
+		XMLBeansModel model = mock.getModel();
+		List<Listener> gateways = model.getGatewayListeners();
+		
+		FtpListener ftpListener = (FtpListener) gateways.get(0);
+		@SuppressWarnings("unused")
+		FtpMessageFilter ftpMessageFilter = ftpListener.getFtpMessageFilter();
+		
+		System.out.println( "Listener 0 :" + ftpListener );
+		
+		/*
+		FtpListenerDocument ftpListenerDocument = FtpListenerDocument.Factory.newInstance();
+//		ftpListenerDocument.setFtpListener( model.get );
+		//must refer to the same instance!!!! 
+		
+		FtpListener ftpListener = ftpListenerDocument.addNewFtpListener();
+		ftpListener.setIsGateway( true );
+		ftpListener.setName( "FtpMapperListener" );
+		ftpListener.setBusidref( "FtpMapperTest" );
+		ftpListener.setMaxThreads( 1 );
+		FtpMessageFilter filter = ftpListener.addNewFtpMessageFilter();
+		filter.setDirectory( "/tmp" );
+		filter.setErrorDirectory( "/error" );
+		filter.setPostDirectory( "/postdir" );
+		filter.setUsername( "user" );
+		filter.setPassword( "pass" );
+		filter.setInputSuffix( ".txt" );
+		filter.setErrorSuffix( ".err" );
+		*/
+		
+		
+		
+		FtpListenerMapper.map( root , ftpListener, model );
+	}
+	
+	
+	private class GeneratorMock extends Generator
+	{
+
+		public GeneratorMock(InputStream config) throws ConfigurationException, IOException
+		{
+			super( config );
+		}
+
+		@Override
+		protected XMLBeansModel getModel()
+		{
+			return super.getModel();
+		}
+		
+		
+	}
+
+}

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/jbossesb_config_01.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/mappers/jbossesb_config_01.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,25 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+	<providers>
+		
+		<ftp-provider name="FTP" hostname="localhost:21">
+			<ftp-bus busid="FtpMapperTest">
+				<ftp-message-filter directory="/Temp" input-suffix=".txt" username="joe" password="secret"/>
+			</ftp-bus>
+		</ftp-provider>
+		
+	</providers>
+	<services>    
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+			
+			<listeners>    	    
+				<ftp-listener name="FtpMapperListener"
+							busidref="FtpMapperTest"
+							is-gateway="true"
+							maxThreads="1"/>
+			</listeners>
+		</service>
+	</services>
+	
+</jbossesb>

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -25,6 +25,8 @@
 import java.io.File;
 import java.io.FileOutputStream;
 
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.helpers.ConfigTree;
@@ -34,9 +36,21 @@
 
 public class FileGatewayListenerUnitTest extends BaseTest
 {
+	private Logger log = Logger.getLogger( FileGatewayListenerUnitTest.class );
+	
 	public FileGatewayListenerUnitTest ()
 	{
 	}
+	
+	public void setUp()
+	{
+		MockRegistry.install();
+	}
+	
+	public void tearDown()
+	{
+		MockRegistry.uninstall();
+	}
 
 	public void testGateway () throws Exception
 	{
@@ -77,7 +91,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail();
 		}
@@ -196,7 +210,7 @@
 		}
 		catch (Throwable ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail();
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -30,7 +30,6 @@
 import java.util.Properties;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.testutils.FileUtil;
 import org.jboss.soa.esb.testutils.HsqldbUtil;
@@ -56,9 +55,6 @@
 	{
 		try
 		{
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
-					"../product")
-					+ "/etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
 					"../product");
 			// Set the juddi properties file in System so juddi will pick it up
@@ -108,9 +104,8 @@
 			}
 			catch (Exception e)
 			{
-				System.out.println("ERROR: failed to load " + database
-						+ " JDBC driver.");
-				e.printStackTrace();
+				log.error( "ERROR: failed to load " + database
+						+ " JDBC driver.", e);
 				return;
 			}
 			con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
@@ -122,9 +117,7 @@
 		}
 		catch (Throwable e)
 		{
-			e.printStackTrace();
-			System.out
-					.println("We should stop testing, since we don't have a db.");
+			log.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}
@@ -143,7 +136,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 		}
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GroovyGatewayUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GroovyGatewayUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GroovyGatewayUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -21,6 +21,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.couriers.MockCourier;
 import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
 import org.jboss.internal.soa.esb.services.registry.MockRegistry;
@@ -38,6 +39,8 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class GroovyGatewayUnitTest extends TestCase {
+	
+	private Logger log = Logger.getLogger( GroovyGatewayUnitTest.class );
 
     private MockCourier courier1;
 
@@ -111,7 +114,7 @@
             try {
                 Thread.sleep(terminationPeriod);
             } catch (InterruptedException e) {
-                e.printStackTrace();
+            	log.error(e);
             }
             return stopped;
         }

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -23,6 +23,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.couriers.MockCourier;
 import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
 import org.jboss.internal.soa.esb.services.registry.MockRegistry;
@@ -43,6 +44,8 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class JBossRemotingGatewayListenerUnitTest extends TestCase {
+	private Logger log = Logger
+			.getLogger( JBossRemotingGatewayListenerUnitTest.class );
 
     private JBossRemotingGatewayListener listener;
 
@@ -246,7 +249,7 @@
             listener.doInitialise();
             fail("Expected a ManagedLifecycleException.");
         } catch (ConfigurationException e) {
-            e.printStackTrace();
+        	log.error(e);
             fail("Unexpected ConfigurationException. " + e.getMessage());
         } catch (ManagedLifecycleException e) {
             Throwable cause = e.getCause();

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListenerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListenerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -46,17 +46,22 @@
 import org.jboss.soa.esb.couriers.CourierException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener.DefaultRemoteFileSystemStrategy;
+import org.jboss.soa.esb.listeners.gateway.remotestrategies.RemoteFileSystemStrategy;
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleThreadState;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.services.registry.RegistryException;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Unit test for RemoteGatewayListener that uses an embedded ftp server
+ * Tests the RemoteGatewayListener with the default RemoteFileSystemStrategy.
  *  
  * @author Daniel Bevenius
  *
@@ -66,57 +71,76 @@
 	private static Logger log = Logger.getLogger( RemoteGatewayListenerUnitTest.class );
 	
 	/*  EmbeddedFtp Server  */
-	private static NoConfigFileFtpServer ftpServer;
+	protected static NoConfigFileFtpServer ftpServer;
 	
 	/* Instance of class under test */
-	private static RemoteGatewayListener gatewayListener;
+	protected static RemoteGatewayListener gatewayListener;
 	
 	/*
 	 * ConfigTree configuration. This is a field so that test methods
 	 * can override the default settings created by createConfigTree()
 	 */
-	private static ConfigTree configTree;
+	protected static ConfigTree configTree;
 	
 	/* name of the remote ftp input directory */
-	private static String remoteInputDirName;
+	protected static String remoteInputDirName;
 	
 	/* name of the remote ftp upload directory */
-	private static String remoteUploadDirName;
+	protected static String remoteUploadDirName;
 	
 	/* name of the remote ftp error directory */
-	private static String remoteErrorDirName;
+	protected static String remoteErrorDirName;
 	
 	private static final String SERVICE_CATEGORY = "RemoteGWListenerTest";
 	private static final String SERVICE_NAME =  SERVICE_CATEGORY;
 	private static final String INPUT_SUFFIX = ".txt";
 	private static final String WORK_SUFFIX = ".esbwork";
-	private static final String POST_SUFFIX = ".done";
+	protected static final String POST_SUFFIX = ".done";
 	private static final String POST_ERROR_SUFFIX = ".error";
 	private static final String POST_DEL = "false";
 	private static final String RENAMED_SUFFIX = ".renamed";
 	
 	private static final String TEST_FILE_CONTENT = RemoteGatewayListenerUnitTest.class.getName() + " junit ftp test";
 
-	private File testFile;
+	protected File testFile;
 
-	private File renamedFile;
+	protected File renamedFile;
 	
 	@BeforeClass
 	public static void classSetup() throws EmbeddableException, ConfigurationException, GatewayException, RegistryException, MalformedURLException
 	{
-		ftpServer = new NoConfigFileFtpServer();
-		ftpServer.setPort( 2221 );
+		ftpServer = createFtpServer();
 		ftpServer.start();
 		
+		createWorkDirectories();
+		
+		configTree = createConfigTree();
+		createRemoteGatewayListener( configTree );
+		
+	}
+
+	protected static void createWorkDirectories()
+	{
 		remoteInputDirName = "/" + ftpServer.getLocalInputDir().getName();
 		remoteUploadDirName = "/" + ftpServer.getLocalUploadDir().getName();
 		remoteErrorDirName = "/" + ftpServer.getLocalErrorDir().getName();
-		
-		configTree = createConfigTree();
+	}
+
+
+	protected static void createRemoteGatewayListener( ConfigTree configTree )
+			throws ConfigurationException, RegistryException, GatewayException
+	{
 		gatewayListener = new RemoteGatewayListener( configTree );
-		
 	}
 	
+	
+	public static NoConfigFileFtpServer createFtpServer()
+	{
+		ftpServer = new NoConfigFileFtpServer();
+		ftpServer.setPort( 2221 );
+		return ftpServer;
+	}
+	
 	@AfterClass
 	public static void classTearDown() 
 	{
@@ -211,6 +235,37 @@
 	}
 	
 	/**
+	 * Test with the following configuration:
+	 *	inputDir="/input" 
+	 */
+	@Test ( timeout=3000 )
+	@Ignore
+	public void doRun_PostDir_Not_Specified() throws ManagedLifecycleException, ConfigurationException, GatewayException, RegistryException, InterruptedException
+	{
+		setAbsoluteInputDir();
+		setAbsolutePostDirToEmptyString();
+		boolean getCourierReturnValue = true;
+		
+		RemoteGatewayListenerMock mock = createAndStartListener ( configTree,  getCourierReturnValue );
+		
+		File processedDir =  ftpServer.getLocalInputDir();
+		String doneFileName = testFile.getName() + POST_SUFFIX;
+		
+		waitForFile( processedDir, doneFileName );
+		stopdoRun( mock );
+		
+		File processedFile = new File ( processedDir,  doneFileName );
+		try
+		{
+			assertTrue ( processedFile.exists() );
+		}
+		finally
+		{
+			FtpTestUtil.deleteFile( processedFile );
+		}
+	}
+	
+	/**
 	 *  This test will assert that the work file is renamed into the error directory.
 	 * Test with the following configuration:
 	 *	postDir="/input" 
@@ -224,6 +279,7 @@
 		setAbsoluteInputDir();
 		setAbsoluteErrorDir();
 		boolean getCourierReturnValue = false;
+		log.error( "The following exceptions are expected: "  );
 		RemoteGatewayListenerMock mock = createAndStartListener ( configTree, getCourierReturnValue );
 		
 		File errorDir =  ftpServer.getLocalErrorDir();
@@ -299,6 +355,39 @@
 		assertTrue( "The remote file should not have been removed.",  testFile.exists() );
 	}
 	
+	@Test
+	public void testRemoteFileSystemStrategy() throws ConfigurationException, GatewayException, RegistryException
+	{
+		final RemoteGatewayListenerMock mock = new RemoteGatewayListenerMock( configTree , false );
+		log.debug( configTree );
+		RemoteFileSystemStrategy remoteFileSystemStrategy = mock.getRemoteFileSystemStrategy();
+		assertTrue ( remoteFileSystemStrategy instanceof DefaultRemoteFileSystemStrategy );
+	}
+	
+	@Test 
+	public void getNewInstanceNegative() 
+	{
+		try
+		{
+			gatewayListener.getNewInstanceOf( null );
+			fail ( "an IllegalArgumentException should have been thrown" );
+		} 
+		catch ( Exception e)
+		{
+			assertTrue ( e instanceof IllegalArgumentException );
+		}
+		
+		try
+		{
+			gatewayListener.getNewInstanceOf( "some.package.class" );
+			fail ( "a ConfigurationException should have been thrown" );
+		} 
+		catch ( Exception e)
+		{
+			assertTrue ( e instanceof ConfigurationException );
+		}
+	}
+	
 	/*
 	 * Will create a configTree that looks like the following:
 	 *  <junitRemoteGatewayListenerTest 
@@ -312,15 +401,15 @@
 	 * 	passive="false" 
 	 * 	pollLatencySeconds="5" 
 	 * 	postDelete="false" 
-	 *		postDir="/upload" 
-	 *		postSuffix=".done" 
-	 *		service-description="Gateway for SIFO" 
-	 *		target-service-category="RemoteGWListenerTest"
-	 *		target-service-name="RemoteGWListenerTest"
-	 *		workSuffix=".esbwork"
+	 *	postDir="/upload" 
+	 *	postSuffix=".done" 
+	 *	service-description="Gateway for SIFO" 
+	 *	target-service-category="RemoteGWListenerTest"
+	 *	target-service-name="RemoteGWListenerTest"
+	 *	workSuffix=".esbwork"
 	 *	/> 
 	 */
-	private static ConfigTree createConfigTree()
+	public static ConfigTree createConfigTree()
 	{
 		ConfigTree configTree = new ConfigTree( "junitRemoteGatewayListenerTest" );
 
@@ -351,14 +440,14 @@
 		return configTree;
 	}
 	
-	private void waitForFile( File inDir, String fileNameToWaitfor ) throws InterruptedException
+	protected void waitForFile( File inDir, String fileNameToWaitfor ) throws InterruptedException
 	{
 		boolean done = false;
 		while( !done )
 		{
 			for( String fileName : inDir.list() )
 			{
-				System.out.println( fileName );
+				log.debug( fileName );
 				if ( fileName.equals( fileNameToWaitfor ) )
 				{
 					done = true;
@@ -378,7 +467,7 @@
 	 * @param returnValueForCourier					the return value for the getCourier method of the RemoteGatewayListenerMock object
 	 * @return RemoteGatewayListenerMock		Mock impl of a RemoteGatewayListener.
 	 */
-	private RemoteGatewayListenerMock createAndStartListener ( ConfigTree configTree,  boolean returnValueForCourier ) throws ConfigurationException, GatewayException, RegistryException
+	protected RemoteGatewayListenerMock createAndStartListener ( ConfigTree configTree,  boolean returnValueForCourier ) throws ConfigurationException, GatewayException, RegistryException
 	{
 		final RemoteGatewayListenerMock mock = new RemoteGatewayListenerMock( configTree , returnValueForCourier );
 		mock.doInitialise();
@@ -395,8 +484,9 @@
 		
 	}
 	
-	private void stopdoRun ( RemoteGatewayListenerMock mock )
+	protected void stopdoRun ( RemoteGatewayListenerMock mock )
 	{
+		if ( mock == null ) return;
 		try 
 		{
 			mock.stop();
@@ -408,27 +498,32 @@
 		}
 	}
 	
-	private static void assertFileRemoved( File file)
+	protected static void assertFileRemoved( File file)
 	{
-			assertFalse( "The file was not removed from the filesystem", file.exists() );
+		assertFalse( "The file was not removed from the filesystem", file.exists() );
 	}
 	
-	private static void assertFileExists( File file )
+	protected static void assertFileExists( File file )
 	{
 		assertTrue( "The file was not renamed to the upload directory.",  file.exists() );
 	}
 	
-	private void setAbsoluteInputDir()
+	protected void setAbsoluteInputDir()
 	{
 		configTree.setAttribute( ListenerTagNames.FILE_INPUT_DIR_TAG, remoteInputDirName );
 	}
 	
-	private void setAbsolutePostDirToInputDir()
+	protected void setAbsolutePostDirToInputDir()
 	{
 		configTree.setAttribute( ListenerTagNames.FILE_POST_DIR_TAG, remoteInputDirName );
 	}
+	
+	private void setAbsolutePostDirToEmptyString()
+	{
+		configTree.setAttribute( ListenerTagNames.FILE_POST_DIR_TAG, "" );
+	}
 
-	private void setAbsolutePostDirToUploadDir()
+	protected void setAbsolutePostDirToUploadDir()
 	{
 		configTree.setAttribute( ListenerTagNames.FILE_POST_DIR_TAG, remoteUploadDirName );
 	}
@@ -438,12 +533,12 @@
 		configTree.setAttribute( ListenerTagNames.FILE_ERROR_DIR_TAG, remoteErrorDirName );
 	}
 	
-	private File createAbsoluteFromFile()
+	protected File createAbsoluteFromFile()
 	{
 		return new File ( remoteInputDirName + "/" + testFile.getName() );
 	}
 	
-	private File createAbsoluteToFile()
+	protected File createAbsoluteToFile()
 	{
 		return new File ( remoteInputDirName + "/" + testFile.getName() + RENAMED_SUFFIX );
 	}
@@ -464,13 +559,15 @@
 	/**
 	 *  Mock impl of RemoteGatewayListener. 
 	 */
-	private class RemoteGatewayListenerMock extends RemoteGatewayListener
+	class RemoteGatewayListenerMock extends RemoteGatewayListener
 	{
 		private static final long serialVersionUID = 1L;
 		
 		/* value that will be returned from the getCourier( EPR ) method */
 		private boolean returnValueForCourier;
-
+		
+		private boolean finishedOneRun;
+		
 		/**
 		 * Sole constructor
 		 * 
@@ -506,6 +603,23 @@
 			_targetEprs = new ArrayList<EPR>();
 			_targetEprs.add( new JMSEpr( new EPR() ) );
 		};
+		
+		@Override
+		protected boolean waitForRunningStateChange(final ManagedLifecycleThreadState state, final long terminationPeriod)
+		{
+			finishedOneRun = true;
+			return super.waitForRunningStateChange( state, terminationPeriod );
+		}
+		
+		public RemoteFileSystemStrategy getRemoteFileSystemStrategy()
+		{
+			return this.remotefileSystemStrategy;
+		}
+
+		public boolean hasFinishedOneRun()
+		{
+			return finishedOneRun;
+		}
 	}
 	
 }

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener_ReadOnlyStrategyUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener_ReadOnlyStrategyUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener_ReadOnlyStrategyUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,202 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.Arrays;
+import java.util.List;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.internal.soa.esb.util.embedded.EmbeddableException;
+import org.jboss.internal.soa.esb.util.embedded.ftp.FtpTestUtil;
+import org.jboss.internal.soa.esb.util.embedded.ftp.NoConfigFileFtpServer;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.gateway.remotestrategies.ReadOnlyRemoteFileSystemStrategy;
+import org.jboss.soa.esb.listeners.gateway.remotestrategies.RemoteFileSystemStrategy;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Unit test for RemoteGatewayListener that uses an embedded ftp server.
+ * 
+ * Tests the RemoteGatewayListener with a readonly RemoteFileSystemStrategy.
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class RemoteGatewayListener_ReadOnlyStrategyUnitTest extends RemoteGatewayListenerUnitTest
+{
+	
+	@BeforeClass
+	public static void classSetup() throws EmbeddableException, ConfigurationException, GatewayException, RegistryException, MalformedURLException
+	{
+		ftpServer = createFtpServer();
+		ftpServer.start();
+		
+		createWorkDirectories();
+		configTree = createConfigTree();
+		createRemoteGatewayListener( configTree );
+	}
+	
+	@Test
+	public void deleteFile() throws GatewayException 
+	{
+		File remoteFile = createAbsoluteFromFile();
+				
+		gatewayListener.deleteFile( remoteFile );
+		assertTrue( "Remote file was deleted which should not be possible!",  testFile.exists() );
+	}
+	
+	@Test
+	public void getFileListFromRemoteDir() throws GatewayException
+	{
+		File[] fileListFromRemoteDir = gatewayListener.getFileList();
+			
+		assertNotNull ( fileListFromRemoteDir );
+		assertTrue ( fileListFromRemoteDir.length > 0 );
+			
+		List<File> fileList = Arrays.asList( fileListFromRemoteDir );
+		assertTrue( "The test file was not included in the List! " , fileList.contains( new File ( testFile.getName() )  ));
+	}
+	
+	@Test ( timeout=3000 )
+	public void doRun_PostDir_Same_As_InputDir() throws ManagedLifecycleException, ConfigurationException, GatewayException, RegistryException, InterruptedException
+	{
+		setAbsoluteInputDir();
+		setAbsolutePostDirToInputDir();
+		boolean getCourierReturnValue = true;
+		
+		RemoteGatewayListenerMock mock = createAndStartListener ( configTree,  getCourierReturnValue );
+		
+		File inputDir =  ftpServer.getLocalInputDir();
+		String doneFileName = testFile.getName();
+		
+		waitForFile( inputDir, doneFileName );
+		stopdoRun( mock );
+		
+		File processedFile = new File ( inputDir,  doneFileName );
+		try
+		{
+			assertTrue ( processedFile.exists() );
+		}
+		finally
+		{
+			FtpTestUtil.deleteFile( processedFile );
+		}
+	}
+	
+	@Test
+	public void testRemoteFileSystemStrategy() throws ConfigurationException, GatewayException, RegistryException
+	{
+		final RemoteGatewayListenerMock mock = new RemoteGatewayListenerMock( configTree , false );
+		
+		RemoteFileSystemStrategy remoteFileSystemStrategy = mock.getRemoteFileSystemStrategy();
+		assertTrue ( remoteFileSystemStrategy instanceof ReadOnlyRemoteFileSystemStrategy );
+		assertTrue ( "Should always return true", remoteFileSystemStrategy.deleteFile( null  ));
+		assertTrue ( "Should always return treu", remoteFileSystemStrategy.renameFile(  null, null  ));
+	}
+	
+	@Test
+	public void renameFile_In_Same_Directory() throws GatewayException 
+	{ 
+		File from = createAbsoluteFromFile();
+		File to = createAbsoluteToFile();
+			
+		gatewayListener.renameFile( from, to );
+			
+		renamedFile = new File ( ftpServer.getLocalInputDir(), to.getName() );
+		assertFileExists( testFile );
+		assertFalse( renamedFile.exists() );
+	}
+	
+	@Test 
+	public void getNewInstance() throws ConfigurationException
+	{
+		ReadOnlyRemoteFileSystemStrategy instance = gatewayListener.getNewInstanceOf( ReadOnlyRemoteFileSystemStrategy.class.getName() );
+		assertNotNull( "The instance should not be null!", instance );
+	}
+	
+	@Ignore
+	public void renameFile_In_Different_Directory() throws GatewayException { }
+	
+	@Ignore
+	public void doRun_PostDir_Different_From_InputDir() throws ManagedLifecycleException, ConfigurationException, GatewayException, RegistryException, InterruptedException { }
+	
+	@Ignore
+	public void doRun_Negative() throws ManagedLifecycleException, ConfigurationException, GatewayException, RegistryException, InterruptedException {}
+	
+	/**
+	 * Override createConfigTree and add the ReadOnlyFileSystem strategy.
+	 * 
+	 * @return
+	 */
+	public static ConfigTree createConfigTree()
+	{
+		ConfigTree configTree = RemoteGatewayListenerUnitTest.createConfigTree();
+		configTree.setAttribute( RemoteGatewayListener.REMOTE_FILE_SYSTEM_STRATEGY_CLASS, ReadOnlyRemoteFileSystemStrategy.class.getName());
+		configTree.setAttribute( RemoteGatewayListener.STRATEGY_CONFIG_FILE, getCacheConfigFile() );
+		return configTree;
+	}
+	
+	public static NoConfigFileFtpServer createFtpServer()
+	{
+		ftpServer = new NoConfigFileFtpServer();
+		ftpServer.setPort( 2221 );
+		return ftpServer;
+	}
+	
+	private static String getCacheConfigFile()
+	{
+		String configFile = TestEnvironmentUtil.getBaseDir() + File.separator + 
+							"core" + File.separator + 
+							"listeners" + File.separator + 
+							"tests" + File.separator + 
+							"resources" + File.separator + 
+							"etc" + File.separator + 
+							"ftpfile_cache_test.xml";
+		
+		if ( ! new File ( configFile ).exists() )
+			fail( "Could not locate the jboss cache config file: " +  configFile );
+		
+		return configFile;
+	}
+	
+	/*
+	 * Just here to help Ant to find annotated test.
+	 */
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter( RemoteGatewayListener_ReadOnlyStrategyUnitTest.class);
+	}
+	
+}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListenerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListenerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -25,6 +25,8 @@
 import java.sql.SQLException;
 import java.sql.Statement;
 
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
 import org.jboss.soa.esb.common.tests.BaseTest;
@@ -34,14 +36,18 @@
 
 public class SqlTableGatewayListenerUnitTest extends BaseTest
 {
+	private Logger log = Logger
+			.getLogger( SqlTableGatewayListenerUnitTest.class );
+	
 	public SqlTableGatewayListenerUnitTest ()
 	{
 	}
-
+	
 	public void setUp()
 	{
 		try
 		{
+			MockRegistry.install();
 			Statement stmt = getDbConnection().createStatement();
 
 			try
@@ -57,11 +63,15 @@
 		}
 		catch (SQLException ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 
 			fail();
 		}
 	}
+	public void tearDown()
+	{
+		MockRegistry.uninstall();
+	}
 	
 	public void testGateway () throws Exception
 	{
@@ -149,7 +159,7 @@
 		}
 		catch (RuntimeException ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail();
 		}

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategyTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategyTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/ReadOnlyRemoteFileSystemStrategyTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,149 @@
+package org.jboss.soa.esb.listeners.gateway.remotestrategies;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
+import org.apache.log4j.Logger;
+import org.jboss.cache.CacheException;
+import org.jboss.soa.esb.listeners.gateway.GatewayException;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * 
+ * @author Daniel Bevenius				
+ *
+ */
+public class ReadOnlyRemoteFileSystemStrategyTest
+{
+	private Logger log = Logger .getLogger( ReadOnlyRemoteFileSystemStrategyTest.class );
+	
+	private static ReadOnlyRemoteFileSystemStrategy strategy;
+
+	private static ReadOnlyRemoteFileSystemStrategy strategy2;
+	
+	private String testFile1 = "testFile1";
+	private String testFile2 = "testFile2";
+	private String testFile3 = "testFile3";
+	
+	private File[] expectedFileList = new File[] { new File( testFile1 ) , new File( testFile2 ) };
+	private File[] newFileList = new File[] { new File( testFile3 ) };
+	private File[] emptyFileList = new File[] {};
+	
+	@Test
+	public void listFilesNegative() 
+	{
+		try
+		{
+			strategy.filterFileList( null );
+		} 
+		catch (GatewayException e)
+		{
+			fail("Should be ok to pass null as the file array!");
+		}
+	}
+	
+	@Test
+	public void listFiles() throws GatewayException 
+	{
+		File[] filteredFileList = strategy.filterFileList( expectedFileList );
+		assertEquals( expectedFileList, filteredFileList );
+		
+		filteredFileList = strategy.filterFileList( expectedFileList );
+		assertEquals( "No files should have been returned. They should have been cached.", emptyFileList, filteredFileList );
+		
+		filteredFileList = strategy.filterFileList( newFileList );
+		assertEquals( newFileList, filteredFileList );
+		assertTrue ( filteredFileList instanceof File[] );
+	}
+	
+	@Test
+	public void listFiles_With_Two_Strategy_Instances() throws Exception 
+	{
+		try
+		{
+			File[] filteredFileList = strategy2.filterFileList( expectedFileList );
+			assertEquals( expectedFileList, filteredFileList );
+			
+			filteredFileList = strategy.filterFileList( expectedFileList );
+			assertEquals( emptyFileList, filteredFileList );
+			
+			filteredFileList = strategy2.filterFileList( newFileList );
+			assertEquals( newFileList, filteredFileList );
+			
+			filteredFileList = strategy.filterFileList( newFileList );
+			assertEquals( emptyFileList, filteredFileList );
+			
+		}
+		catch ( Exception e )
+		{
+			log.error(e);
+		}
+		finally
+		{
+			strategy2.stop();
+		}
+		
+	}
+	
+	@Before
+	public void setup() throws CacheException
+	{
+		strategy.removeAllData();
+	}
+	
+	@BeforeClass
+	public static void classSetup() throws Exception
+	{
+		registerHsqlDriver();
+		HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir() + "build" + File.separator + "hsqltestdb", "ftpcache");
+		
+		strategy = new ReadOnlyRemoteFileSystemStrategy();
+		strategy.init( getConfigFile() );
+		
+		strategy2 = new ReadOnlyRemoteFileSystemStrategy();
+		strategy2.init( getConfigFile() );
+	}
+		
+	private static void registerHsqlDriver()
+	{
+		try 
+		{
+			Class.forName( "org.hsqldb.jdbcDriver" );
+		} 
+		catch (Exception e) 
+		{
+			fail( "ERROR: failed to load JDBC driver." + e.getMessage() );
+		}
+	}
+	
+	@AfterClass
+	public static void classTearDown()
+	{
+		strategy.stop();
+		strategy2.stop();
+	}
+	
+	private static String getConfigFile()
+	{
+		String configFile = TestEnvironmentUtil.getUserDir() + File.separator + 
+							"core" + File.separator + 
+							"listeners" + File.separator + 
+							"tests" + File.separator + 
+							"resources" + File.separator + 
+							"etc" + File.separator + 
+							"ftpfile_cache_test.xml";
+		
+		if ( ! new File ( configFile ).exists() )
+			fail( "Could not locate the jboss cache config file: " +  configFile );
+		
+		return configFile;
+	}
+}

Added: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCacheTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCacheTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/remotestrategies/cache/FtpFileCacheTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,136 @@
+package org.jboss.soa.esb.listeners.gateway.remotestrategies.cache;
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.cache.CacheException;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+public class FtpFileCacheTest
+{
+	private static Logger log = Logger.getLogger(FtpFileCacheTest.class);
+	
+	@SuppressWarnings("unused")
+	private static String configFile;
+	
+	private static FtpFileCache ftpfileCache;
+
+	@Test( expected=IllegalArgumentException.class)
+	public void constructorNegativeConfigNull() throws Exception
+	{
+		new FtpFileCache( null );
+	}
+	
+	@Test( expected=IllegalArgumentException.class)
+	public void constructorNegativeConfigNotExists() throws Exception
+	{
+		new FtpFileCache( "/some/file/somewhere" );
+	}
+	
+	@Test 
+	public void getPutAndRemove()
+	{
+		String fileName = "testfile1";
+		try
+		{
+			ftpfileCache.putFileName( fileName );
+			
+			Object obj = ftpfileCache.getFileName( fileName );
+			assertTrue( obj instanceof String );
+			
+			String actualFileName = (String) obj;
+			assertEquals( fileName, actualFileName );
+		}
+		catch (CacheException e)
+		{
+			fail ( e.getMessage() );
+		}
+		finally
+		{
+			try { ftpfileCache.deleteFile( fileName ); } catch (CacheException e) { log.error( e.getMessage() ); }
+		}
+	}
+	
+	@Test
+	public void fileExists() throws CacheException
+	{
+		String fileName = "testfile1";
+		
+		ftpfileCache.putFileName( fileName );
+	
+		boolean fileExistsInCache =  ftpfileCache.containsFile( fileName );
+		assertTrue ( fileExistsInCache );
+	}
+	
+	@Test
+	public void removeAll() throws CacheException 
+	{
+		String fileName = "testfile3";
+		ftpfileCache.putFileName( fileName );
+		ftpfileCache.removeAll();
+		assertNull ( ftpfileCache.getFileName( fileName ));
+		
+	}
+	
+	@BeforeClass
+	public static void classSetup() throws Exception
+	{
+		configFile = getConfigFile();
+		
+		registerHsqlDriver();
+		HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir() + "build" + File.separator + "hsqltestdb", "ftpcache");
+		
+		ftpfileCache = new FtpFileCache ( getConfigFile() );
+		ftpfileCache.start();
+	}
+	
+	private static void registerHsqlDriver()
+	{
+		try 
+		{
+			Class.forName( "org.hsqldb.jdbcDriver" );
+		} 
+		catch (Exception e) 
+		{
+			fail( "ERROR: failed to load JDBC driver." + e.getMessage() );
+		}
+	}
+	
+	private static String getConfigFile()
+	{
+		String configFile = TestEnvironmentUtil.getUserDir() + File.separator + 
+							"core" + File.separator + 
+							"listeners" + File.separator + 
+							"tests" + File.separator + 
+							"resources" + File.separator + 
+							"etc" + File.separator + 
+							"ftpfile_cache_test.xml";
+		
+		if ( ! new File ( configFile ).exists() )
+			fail( "Could not locate the jboss cache config file: " +  configFile );
+		
+		return configFile;
+	}
+
+	@AfterClass
+	public static void classTearDown() throws Exception 
+	{
+		ftpfileCache.stop();
+		HsqldbUtil.stopHsqldb( "jdbc:hsqldb:hsql://localhost:9001/ftpcache", "sa", "" );
+	}
+	
+	public static junit.framework.Test suite() 
+	{
+		return new JUnit4TestAdapter( FtpFileCacheTest.class );
+	}
+	
+}

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/InvokerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/InvokerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/InvokerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -31,7 +31,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
@@ -45,14 +45,12 @@
 
 public class InvokerUnitTest extends TestCase
 {
+	private Logger log = Logger.getLogger( InvokerUnitTest.class );
 
 	protected final void setup()
 	{
 		try
 		{
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
-					"../product")
-					+ "/etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
 					"../product");
 			// Set the juddi properties file in System so juddi will pick it up
@@ -102,9 +100,8 @@
 			}
 			catch (Exception e)
 			{
-				System.out.println("ERROR: failed to load " + database
-						+ " JDBC driver.");
-				e.printStackTrace();
+				log.error("ERROR: failed to load " + database
+						+ " JDBC driver.", e);
 				return;
 			}
 			con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
@@ -116,9 +113,7 @@
 		}
 		catch (Throwable e)
 		{
-			e.printStackTrace();
-			System.out
-					.println("We should stop testing, since we don't have a db.");
+			log.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}
@@ -137,7 +132,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 		}
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/MessageDeliveryAdapterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/MessageDeliveryAdapterUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/MessageDeliveryAdapterUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -21,6 +21,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.couriers.MockCourier;
 import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
 import org.jboss.internal.soa.esb.services.registry.MockRegistry;
@@ -39,6 +40,8 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class MessageDeliveryAdapterUnitTest extends TestCase {
+	private Logger log = Logger
+			.getLogger( MessageDeliveryAdapterUnitTest.class );
 
     private EPR epr1;
     private EPR epr2;
@@ -86,6 +89,7 @@
         // Get the courier factory to throw a CourierException
         MockCourierFactory.courierException = new CourierException("");
         try {
+        	log.warn( "The following warings are intentional" );
             deliveryAdapter.deliverAsync(payload);
             fail("Expected MessageDeliverException");
         } catch(MessageDeliverException e) {
@@ -98,6 +102,7 @@
         // Get the courier factory to throw a MalformedEPRException
         MockCourierFactory.malformedEPRException = new MalformedEPRException("");
         try {
+        	log.warn( "The following warings are intentional" );
             deliveryAdapter.deliverAsync(payload);
             fail("Expected MessageDeliverException");
         } catch(MessageDeliverException e) {

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/build.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/build.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -110,6 +110,8 @@
                 </fileset>
             </batchtest>
             <classpath>
+        		<!-- log4j location  -->
+                <pathelement location="${basedir}/resources/etc"/>
         		<!-- using instrumented code for code coverage -->
                 <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
                 <pathelement location="${org.jboss.esb.tests.classes.dir}"/>

Added: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/resources/etc/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/resources/etc/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/resources/etc/log4j.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+	  <param name="Threshold" value="FATAL"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit JBoss categories -->
+   <category name="org.jboss">
+      <priority value="ERROR"/>
+   </category>
+
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.delivery.SmooksXML">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.delivery.serialize.Serializer">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.cdr.XMLConfigDigester">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="org.mockejb">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+ 
+</log4j:configuration>

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -28,6 +28,7 @@
 import junit.framework.Assert;
 import junit.framework.JUnit4TestAdapter;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.couriers.CourierUtil;
@@ -44,6 +45,8 @@
  */
 public class CourierUtilUnitTest extends BaseTest
 {
+	private Logger log = Logger.getLogger( CourierUtilUnitTest.class );
+	
 	public static junit.framework.Test suite()
 	{
 		return new JUnit4TestAdapter(CourierUtilUnitTest.class);
@@ -58,7 +61,7 @@
 		msg1.getHeader().getCall().setTo(new HTTPEpr("http://foo.bar"));
 		msg1.getHeader().getCall().setMessageID(new URI("urn:1234"));
 		
-		System.err.println("Saving: "+msg1.getHeader().getCall());
+		log.debug("Saving: "+msg1.getHeader().getCall());
 		
 		File f = CourierUtil.messageToLocalFile(new File("."), msg1);
 		
@@ -81,7 +84,7 @@
 		
 		Message msg2 = CourierUtil.messageFromLocalFile(tmpFile);
 		
-		System.err.println("Restored: "+msg2.getHeader().getCall());
+		log.debug("Restored: "+msg2.getHeader().getCall());
 		
 		tmpFile.delete();
 		

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -31,7 +31,6 @@
 import junit.framework.Assert;
 import junit.framework.JUnit4TestAdapter;
 
-import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
@@ -66,7 +65,6 @@
 	@BeforeClass
 	public static void setUp() throws Exception
 	{
-		_logger.setLevel(Level.DEBUG);
 		_logger.debug("tmp directory = <"+_tmpDir+">");
 		purgeStaleFiles();
 	}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/EdtFtpImplUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/EdtFtpImplUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/EdtFtpImplUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -257,24 +257,24 @@
 	@Test
 	public void uploadFile() throws RemoteFileSystemException
 	{
-			File localFile = null;
-			File remoteFile = null;
-			String testFileName = "uploadFileTestFile.txt";
-			try
-			{
-				localFile = FtpTestUtil.createTestFile(  ftpServer.getLocalInputDir(),  testFileName, TEST_FILE_CONTENT );
-				
-				String renameTo = testFileName + RENAMED_SUFFIX;
-				edtFtpImpl.uploadFile( localFile, renameTo );
-				remoteFile = new File ( ftpServer.getLocalInputDir(), renameTo );
-				
-				assertTrue( "The file was not uploaded succesfully." , remoteFile.exists() );
-			} 
-			finally
-			{
-				FtpTestUtil.deleteFile( remoteFile );
-				FtpTestUtil.deleteFile( localFile );
-			}
+		File localFile = null;
+		File remoteFile = null;
+		String testFileName = "uploadFileTestFile.txt";
+		try
+		{
+			localFile = FtpTestUtil.createTestFile(  ftpServer.getLocalInputDir(),  testFileName, TEST_FILE_CONTENT );
+			
+			String renameTo = testFileName + RENAMED_SUFFIX;
+			edtFtpImpl.uploadFile( localFile, renameTo );
+			remoteFile = new File ( ftpServer.getLocalInputDir(), renameTo );
+			
+			assertTrue( "The file was not uploaded succesfully." , remoteFile.exists() );
+		} 
+		finally
+		{
+			FtpTestUtil.deleteFile( remoteFile );
+			FtpTestUtil.deleteFile( localFile );
+		}
 	}
 
 	private static ConfigTree createConfigTree()

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/FtpTestUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/FtpTestUtil.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/FtpTestUtil.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -51,7 +51,7 @@
 	 * embedded ftp server. 
 	 *
 	 */
-	public static  void promptForQuit()
+	public static void promptForQuit()
 	{
 		System.out.println( "Enter q to quit:" );
 		Scanner scanner = new Scanner( System.in );
@@ -116,6 +116,7 @@
 				c.close();
 			} catch (IOException e)
 			{
+				log.warn( e );
 				/* ignore */
 			}
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/NoConfigFileFtpServer.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/NoConfigFileFtpServer.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/NoConfigFileFtpServer.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -266,7 +266,6 @@
 
 	public URL getURL() throws MalformedURLException
 	{
-//		return new URL ( "ftp://" + userName + ":" + password + "@" + host + ":" + port + "/" + localInputDir.getName() );
 		return new URL ( "ftp://" + userName + ":" + password + "@" + host + ":" + port + "/" + remoteInputDir );
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -25,6 +25,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.log4j.Logger;
+
 import junit.framework.TestCase;
 
 /**
@@ -32,6 +34,7 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class StreamUtils {
+	private static Logger log = Logger.getLogger( StreamUtils.class );
 
 	/**
 	 * Read the supplied InputStream and return as an array of bytes.
@@ -48,7 +51,7 @@
 				outBuffer.write(buffer, 0, readCount);
 			}
 		} catch (IOException e) {
-			e.printStackTrace();
+			log.error(e);
 			TestCase.fail("Error reading input stream - See above stack trace.");
 		}		
 		

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -10,9 +10,11 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.w3c.dom.Document;
 
 public abstract class W3CDomUtils {
+	private static Logger log = Logger.getLogger( W3CDomUtils.class );
 
 	public static String serialize(Document document) {
 		DOMSource src = new DOMSource(document);
@@ -26,7 +28,7 @@
 			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 			transformer.transform(src, res);
 		} catch (Exception e) {
-			e.printStackTrace();
+			log.error(e);
 			TestCase.fail("Failed to serialise doc.  See above stack trace.");
 		}
 		

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFileReplyToEprUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFileReplyToEprUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFileReplyToEprUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -131,7 +131,7 @@
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+        	_logger.error(e);
             assertTrue(false);
         }
     }

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFtpReplyToEprIntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFtpReplyToEprIntegrationTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultFtpReplyToEprIntegrationTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -132,7 +132,7 @@
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+        	_logger.error(e);
             assertTrue(false);
         }
     }

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultJdbcReplyToEprUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultJdbcReplyToEprUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/tests/DefaultJdbcReplyToEprUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -91,8 +91,7 @@
         }
         catch (Exception e)
         {
-            e.printStackTrace();
-            _logger.error("No Database Available - Stop Testing");
+            _logger.error("No Database Available - Stop Testing", e);
             assertTrue(false);
         }
     }
@@ -160,7 +159,7 @@
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+  			_logger.error(e);
             assertTrue(false);
         }
     }
@@ -189,7 +188,7 @@
   		}
   		catch (SQLException e) 
   		{
-  			e.printStackTrace();
+  			_logger.error(e);
   			throw e;
   		}
   	}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -30,11 +30,13 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.addressing.helpers.PortReferenceHelper;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.PortReference;
 import org.jboss.soa.esb.addressing.XMLUtil;
 import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.message.tests.XMLMessageUnitTest;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -49,12 +51,14 @@
 
 public class EPRUnitTest extends TestCase
 {
-
+	
+	private Logger log = Logger.getLogger( XMLMessageUnitTest.class );
+	
 	public void testConstructor ()
 	{
 		EPR epr = new EPR();
 		
-		System.err.println("Default EPR: "+epr);
+		log.debug("Default EPR: "+epr);
 	}
 	
 	public void testPortReferenceConstructor ()
@@ -134,7 +138,7 @@
 			xmlS.asDOMSerializer() ;
 			xmlS.serialize(doc) ;
 
-			System.err.println("Exported XML: "+sWriter.toString());
+			log.debug("Exported XML: "+sWriter.toString());
 			
 			PortReference pr = PortReferenceHelper.fromXML(fromElement, false);			
 			

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -24,11 +24,13 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
 import org.jboss.soa.esb.MarshalException;
 import org.jboss.soa.esb.UnmarshalException;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.message.tests.XMLMessageUnitTest;
 
 /**
  * Unit tests for the Class class.
@@ -38,6 +40,7 @@
 
 public class EPRHelperUnitTest extends TestCase
 {
+	private Logger log = Logger.getLogger( XMLMessageUnitTest.class );
 	
 	public void testToFromXMLString () throws MarshalException, UnmarshalException
 	{
@@ -45,7 +48,7 @@
 		
 		String xmlString = EPRHelper.toXMLString(email);
 		
-		System.err.println("xmlString is: "+xmlString);
+		log.debug("xmlString is: "+xmlString);
 		
 		EPR epr = EPRHelper.fromXMLString(xmlString);
 		

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -24,6 +24,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.eprs.EmailEpr;
 import org.jboss.soa.esb.addressing.util.EPRManager;
@@ -36,6 +37,8 @@
 
 public class EPRManagerUnitTest extends TestCase
 {
+	private Logger log = Logger.getLogger( EPRManagerUnitTest.class );
+	
 	public void testCreate ()
 	{
 		EPRManager manager1 = EPRManager.getInstance(null);
@@ -64,7 +67,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -102,7 +105,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -29,7 +29,6 @@
 import junit.framework.TestCase;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.Priority;
 import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.common.ModulePropertyManager;
 
@@ -134,16 +133,16 @@
 		systemParameters.put(FTP_DIR, ftpDir);
 		systemParameters.put(FTP_PWD, ftpPwd);
 
-		log.log(Priority.INFO, "DB parameters:");
-		log.log(Priority.INFO, "Driver=" + dbDriver);
-		log.log(Priority.INFO, "url=" + dbUrl);
-		log.log(Priority.INFO, "username=" + dbUsername);
-		log.log(Priority.INFO, "password=" + dbPassword);
-		log.log(Priority.INFO, "FTP parameters:");
-		log.log(Priority.INFO, "Hostname=" + ftpHostname);
-		log.log(Priority.INFO, "User=" + ftpUser);
-		log.log(Priority.INFO, "Dir=" + ftpDir);
-		log.log(Priority.INFO, "Password="+ftpPwd);
+		log.debug("DB parameters:");
+		log.debug("Driver=" + dbDriver);
+		log.debug("url=" + dbUrl);
+		log.debug("username=" + dbUsername);
+		log.debug("password=" + dbPassword);
+		log.debug("FTP parameters:");
+		log.debug("Hostname=" + ftpHostname);
+		log.debug("User=" + ftpUser);
+		log.debug("Dir=" + ftpDir);
+		log.debug("Password="+ftpPwd);
 
 		return systemParameters;
 	}
@@ -228,7 +227,7 @@
 			Class.forName(getDbDriver()).newInstance();
 		} catch (Exception e)
 		{
-			e.printStackTrace();
+			log.error(e);
 			fail("JDBC Driver [" + getDbDriver()
 					+ "] not available in classpath.");
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -24,6 +24,7 @@
 import junit.framework.ComparisonFailure;
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.common.Environment;
 
 import com.arjuna.common.internal.util.propertyservice.plugins.io.XMLFilePlugin;
@@ -32,6 +33,8 @@
 
 public class PropertyManagerUnitTest extends TestCase
 {
+	
+	private Logger log = Logger.getLogger( PropertyManagerUnitTest.class );
 
 	public void testPropertyManager ()
 	{
@@ -45,7 +48,7 @@
         }
         catch (Exception e)
         {
-        	e.printStackTrace();
+        	log.error(e);
         	
             fail(e.toString());
         }
@@ -75,7 +78,7 @@
         }
         catch (Exception e)
         {
-        	e.printStackTrace();
+        	log.error(e);
         	
             fail(e.toString());
         }

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -37,11 +37,14 @@
 import javax.jms.TopicSubscriber;
 import javax.naming.Context;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.helpers.NamingContext;
 
 public class DrainQueuesAndTopics
 {
-  private static final int	  MAX_TIMES_NOMSG = 10;
+	private Logger log = Logger.getLogger( DrainQueuesAndTopics.class );
+	
+	private static final int	  MAX_TIMES_NOMSG = 10;
  
   public DrainQueuesAndTopics() throws Exception
   {
@@ -53,7 +56,7 @@
   public int purgeQueueTopic(String p_sName) throws Exception
   { 
 	int iRet = 0;
-	System.out.println(p_sName);
+	log.debug(p_sName);
 	MessageConsumer oCns = null;
 	switch(p_sName.toLowerCase().charAt(0))
 	{	case 't' : oCns = getTopic(p_sName);	break;
@@ -66,20 +69,20 @@
 	{	Message oMsg = oCns.receive(200);
 		if (null==oMsg)
 		{	iNoRcv++;
-			System.out.print(".");
+			log.debug(".");
 			continue;
 		}
 		iRet++;
 		dumpMessage(oMsg);
 		iNoRcv = 0;
 	}
-	System.out.println();
+	log.debug("");
 	return iRet;
   } //__________________________________
   
   void dumpMessage(Message pM)
   {
-	  System.out.println(pM);
+	  log.debug(pM);
   } //__________________________________
   
   QueueReceiver getQueue(String p_sJndi) throws Exception

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -29,12 +29,16 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
+
 /**
  * AppServerContex unit tests.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class AppServerContextUnitTest extends TestCase {
-
+	
+	private Logger log = Logger.getLogger( AppServerContextUnitTest.class );
+	
 	public void test_AppServerContext() throws NamingException {
         Properties environment = new Properties();
         environment.setProperty(Context.PROVIDER_URL, "http://localhost:1234");
@@ -44,7 +48,7 @@
 		
 		
 		Hashtable props = ctx.getEnvironment();
-		System.out.println(props);
+		log.debug(props);
 		assertEquals("org.jnp.interfaces.NamingContextFactory", props.get(Context.INITIAL_CONTEXT_FACTORY));
 		assertEquals("http://localhost:1234", props.get(Context.PROVIDER_URL));
 		assertEquals("", props.get("java.naming.factory.url.pkgs"));

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -26,6 +26,7 @@
 import java.io.InputStream;
 import java.util.Arrays;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.util.StreamUtils;
 import org.jboss.soa.esb.StringUtils;
 import org.jboss.soa.esb.common.tests.BaseTest;
@@ -37,6 +38,7 @@
  * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
  */
 public class ConfigTreeUnitTest extends BaseTest {
+	private Logger log = Logger.getLogger( ConfigTreeUnitTest.class );
 
 	public void test_fromInputStream_args() throws SAXException, IOException {
 		try {
@@ -70,7 +72,7 @@
 		try { output = confTree.toXml(); }
 		catch (Exception e) 
 		{ 
-			e.printStackTrace();
+			log.error(e);
 		}
 		assertTrue("ConfigTree creation from a stream failed, or, ConfigTree toXML failed - failed to produce the same XML.", 
 				StringUtils.equalsIgnoreLinebreaks(new String(expected), output, false));

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -54,7 +54,7 @@
     private static String mDbUsername = "sa";
     private static String mDbPassword ="";
 
-    private Logger logger = Logger.getLogger(this.getClass());
+    private static Logger logger = Logger.getLogger(SimpleDataSourceUnitTest.class);
 
 
 
@@ -71,8 +71,7 @@
         }
         catch (Exception e)
         {
-            e.printStackTrace();
-            System.out.println("No Database Available - Stop Testing");
+			logger.error("No Database Available - Stop Testing", e);
             assertTrue(false);
         }
 
@@ -96,7 +95,7 @@
         }
         catch (Exception _ex)
         {
-            logger.log(Priority.ERROR, _ex.getLocalizedMessage(), _ex);
+            logger.error(_ex.getLocalizedMessage(), _ex);
             assertTrue(false);
         }
 
@@ -127,7 +126,7 @@
         }
         catch (Exception _ex)
         {
-            logger.log(Priority.ERROR, _ex.getLocalizedMessage(), _ex);
+            logger.error(_ex.getLocalizedMessage(), _ex);
             assertTrue(false);
         }
     }
@@ -170,7 +169,7 @@
         if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
         {
             HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
-            System.out.println("Database Shutdown Complete");
+            logger.debug("Database Shutdown Complete");
         }
     }
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -2,6 +2,7 @@
 
 import java.net.URI;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Attachment;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Context;
@@ -42,6 +43,7 @@
 
 public class ExampleMessageImpl implements Message
 {
+	private Logger log = Logger.getLogger( ExampleMessageImpl.class );
 	
 	/**
      * 
@@ -113,7 +115,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			return null;
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -2,6 +2,7 @@
 
 import java.net.URI;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessagePlugin;
 
@@ -37,6 +38,7 @@
 
 public class ExampleMessagePlugin implements MessagePlugin
 {
+	private Logger log = Logger.getLogger( ExampleMessagePlugin.class );
 	
 	public static final String URN = "foobar";
 	
@@ -61,7 +63,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			return null;
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -33,6 +33,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
 import org.jboss.soa.esb.message.Attachment;
 import org.jboss.soa.esb.message.Message;
@@ -51,7 +52,8 @@
 
 public class AttachmentUnitTest extends TestCase
 {
-
+	private Logger log = Logger.getLogger( AttachmentUnitTest.class );
+	
 	public void testSerializeAttachment()
 	{
 		Message msg = MessageFactory.getInstance().getMessage(
@@ -188,7 +190,7 @@
 
 			String documentAsString = sWriter.toString();
 
-			System.err.println("Message looks like: " + documentAsString);
+			log.debug("Message looks like: " + documentAsString);
 
 			org.jboss.internal.soa.esb.message.format.xml.MessageImpl nImpl = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
 
@@ -198,7 +200,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error( ex );
 			
 			fail(ex.toString());
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -33,6 +33,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.message.format.xml.MessageImpl;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
@@ -50,7 +51,8 @@
 
 public class BodyUnitTest extends TestCase
 {
-
+	private Logger log = Logger.getLogger( BodyUnitTest.class );
+	
 	public void testXMLAddString ()
 	{
 		// get XML message
@@ -90,7 +92,7 @@
 
 			MessageImpl nImpl = new MessageImpl();
 
-			System.err.println("Document is "+documentAsString);
+			log.debug("Document is "+documentAsString);
 			
 			nImpl.fromXML(doc);
 			
@@ -98,7 +100,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -142,7 +144,7 @@
 
 			MessageImpl nImpl = new MessageImpl();
 
-			System.err.println("Document is "+documentAsString);
+			log.debug("Document is "+documentAsString);
 			
 			nImpl.fromXML(doc);
 			

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -34,6 +34,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
@@ -51,7 +52,8 @@
 
 public class FaultUnitTest extends TestCase
 {
-
+	private Logger log = Logger.getLogger( FaultUnitTest.class );
+	
 	public void testSerializeFault ()
 	{
 		Message msg = MessageFactory.getInstance().getMessage(
@@ -126,7 +128,7 @@
 
 			String documentAsString = sWriter.toString();
 
-			System.err.println("Message looks like: " + documentAsString);
+			log.debug("Message looks like: " + documentAsString);
 			
 			org.jboss.internal.soa.esb.message.format.xml.MessageImpl nImpl = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
 			

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -30,6 +30,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
 import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.addressing.EPR;
@@ -52,6 +53,7 @@
 
 public class SerializedMessageUnitTest extends TestCase
 {
+	private Logger log = Logger.getLogger( SerializedMessageUnitTest.class );
 
 	public void testSerialize()
 	{
@@ -430,7 +432,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -467,7 +469,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -504,6 +506,7 @@
 		}
 		catch (Exception ex)
 		{
+			log.error(ex);
 			ex.printStackTrace();
 			
 			fail(ex.toString());
@@ -543,7 +546,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -580,7 +583,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -619,7 +622,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -658,7 +661,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -31,6 +31,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.message.format.xml.MessageImpl;
 import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.addressing.EPR;
@@ -58,7 +59,8 @@
 
 public class XMLMessageUnitTest extends TestCase
 {
-
+	private Logger log = Logger.getLogger( XMLMessageUnitTest.class );
+	
 	public void testToXML()
 	{
 		// get XML message
@@ -72,7 +74,7 @@
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
 
-			System.err.println("Message looks like: " + xmlRepresentation);
+			log.debug("Message looks like: " + xmlRepresentation);
 		}
 		catch (Exception ex)
 		{
@@ -167,7 +169,7 @@
 		try
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -247,7 +249,7 @@
 		try
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -259,7 +261,7 @@
 		}
 		catch (Exception ex)
 		{
-			ex.printStackTrace();
+			log.error(ex);
 			
 			fail(ex.toString());
 		}
@@ -293,7 +295,7 @@
 		try
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -338,7 +340,7 @@
 		try
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -362,7 +364,7 @@
 		try
 		{
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -389,7 +391,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -416,7 +418,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -445,7 +447,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -472,7 +474,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -501,7 +503,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			
@@ -530,7 +532,7 @@
 			msg.getHeader().getCall().setTo(epr);
 			
 			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
-			System.err.println("Document is "+xmlRepresentation);
+			log.debug("Document is "+xmlRepresentation);
 			
 			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
 			

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -38,6 +38,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.message.format.MessageType;
@@ -51,6 +52,8 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class NotifyQueuesUnitTest extends TestCase {
+	
+	private Logger log = Logger.getLogger( NotifyQueuesUnitTest.class );
 
 	private MockQueue mockQueue1;
 	private MockQueue mockQueue2;
@@ -72,7 +75,7 @@
     		
     		notifyQueues = new NotifyQueues(rootEl);
         } catch (Exception e) {
-            e.printStackTrace();
+        	log.error(e);
         }
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -1,8 +1,10 @@
 package org.jboss.soa.esb.testutils;
 
+import java.io.PrintWriter;
 import java.sql.DriverManager;
 import java.sql.Statement;
 
+import org.apache.log4j.Logger;
 import org.hsqldb.Server;
 /**
  * Utility to start and stop a hsql Database.
@@ -12,6 +14,8 @@
  */
 public class HsqldbUtil 
 {
+	private static Logger log = Logger.getLogger( HsqldbUtil.class );
+	
 	final private static String THREAD_NAME = "hypersonic-unittest";
 	/**
 	 * Starts the hsql database in it's own thread. 
@@ -28,17 +32,18 @@
 		Thread serverThread = new Thread(THREAD_NAME) {
 			public void run() {
 				try {
-					// Create startup arguments
-					final String[] args = {
-							"-database.0", databaseFile,
-							"-dbname.0", databaseName,
-							"-no_system_exit", "true"
-						} ;
-
 					// Start server
-					Server.main(args);
+					Server server = new Server();
+					Logger targetLogger = Logger.getLogger( "org.hsqldb" );
+					server.setLogWriter( new PrintWriter( 
+							new StdOut2Log4jFilter( server.getLogWriter(), log, targetLogger.getEffectiveLevel() )) );
+					server.setDatabasePath( 0, databaseFile );
+					server.setDatabaseName( 0, databaseName );
+					server.setNoSystemExit( true );
+					server.setSilent( true );
+					server.start();
 				} catch (Exception e) {
-					e.printStackTrace();
+					log.error( e );
 				}
 				//log.error("Failed to start database", e);
 			}

Added: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/StdOut2Log4jFilter.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/StdOut2Log4jFilter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/StdOut2Log4jFilter.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.testutils;
+
+import java.io.FilterWriter;
+import java.io.IOException;
+import java.io.Writer;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+
+/**
+ * 
+ * @author Daniel Bevenius				
+ *
+ */
+public class StdOut2Log4jFilter extends FilterWriter
+{
+	/**
+	 * log4j logger to log to
+	 */
+    protected Logger logger; 
+    /**
+     * Level to filter at
+     */
+    protected Level  level; 
+    /**
+     * string "buffer"
+     */
+    protected StringBuilder sb = new StringBuilder(); 
+    /**
+     * Carrage Return
+     */
+    private static final char CR = '\r';
+    /**
+     * Line Feed
+     */
+    private static final char LF = '\n';
+    
+    public StdOut2Log4jFilter( Writer writer )
+    {
+    	super( writer );
+    }
+
+    public StdOut2Log4jFilter( Writer writer, Logger logger, Level level )
+    { 
+		this( writer );
+		
+        this.logger = logger;
+        this.level = level;
+    } 
+
+    public synchronized void write(int c) throws IOException 
+    { 
+        sb.append(c); 
+    } 
+
+    public synchronized void  write(char[] cbuf, int off, int len) throws IOException 
+    { 
+        sb.append( cbuf, off, len ); 
+    } 
+
+    public synchronized void  write(String str, int off, int len) throws IOException 
+    { 
+        sb.append( str.substring( off, off+len )); 
+    } 
+
+    public synchronized void flush() throws IOException 
+    { 
+        log(); 
+    } 
+
+    public synchronized void close() throws IOException 
+    { 
+        if ( sb.length() != 0) 
+        	log(); 
+    } 
+
+    protected void finalize() throws Throwable 
+    { 
+        if ( sb.length() != 0) 
+        { 
+        	log(); 
+    	} 
+        super.finalize(); 
+    } 
+
+    protected void log() 
+    { 
+        stripExtraNewLine();
+        logger.log(level, sb); 
+        sb.delete(0,sb.length()); 
+    } 
+   
+    protected final void stripExtraNewLine() 
+    { 
+        int length = sb.length(); 
+        
+        if ( length == 0 )
+        	return;
+        
+        if ( length == 1 )
+        {
+            char last = sb.charAt(0); 
+            if ( last == CR || last == LF )
+                sb.deleteCharAt(0); 
+        }
+        else
+        {
+        	int lastPosition = length-1;
+        	char secondLast = sb.charAt( lastPosition ); 
+            if ( secondLast == CR ) 
+                sb.deleteCharAt( lastPosition ); 
+            else if ( secondLast == LF ) 
+            { 
+	        	int secondlastPosition = length-2;
+                sb.deleteCharAt( lastPosition ); 
+                if (sb.charAt( secondlastPosition ) == CR ) 
+                    sb.deleteCharAt( secondlastPosition ); 
+            } 
+        }
+    } 
+}
+

Modified: labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -6,7 +6,6 @@
 import java.io.IOException;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.Priority;
 
 public class TestEnvironmentUtil 
 {
@@ -16,6 +15,12 @@
 	{
 		return getUserDir("product");
 	}
+	
+	public static String getBaseDir()
+	{
+		return System.getProperty("user.dir");
+	}
+	
 	/**
 	 * When performing file system interaction, the user.dir may differ (i.e. running the
 	 * tests from within eclipse).
@@ -24,7 +29,7 @@
 	{
 		String userDir="";
 		String baseDir = System.getProperty("user.dir");
-		log.log(Priority.INFO, baseDir);
+		log.debug(baseDir);
 		if (!baseDir.endsWith(dir)) {
 			userDir = dir + "/";
 		}
@@ -39,7 +44,7 @@
 	{
 		String userDir="";
 		String baseDir = System.getProperty("user.dir");
-		log.log(Priority.INFO, baseDir);
+		log.debug(baseDir);
 		if (!baseDir.endsWith(eclipseDir)) {
 			if (baseDir.endsWith("qa")) {
 				userDir = antDir + "/";
@@ -49,7 +54,7 @@
 		} else {
 			userDir = antDir;
 		}
-		log.log(Priority.INFO, userDir);
+		log.debug(userDir);
 		return userDir;
 	}
 	

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/build.xml	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/build.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -101,6 +101,8 @@
                 </fileset>
             </batchtest>
             <classpath>
+        		<!-- log4j location -->
+                <pathelement location="${basedir}/resources/etc"/>
         		<!-- using instrumented code for code coverage -->
                 <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
                 <pathelement location="${org.jboss.esb.tests.classes.dir}"/> 

Added: labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/etc/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/etc/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/resources/etc/log4j.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+	  <param name="Threshold" value="FATAL"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="FATAL"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit JBoss categories -->
+   <category name="org.jboss">
+      <priority value="FATAL"/>
+   </category>
+
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.delivery.SmooksXML">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.delivery.serialize.Serializer">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn.cdr.XMLConfigDigester">
+      <priority value="ERROR"/>
+   </category>
+
+   <category name="org.mockejb">
+      <priority value="ERROR"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+ 
+</log4j:configuration>

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -50,8 +50,6 @@
 import junit.framework.JUnit4TestAdapter;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.Priority;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.services.registry.RegistryException;
@@ -83,10 +81,10 @@
 	{
 		try {
 			Organization org = JAXRRegistryImpl.createJBossESBOrganization();
-			logger.log(Priority.INFO, "Succesfully created organization: " + org.getName().getValue());
+			logger.debug("Succesfully created organization: " + org.getName().getValue());
 			assertEquals("Red Hat/JBossESB", org.getName().getValue());
 		} catch (JAXRException je) {
-			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			logger.debug(je.getLocalizedMessage(), je);
 			assertTrue(false);
 		}
 	}
@@ -95,18 +93,18 @@
 	{
 		try {
 			Organization org = JAXRRegistryImpl.findOrganization("Red Hat/JBossESB");
-			logger.log(Priority.INFO, "Succesfully created organization: " + org.getName().getValue());
+			logger.debug("Succesfully created organization: " + org.getName().getValue());
 			assertEquals("Red Hat/JBossESB", org.getName().getValue());
 		} catch (JAXRException je) {
-			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			logger.debug(je.getLocalizedMessage(), je);
 			assertTrue(false);
 		}
 		try {
 			Organization org = JAXRRegistryImpl.findOrganization("Not Existing Org");
-			logger.log(Priority.INFO, "Could not find non-existing organization.");
+			logger.debug("Could not find non-existing organization.");
 			assertEquals(null, org);
 		} catch (JAXRException je) {
-			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			logger.error(je.getLocalizedMessage(), je);
 			assertTrue(false);
 		}
 	}
@@ -121,7 +119,7 @@
 			JAXRRegistryImpl registry = new JAXRRegistryImpl();
 			registry.registerService("registry", "Registry Test ServiceName", "Registry Test Service Description");
 		} catch (JAXRException je) {
-			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			logger.error(je.getLocalizedMessage(), je);
 			assertTrue(false);
 		}
 	}
@@ -137,7 +135,7 @@
 					epr, "EPR description");
 			registry.unRegisterEPR("registry", "Registry Test ServiceName", epr);
 		} catch (RegistryException re) {
-			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			logger.error(re.getLocalizedMessage(), re);
 			assertTrue(false);
 		}
 	}
@@ -151,29 +149,29 @@
 		try {
 			Organization org = JAXRRegistryImpl.findOrganization("Red Hat/JBossESB");
 			//Listing out the services and their Bindings
-			logger.log(Priority.INFO, "-------------------------------------------------");
-			logger.log(Priority.INFO, "Organization name: " + org.getName().getValue());
-			logger.log(Priority.INFO, "Description: " + org.getDescription().getValue());
-			logger.log(Priority.INFO, "Key id: " + org.getKey().getId());
+			logger.debug("-------------------------------------------------");
+			logger.debug("Organization name: " + org.getName().getValue());
+			logger.debug("Description: " + org.getDescription().getValue());
+			logger.debug("Key id: " + org.getKey().getId());
 			User primaryContact = org.getPrimaryContact();
-			logger.log(Priority.INFO, "Primary Contact: " + primaryContact.getPersonName().getFullName());
+			logger.debug("Primary Contact: " + primaryContact.getPersonName().getFullName());
 			Collection services = org.getServices();
 			for (Iterator serviceIter = services.iterator();serviceIter.hasNext();) {
 				Service service = (Service) serviceIter.next();
-				logger.log(Priority.INFO, "- Service Name: " + service.getName().getValue());
-				logger.log(Priority.INFO, "  Service Key : " + service.getKey().getId());
+				logger.debug("- Service Name: " + service.getName().getValue());
+				logger.debug("  Service Key : " + service.getKey().getId());
 				Collection serviceBindings = service.getServiceBindings();
 				for (Iterator serviceBindingIter = serviceBindings.iterator();serviceBindingIter.hasNext();){
 					ServiceBinding serviceBinding = (ServiceBinding) serviceBindingIter.next();
-					logger.log(Priority.INFO, "  ServiceBinding Description: " + serviceBinding.getDescription().getValue());
+					logger.debug("  ServiceBinding Description: " + serviceBinding.getDescription().getValue());
 					String xml = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
-					logger.log(Priority.INFO, "  ServiceBinding URI: " + xml);
+					logger.debug("  ServiceBinding URI: " + xml);
 					assertEquals(EPRHelper.toXMLString(new EPR()),xml);
 				}
 			}
-			logger.log(Priority.INFO, "-------------------------------------------------");
+			logger.debug("-------------------------------------------------");
 	    } catch (Exception je) {
-			je.printStackTrace();
+	    	logger.error(je);
 			assertTrue(false);
 		}
     }
@@ -197,15 +195,15 @@
 			classifications.add(classification);
 			//Here I'd like to test filtering by this classification, but scout ignored the classification
 			String name=classificationScheme.getName().getValue();
-			System.out.println("Name=" + name);
+			logger.debug("Name=" + name);
 			Collection<String> nameParams = new ArrayList<String>();
 			//The name of the service is wild
 			nameParams.add("%");
 			BulkResponse bs = bqm.findServices(null, null,nameParams,classifications, null);
 			int status = bs.getStatus();
-			System.out.println("status=" + status);
+			logger.debug("status=" + status);
 		} catch (JAXRException je) {
-			je.printStackTrace();
+			logger.error(je);
 		}
 		finally{}
 	}
@@ -216,7 +214,6 @@
 	@BeforeClass
 	public static void runBeforeAllTests() throws Exception {
 		try {
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse();
 			//Set the juddi properties file in System so juddi will pick it up later and use the test values.
 			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-unittest.properties";
@@ -249,21 +246,19 @@
 			try {
 				Class.forName(mDbDriver);
 			} catch (Exception e) {
-				System.out.println("ERROR: failed to load " + database + " JDBC driver.");
-				e.printStackTrace();
+				logger.error("ERROR: failed to load " + database + " JDBC driver.", e);
 				return;
 			}
 			java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
 			Statement stmnt = con.createStatement();
-			System.out.println("Dropping the schema if exist");
+			logger.debug("Dropping the schema if exist");
 			stmnt.execute(sqlDropCmd);
-			System.out.println("Creating the juddi-schema");
+			logger.debug("Creating the juddi-schema");
 			stmnt.execute(sqlCreateCmd);
-			System.out.println("Adding the jbossesb publisher");
+			logger.debug("Adding the jbossesb publisher");
 			stmnt.execute(sqlInsertPubCmd);
 		} catch (Exception e) {
-			e.printStackTrace();
-			System.out.println("We should stop testing, since we don't have a db.");
+			logger.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -28,12 +28,11 @@
 
 import junit.framework.JUnit4TestAdapter;
 
-import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.message.format.MessageType;
 import org.jboss.soa.esb.services.routing.MessageRouterException;
-import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -44,6 +43,8 @@
  */
 public class JBossRulesRouterUnitTest
 {
+	private Logger log = Logger.getLogger( JBossRulesRouterUnitTest.class );
+	
 	@Test
 	public void routeSerializedMessage()
 	{
@@ -63,8 +64,7 @@
     		List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message);
     		assertEquals(destinationServices.iterator().next(),"serialized-destination");
         } catch (MessageRouterException mre) {
-            System.out.println("Exception was thrown.");
-            mre.printStackTrace();
+            log.error("Exception was thrown:", mre);
             assertTrue(false);
         }
 	}
@@ -88,8 +88,7 @@
     		List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message);
     		assertEquals(destinationServices.iterator().next(),"xml-destination");
         } catch (MessageRouterException mre) {
-            System.out.println("Exception was thrown.");
-            mre.printStackTrace();
+            log.error("Exception was thrown:", mre );
             assertTrue(false);
         }
 	}
@@ -97,7 +96,6 @@
 	@BeforeClass
 	public static void runBeforeAllTests() throws Exception 
 	{
-		DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
 	}
 	
 	public static junit.framework.Test suite() {

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -40,6 +40,7 @@
 
 import junit.framework.JUnit4TestAdapter;
 
+import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.persistence.manager.ConnectionManager;
 import org.jboss.soa.esb.common.Configuration;
 import org.jboss.soa.esb.message.Message;
@@ -59,7 +60,7 @@
 public class MessageStoreUnitTest
 {
 
-	// private static Logger log = Logger.getLogger(MessageStoreUnitTest.class);
+	private static Logger log = Logger.getLogger(MessageStoreUnitTest.class);
 
 	@Test
 	public void testDefaultMessageStore ()
@@ -199,7 +200,7 @@
 		}
 		catch (Exception e)
 		{
-			e.printStackTrace();
+			log.error( e );
 		}
 	}
 
@@ -223,7 +224,7 @@
 	public static void runBeforeAllTests ()
 	{
 		TestEnvironmentUtil.setESBPropertiesFileToUse();
-		System.out.println(Configuration.dump());
+		log.debug(Configuration.dump());
 		try
 		{
 			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver"))
@@ -246,8 +247,7 @@
 				}
 				catch (Exception e)
 				{
-					System.out.println("ERROR: failed to load " + database + " JDBC driver.");
-					e.printStackTrace();
+					log.error("ERROR: failed to load " + database + " JDBC driver.", e);
 					return;
 				}
 
@@ -255,17 +255,15 @@
 				assertEquals((mgr != null), true);
 				Connection con = mgr.getConnection();
 				Statement stmnt = con.createStatement();
-				System.out.println("Dropping the schema if exist");
+				log.debug("Dropping the schema if exist");
 				stmnt.execute(sqlDropCmd);
-				System.out.println("Creating the message store schema");
+				log.debug("Creating the message store schema");
 				stmnt.execute(sqlCreateCmd);
 			}
 		}
 		catch (Exception e)
-		{ // 
-//			e.printStackTrace();
-			System.out
-					.println("We should stop testing, since we don't have a db.");
+		{ 
+			log.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}
@@ -282,7 +280,7 @@
 		}
 		catch (Exception e)
 		{ // 
-			e.printStackTrace();
+			log.error( e );
 		}
 	}
 

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -36,7 +36,6 @@
 
 import org.apache.log4j.Logger;
 import org.apache.log4j.Priority;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.testutils.FileUtil;
 import org.jboss.soa.esb.testutils.HsqldbUtil;
@@ -59,7 +58,7 @@
 	private static final String SERVICE_NAME = "Kurts Travel Agency";
 	private static final String CATEGORY = "travel";
 	
-	private Logger logger = Logger.getLogger(this.getClass());
+	private static Logger logger = Logger.getLogger(RegistryUnitTest.class);
 	
 	/**
 	 * Testing the registering of an EPR.
@@ -163,7 +162,6 @@
 	@BeforeClass
 	public static void runBeforeAllTests() {
 		try {
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse();
 			//Set the juddi properties file in System so juddi will pick it up later and use the test values.
 			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-unittest.properties";
@@ -196,21 +194,19 @@
 			try {
 				Class.forName(mDbDriver);
 			} catch (Exception e) {
-				System.out.println("ERROR: failed to load " + database + " JDBC driver.");
-				e.printStackTrace();
+				logger.error("ERROR: failed to load " + database + " JDBC driver.", e);
 				return;
 			}
 			java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
 			Statement stmnt = con.createStatement();
-			System.out.println("Dropping the schema if exist");
+			logger.debug("Dropping the schema if exist");
 			stmnt.execute(sqlDropCmd);
-			System.out.println("Creating the juddi-schema");
+			logger.debug("Creating the juddi-schema");
 			stmnt.execute(sqlCreateCmd);
-			System.out.println("Adding the jbossesb publisher");
+			logger.debug("Adding the jbossesb publisher");
 			stmnt.execute(sqlInsertPubCmd);
 		} catch (Exception e) {
-			e.printStackTrace();
-			System.out.println("We should stop testing, since we don't have a db.");
+			logger.error("We should stop testing, since we don't have a db.", e);
 			assertTrue(false);
 		}
 	}
@@ -229,4 +225,5 @@
 		return new JUnit4TestAdapter(RegistryUnitTest.class);
 	}
 
-}
+	}
+	
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java	2007-05-08 09:05:54 UTC (rev 11741)
+++ labs/jbossesb/workspace/dbevenius/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java	2007-05-08 09:12:40 UTC (rev 11742)
@@ -28,7 +28,7 @@
 
 import junit.framework.JUnit4TestAdapter;
 
-import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.message.format.MessageType;
@@ -43,6 +43,8 @@
  */
 public class ContentBasedRoutingUnitTest
 {
+	private static Logger log = Logger.getLogger( ContentBasedRoutingUnitTest.class );
+	
 	@Test
 	public void routeSerializedMessage()
 	{
@@ -62,7 +64,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules.drl",false,message);
 			assertEquals(destinationServices.iterator().next(),"serialized-destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 			assertTrue(false);
 		}
 	}
@@ -86,7 +88,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules.drl",false,message);
 			assertEquals(destinationServices.iterator().next(),"xml-destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 	}
 	
@@ -109,7 +111,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
 			assertEquals(destinationServices.iterator().next(),"XML_XPath_Destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 	}
 	
@@ -126,7 +128,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
 			assertEquals(destinationServices.iterator().next(),"XML_XPath_Dave_Destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 	}
 	
@@ -143,7 +145,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
 			assertEquals(destinationServices.iterator().next(),"XML_XPath_GreaterThan_Destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 	}
 	
@@ -160,7 +162,7 @@
 			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
 			assertEquals(destinationServices.iterator().next(),"XML_XPath_LessThan_Destination");
 		} catch (MessageRouterException e) {
-			e.printStackTrace();
+			log.error(e);
 		}
 	}
 	
@@ -168,11 +170,9 @@
 	public static void runBeforeAllTests() throws Exception 
 	{
 		try {
-			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
 			TestEnvironmentUtil.setESBPropertiesFileToUse();
 		} catch (Exception e) {
-			e.printStackTrace();
-			System.out.println("We should stop testing, since we don't any config properties");
+			log.error("We should stop testing, since we don't any config properties", e);
 			assertTrue(false);
 		}
 	}

Added: labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/dev/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/dev/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/product/etc/test/resources/log4j/dev/log4j.xml	2007-05-08 09:12:40 UTC (rev 11742)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+   
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="./unittest.log"/>
+      <param name="Append" value="false"/>
+      
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+      
+      <!-- Rollover at the top of each hour
+         <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+         
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+            <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+         -->
+      </layout>
+   </appender>
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit JBoss categories -->
+   <category name="org.jboss">
+      <priority value="DEBUG"/>
+   </category>
+
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.milyn.delivery.SmooksXML">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.milyn.delivery.serialize.Serializer">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.milyn.cdr.XMLConfigDigester">
+      <priority value="INFO"/>
+   </category>
+	
+   <category name="org.hsqldb">
+      <priority value="INFO"/>
+   </category>
+	
+   <category name="org.jboss.soa.esb.testutils.HsqldbUtil">
+      <priority value="DEBUG"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+ 
+</log4j:configuration>




More information about the jboss-svn-commits mailing list