[jboss-svn-commits] JBL Code SVN: r8404 - in labs/jbossesb/trunk/product/core/listeners: src/org/jboss/soa/esb/listeners tests/src/org/jboss/soa/esb/listeners

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 19 09:49:43 EST 2006


Author: kevin.conner at jboss.com
Date: 2006-12-19 09:49:39 -0500 (Tue, 19 Dec 2006)
New Revision: 8404

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerManagerFactory.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerUnitTest.java
Log:
Fixed more platform specific issues

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerManagerFactory.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerManagerFactory.java	2006-12-19 13:44:33 UTC (rev 8403)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerManagerFactory.java	2006-12-19 14:49:39 UTC (rev 8404)
@@ -1,6 +1,7 @@
 package org.jboss.soa.esb.listeners;
 
 import org.jboss.internal.soa.esb.listeners.DefaultListenerManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class ListenerManagerFactory 
 {
@@ -14,4 +15,10 @@
 	{
 		return new DefaultListenerManager(parametersName);
 	}
+	
+	public ListenerManager getListenerManager(ConfigTree tree)
+		throws Exception
+	{
+		return new DefaultListenerManager(tree);
+	}
 }

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2006-12-19 13:44:33 UTC (rev 8403)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2006-12-19 14:49:39 UTC (rev 8404)
@@ -70,6 +70,29 @@
 	{
 		ListenerManager manager = ListenerManagerFactory.getInstance()
 				.getListenerManager(parametersName);
+		return launchManager(manager, inNewThread) ;
+	}
+
+	/**
+	 * ListenerManager Launcher.
+	 * 
+	 * @param parametersName
+	 *            String - used to retrieve the ConfigTree with run time
+	 *            configuration values
+	 * @param inNewThread
+	 *            boolean - if 'true' will launch the ListenerManager in a new
+	 *            thread, and wait until controlled listeners are up and running
+	 *            <br/> if false, will instantiate and run the Controller in
+	 *            current thread - flow control will only return to invoker once
+	 *            the controller's run() method has finished
+	 * @return ListenerManager
+	 * @throws Exception
+	 */
+	public static ListenerManager launchManager(ConfigTree tree,
+			boolean inNewThread) throws Exception
+	{
+		ListenerManager manager = ListenerManagerFactory.getInstance()
+				.getListenerManager(tree);
 		if (inNewThread)
 		{
 			new Thread(manager).start();
@@ -84,6 +107,23 @@
 		}
 		return manager;
 	} // ________________________________
+	
+	private static ListenerManager launchManager(final ListenerManager manager, final boolean inNewThread)
+	{
+		if (inNewThread)
+		{
+			new Thread(manager).start();
+		}
+		else
+		{
+			StringBuilder sb = new StringBuilder(
+					"You are running a ListenerManager in your own thread")
+					.append(" - It won't return until it's run() method ends");
+			_logger.warn(sb.toString());
+			manager.run();
+		}
+		return manager;
+	} // ________________________________
 
 	public static EPR tryToDeliver(Message message, String category, String name)
 			throws Exception

Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerUnitTest.java	2006-12-19 13:44:33 UTC (rev 8403)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerUnitTest.java	2006-12-19 14:49:39 UTC (rev 8404)
@@ -106,14 +106,12 @@
 		final String tmpDirForm = tmpDir.toURL().toExternalForm() ;
 		
 		ConfigTree eprElement = tree.getAllChildren()[0].getFirstChild("EPR");
-		eprElement.setAttribute("URL", tmpDirForm) ;
+		eprElement.setAttribute(ListenerTagNames.URL_TAG, tmpDirForm) ;
 		
 		EPR toEPR = ListenerUtil.assembleEpr(eprElement);
 		
 		if (toEPR instanceof FileEpr)
 		{
-			toEPR.setAddr(new PortReference(tmpDirForm));
-
 			// take inputSuffix as outputSuffix for initial message sending
 			eprElement.setAttribute(FileEpr.POST_SUFFIX_TAG, eprElement
 					.getAttribute(FileEpr.INPUT_SUFFIX_TAG));
@@ -144,7 +142,11 @@
 		_returnFile.delete();
 		
 		// launch listener manager in a child thread
-		_manager = ListenerUtil.launchManager(configFile, true);
+		final ConfigTree newTree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		final ConfigTree newTreeEPRElement = newTree.getAllChildren()[0].getFirstChild("EPR");
+		newTreeEPRElement.setAttribute(ListenerTagNames.URL_TAG, tmpDirForm) ;
+		_manager = ListenerUtil.launchManager(newTree, true);
 		_logger.debug("Waiting for all child listeners to start");
 		_manager.waitUntilReady();
 		_logger.debug(" All child listeners ready");
@@ -253,14 +255,8 @@
 		return new JUnit4TestAdapter(ListenerManagerUnitTest.class);
 	}
 
-	private static boolean isWindows()
-	{
-		return System.getProperty("os.name").toLowerCase().contains("windows");
-	}
+	private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
 
-	private static final String TMP_DIR = System.getProperty("java.io.tmpdir",
-			"/tmp");
-
 	private static Logger _logger = Logger
 			.getLogger(ListenerManagerUnitTest.class);
 




More information about the jboss-svn-commits mailing list