[jboss-svn-commits] JBL Code SVN: r26625 - 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
Wed May 20 03:11:43 EDT 2009
Author: beve
Date: 2009-05-20 03:11:43 -0400 (Wed, 20 May 2009)
New Revision: 26625
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java
Log:
Work for https://jira.jboss.org/jira/browse/JBESB-2522 "twiddle get for ServiceMessageCounter causes NPE"
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 2009-05-19 19:05:13 UTC (rev 26624)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java 2009-05-20 07:11:43 UTC (rev 26625)
@@ -314,10 +314,10 @@
for (String key : actionProcessTimeHash.keySet()) {
long processTotal = actionProcessTimeHash.get(key).value;
String actionId = key.substring(0, key.indexOf(PROCESSING_TIME));
- int successCount = actionCounterHash.get(actionId + " " + MESSAGE_COUNTER).value;
+ IntHolder successCount = actionCounterHash.get(actionId + " " + MESSAGE_COUNTER);
String avgTime = null;
- if (successCount > 0) {
- avgTime = ((double) processTotal / successCount) + " ns";
+ if (successCount != null && successCount.value > 0 ) {
+ avgTime = ((double) processTotal / successCount.value) + " ns";
}
Attribute at = new Attribute(key, avgTime);
attributeList.add(at);
Modified: 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 2009-05-19 19:05:13 UTC (rev 26624)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounterUnitTest.java 2009-05-20 07:11:43 UTC (rev 26625)
@@ -21,37 +21,67 @@
*/
package org.jboss.soa.esb.listeners.message;
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import javax.management.AttributeList;
+import javax.management.AttributeNotFoundException;
+import javax.management.MBeanException;
import javax.management.ObjectName;
+import javax.management.ReflectionException;
import junit.framework.JUnit4TestAdapter;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.Before;
import org.junit.Test;
/**
* Unit test for ServiceMessageCounter
*
- * @author <a href="mailto:daniel.bevenius at redpill.se">Daniel Bevenius</a>
+ * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
*
*/
public class ServiceMessageCounterUnitTest
{
- private Logger log = Logger.getLogger( ServiceMessageCounterUnitTest.class );
-
+ private ServiceMessageCounter counter;
+
+ @Before
+ public void setup() throws LifecycleResourceException
+ {
+ final ConfigTree config = createConfigTreeForScheduler();
+ counter = ServiceMessageCounterLifecycleResource.getServiceMessageCounter(config);
+ }
@Test
- public void getObjectName()
- throws LifecycleResourceException
+ public void getObjectName() throws LifecycleResourceException
{
- ConfigTree config = createConfigTreeForScheduler();
- log.debug( config );
-
- ServiceMessageCounter counter = ServiceMessageCounterLifecycleResource.getServiceMessageCounter(config);
- ObjectName objectName = counter.getObjectName();
- log.debug( objectName );
+ final ObjectName objectName = counter.getObjectName();
+ assertEquals("jboss.esb:category=MessageCounter,deployment=ID-DEFAULT", objectName.getCanonicalName());
}
+ /**
+ * Test for JIRA: https://jira.jboss.org/jira/browse/JBESB-2522
+ */
+ @Test
+ public void getAttributesMissingKey() throws LifecycleResourceException, AttributeNotFoundException, MBeanException, ReflectionException
+ {
+ counter.update(new ActionStatusBean(100l, 0, MessageFactory.getInstance().getMessage(), ActionStatusBean.ACTION_SENT));
+
+ try
+ {
+ counter.getAttributes(new String[] {"boguskey"});
+ }
+ catch (final NullPointerException e)
+ {
+ e.printStackTrace();
+ fail("getAttributes should not throw NPE if key does not exist. Exception was : " + e.getMessage());
+ }
+ }
+
private ConfigTree createConfigTreeForScheduler()
{
ConfigTree parent = new ConfigTree("parent");
@@ -62,7 +92,10 @@
config.setAttribute( "listenerClass", "org.jboss.soa.esb.listeners.ScheduleListener" );
config.setAttribute( "scheduleidref", "cronTrigger");
- return config;
+ ConfigTree action = new ConfigTree(ListenerTagNames.ACTION_ELEMENT_TAG, parent);
+ action.setAttribute("name", "testAction");
+
+ return parent;
}
/*
More information about the jboss-svn-commits
mailing list