[jboss-svn-commits] JBL Code SVN: r13948 - in labs/jbossesb/trunk/product/rosetta: tests/src/org/jboss/soa/esb/listeners/message and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 2 02:23:17 EDT 2007


Author: beve
Date: 2007-08-02 02:23:17 -0400 (Thu, 02 Aug 2007)
New Revision: 13948

Added:
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java
Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
Log:
Added a unit test for ServiceMessageCouter and also extracted and created the method getObjectName.
I had a minor issue where my configuration was causing an invalid ObjectName to be generated and 
and exception thrown.


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java	2007-08-02 01:30:09 UTC (rev 13947)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java	2007-08-02 06:23:17 UTC (rev 13948)
@@ -263,42 +263,7 @@
 			return;
 		}
 		
-		ObjectName listObjectName = null;
-		try {
-			String categoryName = m_config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
-			String serviceName = m_config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
-			String listenerName = m_config.getName();
-
-			StringBuffer objectName = new StringBuffer("category=MessageCounter,");
-			if (categoryName != null) {
-				objectName.append(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG + "=" + categoryName);
-			}
-			
-			if (serviceName != null) {
-				if (objectName.length() > 0) {
-					objectName.append(",");
-				}
-				objectName.append(ListenerTagNames.SERVICE_NAME_TAG + "=" + serviceName);
-			}
-			
-			if (listenerName != null) {
-				if (objectName.length() > 0) {
-					objectName.append(",");
-				}
-				if ("true".equals(m_config.getAttribute(ListenerTagNames.IS_GATEWAY_TAG))) {
-					objectName.append("gateway-name=" + listenerName);
-				} else {
-					objectName.append("listener-name=" +  listenerName);					
-				}
-				
-			}
-			
-			listObjectName = new ObjectName("jboss.esb:" + objectName.toString());
-		} catch (MalformedObjectNameException e1) {
-			e1.printStackTrace();
-		} catch (NullPointerException e1) {
-			e1.printStackTrace();
-		}
+		ObjectName listObjectName = getObjectName();
 		
 		if (mbeanServer.isRegistered(listObjectName)) {
 	    	try {
@@ -341,4 +306,45 @@
 			actionFailedCounterHash.put(actionName + " " + FAILED_MESSAGE_COUNTER, count);
 		}		
 	}
+	
+	protected ObjectName getObjectName()
+	{
+		ObjectName listObjectName = null;
+		try {
+			String categoryName = m_config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
+			String serviceName = m_config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+			String listenerName = m_config.getName();
+
+			StringBuffer objectName = new StringBuffer("category=MessageCounter");
+			if (categoryName != null) {
+				objectName.append(",").append(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG).append("=").append(categoryName);
+			}
+			
+			if (serviceName != null) {
+				if (objectName.length() > 0) {
+					objectName.append(",");
+				}
+				objectName.append(ListenerTagNames.SERVICE_NAME_TAG).append("=").append(serviceName);
+			}
+			
+			if (listenerName != null) {
+				if (objectName.length() > 0) {
+					objectName.append(",");
+				}
+				if ("true".equals(m_config.getAttribute(ListenerTagNames.IS_GATEWAY_TAG))) {
+					objectName.append("gateway-name=").append(listenerName);
+				} else {
+					objectName.append("listener-name=").append(listenerName);					
+				}
+				
+			}
+			
+			listObjectName = new ObjectName("jboss.esb:" + objectName.toString());
+		} catch (MalformedObjectNameException e1) {
+			e1.printStackTrace();
+		} catch (NullPointerException e1) {
+			e1.printStackTrace();
+		}
+		return listObjectName;
+	}
 }

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java	2007-08-02 06:23:17 UTC (rev 13948)
@@ -0,0 +1,70 @@
+/*
+ * 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.message;
+
+import javax.management.ObjectName;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.junit.Test;
+
+/**
+ * Unit test for ServiceMessageCounter
+ * 
+ * @author <a href="mailto:daniel.bevenius at redpill.se">Daniel Bevenius</a>				
+ *
+ */
+public class ServiceMessageCounterUnitTest
+{
+	private Logger log = Logger.getLogger( ServiceMessageCounterUnitTest.class );
+	
+	@Test
+	public void getObjectName()
+	{
+		ConfigTree config = createConfigTreeForScheduler();
+		log.debug( config );
+		
+		ServiceMessageCounter counter = new ServiceMessageCounter( config );
+		ObjectName objectName = counter.getObjectName();
+		log.debug( objectName );
+	}
+	
+	private ConfigTree createConfigTreeForScheduler()
+	{
+		ConfigTree config = new ConfigTree( "cronScheduleListener" );
+		config.setAttribute( "composer", "class");
+		config.setAttribute( "listenerClass", "org.jboss.soa.esb.listeners.ScheduleListener" );
+		config.setAttribute( "scheduleidref", "cronTrigger");
+		return config;
+	}
+	
+	/*
+	 * Just here to help Ant to find annotated test.
+	 */
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter( ServiceMessageCounterUnitTest.class );
+	}	
+
+}




More information about the jboss-svn-commits mailing list