[jboss-svn-commits] JBL Code SVN: r36947 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 18 14:18:15 EDT 2011


Author: tcunning
Date: 2011-04-18 14:18:15 -0400 (Mon, 18 Apr 2011)
New Revision: 36947

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitor.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitoringAction.java
Log:
JBESB-3602
Create a new MonitoringPatternBean to add to the monitoredEvents collection -
pass-by-reference bug.     Also fixed spacing/tabs in MVELMonitor.java and
MVELMonitoringAction.java.


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitor.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitor.java	2011-04-18 16:44:58 UTC (rev 36946)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitor.java	2011-04-18 18:18:15 UTC (rev 36947)
@@ -61,30 +61,32 @@
 		monitoredEvents = new ArrayList();
 	}
 
-	public void addEvent(Message message, MonitoringPatternBean mpb) {
-		mpb.setMessageString(message.toString());
-		monitoredEvents.add(mpb);
+	public void addEvent(final Message message, final MonitoringPatternBean mpb) {
+	    MonitoringPatternBean localBean = new MonitoringPatternBean(mpb.getName(),
+	        mpb.getPattern(), mpb.getConditional());
+	    localBean.setMessageString(message.toString());
+	    monitoredEvents.add(localBean);
 	}
 	
 	protected void registerMBean() throws InstanceAlreadyExistsException, 
 		InstanceNotFoundException, MBeanRegistrationException, MBeanRegistrationException,
 		MalformedObjectNameException, NotCompliantMBeanException {
-        MBeanServer mbeanServer = null;
-        try {
-        	mbeanServer = MBeanServerLocator.locateJBoss();
-        } catch (IllegalStateException ise) {
-        	// If we can't find a JBoss MBeanServer, just return
-        	// Needed for unit tests
-        	return;
-        }
+            MBeanServer mbeanServer = null;
+            try {
+            	mbeanServer = MBeanServerLocator.locateJBoss();
+            } catch (IllegalStateException ise) {
+            	// If we can't find a JBoss MBeanServer, just return
+            	// Needed for unit tests
+            	return;
+            }
 
-        ObjectName listObjectName = getObjectName();
+            ObjectName listObjectName = getObjectName();
 
-        if (mbeanServer.isRegistered(listObjectName)) {
+            if (mbeanServer.isRegistered(listObjectName)) {
         	mbeanServer.unregisterMBean(listObjectName);
-        }
+            }
         
-        mbeanServer.registerMBean(this, listObjectName);
+            mbeanServer.registerMBean(this, listObjectName);
 	}
 	
 	protected ObjectName getObjectName() throws MalformedObjectNameException {

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitoringAction.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitoringAction.java	2011-04-18 16:44:58 UTC (rev 36946)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/monitoring/MVELMonitoringAction.java	2011-04-18 18:18:15 UTC (rev 36947)
@@ -51,7 +51,7 @@
 	
 	private static final String BEANSHELL_VARIABLE = "beanshellVar";
 	
-    private MVELMonitor mvelMonitor;
+	private MVELMonitor mvelMonitor;
 	
 	ArrayList <MonitoringPatternBean> list = null;
 	
@@ -66,58 +66,58 @@
 		this._config = config;
 
 		ConfigTree[] configTree = _config.getChildren(MONITOR_VALUE);
-        if (null == configTree || configTree.length < 1)
-        {
-            logger.warn("Missing or empty destination list - This action class won't have any effect");
-            return;        
-        }
+		if (null == configTree || configTree.length < 1) {
+		    logger.warn("Missing or empty destination list - This action class won't have any effect");
+                    return;        
+                }
 
-        list = new ArrayList<MonitoringPatternBean>();
+		list = new ArrayList<MonitoringPatternBean>();
         
-        for (ConfigTree curr : configTree)
-        {
-            try
-            {
-                String pattern = curr.getAttribute(MVEL_PATTERN, "");
-                String name = curr.getAttribute(PATTERN_NAME, "");
-                String conditional = curr.getAttribute(PATTERN_CONDITIONAL, "");
-                list.add(new MonitoringPatternBean(pattern, name, conditional));
+		for (ConfigTree curr : configTree) {
+		    try
+		    {
+                        String pattern = curr.getAttribute(MVEL_PATTERN, "");
+                        String name = curr.getAttribute(PATTERN_NAME, "");
+                        String conditional = curr.getAttribute(PATTERN_CONDITIONAL, "");
+                        list.add(new MonitoringPatternBean(pattern, name, conditional));
+		    }
+                    catch (Exception e)
+                    {
+                        logger.error("Could not form MonitoringPatternBean from configuration ", e);
+                        throw new RuntimeException(e);
+                    }
             }
-            catch (Exception e)
-            {
-            	e.printStackTrace();
-            }
-        }
         
-        mvelMonitor = new MVELMonitor(config);        
-        try {
+            mvelMonitor = new MVELMonitor(config);        
+            try {
         	mvelMonitor.registerMBean();
-        } catch (Exception e) {
-        	e.printStackTrace();
-        }
+            } catch (Exception e) {
+                logger.error("Could not register MBean", e);
+                throw new RuntimeException(e);
+            }
 	}
 	
 	public Message process(Message message) throws ActionProcessingException {
-		if (list != null) {
-			for (int i = 0; i<list.size(); i++) {
-				MonitoringPatternBean mpb = list.get(i);
-				String object = null;
+	    if (list != null) {
+	        for (int i = 0; i<list.size(); i++) {
+	            MonitoringPatternBean mpb = list.get(i);
+	            String object = null;
 	            ObjectMapper mapper = new ObjectMapper();
 	            try {
-					object = (String) mapper.getObjectFromMessage(message, mpb.getPattern());
-					Interpreter inter = new Interpreter();
-					inter.eval(BEANSHELL_VARIABLE + " = " + object + mpb.getConditional());
-					Boolean b = (Boolean)inter.get(BEANSHELL_VARIABLE);
-					if (b.booleanValue()) {
-						mvelMonitor.addEvent(message, mpb);
-					}
+			object = (String) mapper.getObjectFromMessage(message, mpb.getPattern());
+			Interpreter inter = new Interpreter();
+			inter.eval(BEANSHELL_VARIABLE + " = " + object + mpb.getConditional());
+			Boolean b = (Boolean)inter.get(BEANSHELL_VARIABLE);
+			if (b.booleanValue()) {
+			    mvelMonitor.addEvent(message, mpb);
+			}
 	            } catch (ObjectMappingException e1) {
-					throw new ActionProcessingException(e1);
-				} catch (EvalError e) {
-					throw new ActionProcessingException(e);
-				}
-			}
-		}			
-		return message;
+			throw new ActionProcessingException(e1);
+	            } catch (EvalError e) {
+	                throw new ActionProcessingException(e);
+	            }
+	        }
+	    }			
+	    return message;
 	}
 }



More information about the jboss-svn-commits mailing list