[jboss-svn-commits] JBL Code SVN: r20458 - in labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src: main/java/org/jboss/internal/soa/esb/services/rules and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 13 04:26:03 EDT 2008


Author: beve
Date: 2008-06-13 04:26:03 -0400 (Fri, 13 Jun 2008)
New Revision: 20458

Added:
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java
Modified:
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java
   labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/resources/log4j.xml
Log:
Modified BusinessRuleProcessor to call RuleService and add a global Message object and not a global destination.


Modified: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java	2008-06-13 06:46:09 UTC (rev 20457)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java	2008-06-13 08:26:03 UTC (rev 20458)
@@ -21,7 +21,10 @@
  */
 package org.jboss.internal.soa.esb.services.routing.cbr;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.services.rules.DroolsRuleService;
@@ -149,25 +152,27 @@
     		
     		boolean stateful = Boolean.valueOf( configTree.getAttribute( "stateful" ) );
     		boolean dispose = Boolean.valueOf( configTree.getAttribute( "dispose", "true" ) );
+    		Map<String,Object> globals = new HashMap<String,Object>();
+    		List<String> destinations = new ArrayList<String>();
+    		globals.put( "destinations", destinations );
     		
 			Message routeMessage;
     		if ( ruleSet.endsWith( ".xls" ) || ruleSet.endsWith( ".csv" ) )
     		{
     			if ( stateful )
-    				routeMessage = ruleService.executeStatefulRulesFromDecisionTable( ruleSet, ruleReload, dispose, message, objectList );
+    				routeMessage = ruleService.executeStatefulRulesFromDecisionTable( ruleSet, ruleReload, dispose, message, globals, objectList );
     			else
-        			routeMessage = ruleService.executeStatelessRulesFromDecisionTable( ruleSet, ruleReload, message, objectList );
+        			routeMessage = ruleService.executeStatelessRulesFromDecisionTable( ruleSet, ruleReload, message, globals, objectList );
     		}
     		else
     		{
     			if ( stateful )
-    				routeMessage = ruleService.executeStatefulRules( ruleSet, ruleLanguage, ruleReload, dispose, message, objectList );
+    				routeMessage = ruleService.executeStatefulRules( ruleSet, ruleLanguage, ruleReload, dispose, message, globals, objectList );
     			else
-        			routeMessage = ruleService.executeStatelessRules( ruleSet, ruleLanguage, ruleReload, message, objectList );
+        			routeMessage = ruleService.executeStatelessRules( ruleSet, ruleLanguage, ruleReload, message, globals, objectList );
     		}
 			
-			@SuppressWarnings("unchecked")
-			List<String> destinations = (List<String>) routeMessage.getBody().get( "destinations" );
+			routeMessage.getBody().add( "destinations", destinations );
 			return destinations;
 		} 
 		catch (final RuleServiceException e)

Modified: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java	2008-06-13 06:46:09 UTC (rev 20457)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java	2008-06-13 08:26:03 UTC (rev 20458)
@@ -26,6 +26,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.log4j.Logger;
@@ -106,13 +108,14 @@
 			final String dsl,
 			final boolean ruleReload, 
 			Message message, 
+			final Map<String,Object> globals,
 			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 
 		try {
 			RuleBase ruleBase = getRuleBaseForFileBasedRules(ruleSet, dsl, ruleReload);
-			message = executeStatelessRules(ruleBase, message, objectList);
+			message = executeStatelessRules(ruleBase, message, globals, objectList);
 
 			updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED );
 
@@ -143,13 +146,14 @@
 			final String decisionTable,
 			final boolean ruleReload, 
 			Message message, 
+			final Map<String,Object> globals,
 			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 
 		try {
 			RuleBase ruleBase = getRuleBaseForDecisionTable(decisionTable, ruleReload);
-			message = executeStatelessRules(ruleBase, message, objectList);
+			message = executeStatelessRules(ruleBase, message, globals, objectList);
 
 			updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
 
@@ -177,17 +181,18 @@
 	public Message executeStatelessRulesFromRuleAgent(
 			final String ruleAgentProperties, 
 			Message message, 
+			final Map<String,Object> globals,
 			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 		try {
 			DroolsRuleBaseHelper rbHelper = new DroolsRuleBaseHelper();
-			RuleBase ruleBase = rbHelper .loadRuleBaseFromRuleAgent(ruleAgentProperties);
+			RuleBase ruleBase = rbHelper.loadRuleBaseFromRuleAgent(ruleAgentProperties);
 			final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource();
 			if (ruleBase != null) {
 				ruleBases.put(ruleAgentProperties, ruleBase);
 
-				message = executeStatelessRules(ruleBase, message, objectList);
+				message = executeStatelessRules(ruleBase, message, globals, objectList);
 
     			updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
 			}
@@ -233,13 +238,14 @@
 			final boolean ruleReload, 
 			final boolean dispose, 
 			Message message,
+			final Map<String,Object> globals,
 			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 
 		try {
 			RuleBase ruleBase = getRuleBaseForFileBasedRules(ruleSet, dsl, ruleReload);
-			message = executeStatefulRules(ruleBase, dispose, message, objectList);
+			message = executeStatefulRules(ruleBase, dispose, message, globals, objectList);
 
 			updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED);
 
@@ -268,15 +274,19 @@
 	 * 
 	 * @return Message with updated objects.
 	 */
-	public Message executeStatefulRulesFromDecisionTable(String decisionTable,
-			boolean ruleReload, boolean dispose, Message message,
-			List<Object> objectList) throws RuleServiceException {
+	public Message executeStatefulRulesFromDecisionTable(
+			final String decisionTable,
+			final boolean ruleReload, 
+			final boolean dispose, 
+			Message message,
+			final Map<String,Object> globals,
+			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 
 		try {
 			RuleBase ruleBase = getRuleBaseForDecisionTable(decisionTable, ruleReload);
-			message = executeStatefulRules(ruleBase, dispose, message, objectList);
+			message = executeStatefulRules(ruleBase, dispose, message, globals, objectList);
 
 			updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
 
@@ -304,8 +314,11 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatefulRulesFromRuleAgent(
-			String ruleAgentProperties, boolean dispose, Message message,
-			List<Object> objectList) throws RuleServiceException {
+			final String ruleAgentProperties, 
+			final boolean dispose, 
+			Message message,
+			final Map<String,Object> globals,
+			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
 		try {
@@ -316,7 +329,7 @@
 			if (ruleBase != null) {
 				ruleBases.put(ruleAgentProperties, ruleBase);
 
-				message = executeStatefulRules(ruleBase, dispose, message, objectList);
+				message = executeStatefulRules(ruleBase, dispose, message, globals, objectList);
 
     			updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
 			}
@@ -355,6 +368,7 @@
 			final String rules,
 			final boolean dispose, 
 			Message message, 
+			Map<String,Object> globals,
 			final List<Object> objectList) throws RuleServiceException {
 		
 		long startTime = System.nanoTime();
@@ -527,6 +541,8 @@
 	 * @param objectList -
 	 * 			a list with additional objects (typically pulled from the message)
 	 * 			to be inserted into working memory
+	 * @param globals -
+	 *            Map of globals variables that should be set in the working memory
 	 * 
 	 * @return Message -
 	 * 			with updated objects.
@@ -535,6 +551,7 @@
 	protected Message executeStatelessRules(
 			final RuleBase ruleBase, 
 			final Message message,
+			final Map<String,Object> globals,
 			final List<Object> objectList) {
 		
 		StatelessSession workingMemory = ruleBase.newStatelessSession();
@@ -544,15 +561,15 @@
 		//	always add the message to the facts
 		facts.add(message);
 		
-		workingMemory.setGlobal(MESSAGE, message);
+		if ( globals != null )
+		{
+			Set<Entry<String, Object>> entrySet = globals.entrySet();
+			for ( Entry<String, Object> entry : entrySet )
+				workingMemory.setGlobal( entry.getKey(), entry.getValue() );
+		}
 		
-        List<String> destinations = new ArrayList<String>();
-        workingMemory.setGlobal(DESTINATIONS, destinations);
-		
 		workingMemory.execute(facts);
 		
-		message.getBody().add( DESTINATIONS, destinations );
-		
 		return message;
 	}
 	
@@ -565,6 +582,8 @@
 	 *            the rulebase to use
 	 * @param message -
 	 *            Message that is updated with the results.
+	 * @param globals -
+	 *            Map of globals variables that should be set in the working memory
 	 * @param objectList -
 	 *            a list with additional objects (typically pulled from the message)
 	 *            to be inserted into working memory
@@ -575,31 +594,27 @@
 			final RuleBase ruleBase, 
 			final boolean dispose,
 			final Message message, 
-			final List<Object> objectList) {
+			final Map<String,Object> globals,
+			final List<Object> objectList) 
+	{
 
 		StatefulSession statefulSession = ruleBase.newStatefulSession();
 
-		Map<String,Class> globals = getAllGlobals( ruleBase );
-		if ( globals.containsKey( MESSAGE ) )
-    		statefulSession.setGlobal(MESSAGE, message);
+		if ( globals != null )
+		{
+			Set<Entry<String, Object>> entrySet = globals.entrySet();
+			for ( Entry<String, Object> entry : entrySet )
+				statefulSession.setGlobal( entry.getKey(), entry.getValue() );
+		}
 		
 		statefulSession.insert( message );
 		
-        List<String> destinations = new ArrayList<String>();
-		boolean useDestinations = globals.containsKey( DESTINATIONS );
-		if ( useDestinations )
-            statefulSession.setGlobal( DESTINATIONS, destinations );
-
 		insertObjectsIntoWorkingMemory( objectList, statefulSession );
 
 		statefulSession.fireAllRules();
 
-		if ( useDestinations )
-    		message.getBody().add( DESTINATIONS, destinations );
-
-		if ( dispose ) {
+		if ( dispose ) 
 			statefulSession.dispose();
-		}
 		
 		return message;
 	}

Modified: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java	2008-06-13 06:46:09 UTC (rev 20457)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java	2008-06-13 08:26:03 UTC (rev 20458)
@@ -27,25 +27,39 @@
  */
 package org.jboss.soa.esb.actions;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import org.jboss.internal.soa.esb.services.rules.DroolsRuleService;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceFactory;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.mapping.ObjectMappingException;
 import org.jboss.soa.esb.services.registry.RegistryException;
 import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.services.rules.RuleService;
 
+/**
+ * BusinessRulesProcessor
+ * 
+ * @author John Doe
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
 public class BusinessRulesProcessor extends ContentBasedRouter
 {
+	private ConfigTree configTree;
+	
 	public BusinessRulesProcessor(ConfigTree config) throws ConfigurationException, RegistryException, MessageRouterException
 	{
         super(config);
+        this.configTree = config;
 	}
 	/** 
      * Inspect the content of the message using a rule set 
-     * Router the message to one or more destinations, using the ContentBasedRouter to figure out
-     * to which destinations it is going to be routed too. 
      *  
      * @param message
      * @return Message
@@ -53,16 +67,61 @@
 	 */
 	public Message process(Message message) throws ActionProcessingException
 	{
-        try {
+        try 
+        {
             List<Object> objectList = _mapper.createObjectList(message, _messagePathList);
-            _cbr.route(_ruleSet, _ruleLanguage, _ruleReload, message, objectList);
-        } catch (ObjectMappingException ome) {
+            executeRulesService( message, objectList );
+        } 
+        catch (ObjectMappingException ome) 
+        {
             throw new ActionProcessingException(ome.getMessage(), ome);
-        } catch (MessageRouterException mre) {
+        } 
+        catch (MessageRouterException mre) 
+        {
             throw new ActionProcessingException(mre.getMessage(), mre);
         }
 		return message;
 	}
+	
+	/**
+	 * 
+	 * @param message
+	 * @param objectList
+	 * @throws MessageRouterException
+	 */
+	private void executeRulesService( final Message message, final List<Object> objectList) throws MessageRouterException
+	{
+		try
+		{
+    		RuleService ruleService = RuleServiceFactory.getRuleService( DroolsRuleService.class.getName() );
+    		ruleService.setConfigTree( configTree );
+    		
+    		boolean stateful = Boolean.valueOf( configTree.getAttribute( "stateful" ) );
+    		boolean dispose = Boolean.valueOf( configTree.getAttribute( "dispose", "true" ) );
+    		
+    		Map<String,Object> globals = new HashMap<String,Object>();
+    		globals.put( "message", message );
+    		
+    		if ( _ruleSet.endsWith( ".xls" ) || _ruleSet.endsWith( ".csv" ) )
+    		{
+    			if ( stateful )
+    				ruleService.executeStatefulRulesFromDecisionTable( _ruleSet, _ruleReload, dispose, message, globals, objectList );
+    			else
+        			ruleService.executeStatelessRulesFromDecisionTable( _ruleSet, _ruleReload, message, globals, objectList );
+    		}
+    		else
+    		{
+    			if ( stateful )
+    				ruleService.executeStatefulRules( _ruleSet, _ruleLanguage, _ruleReload, dispose, message, globals, objectList );
+    			else
+        			ruleService.executeStatelessRules( _ruleSet, _ruleLanguage, _ruleReload, message, globals, objectList );
+    		}
+			
+		} 
+		catch (final RuleServiceException e)
+		{
+			throw new MessageRouterException(e.getMessage(), e);
+		}
+	}
     
-    
 }

Modified: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java	2008-06-13 06:46:09 UTC (rev 20457)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java	2008-06-13 08:26:03 UTC (rev 20458)
@@ -22,6 +22,7 @@
 package org.jboss.soa.esb.services.rules;
 
 import java.util.List;
+import java.util.Map;
 
 import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
 import org.jboss.soa.esb.helpers.ConfigTree;
@@ -57,7 +58,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatelessRules(String ruleSet, String dsl,
-			boolean ruleReload, Message message, List<Object> objectList)
+			boolean ruleReload, Message message, Map<String,Object> globals, List<Object> objectList)
 			throws RuleServiceException;
 
 	/**
@@ -76,7 +77,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatelessRulesFromDecisionTable(String decisionTable,
-			boolean ruleReload, Message message, List<Object> objectList)
+			boolean ruleReload, Message message, Map<String,Object> globals, List<Object> objectList)
 			throws RuleServiceException;
 
 	/**
@@ -93,7 +94,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatelessRulesFromRuleAgent(
-			String ruleAgentProperties, Message message, List<Object> objectList)
+			String ruleAgentProperties, Message message, Map<String,Object> globals, List<Object> objectList)
 			throws RuleServiceException;
 
 	/**
@@ -117,7 +118,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatefulRules(String ruleSet, String dsl,
-			boolean ruleReload, boolean dispose, Message message,
+			boolean ruleReload, boolean dispose, Message message,Map<String,Object> globals,
 			List<Object> objectList) throws RuleServiceException;
 
 	/**
@@ -138,7 +139,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatefulRulesFromDecisionTable(String decisionTable,
-			boolean ruleReload, boolean dispose, Message message,
+			boolean ruleReload, boolean dispose, Message message, Map<String,Object> globals,
 			List<Object> objectList) throws RuleServiceException;
 
 	/**
@@ -157,7 +158,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message executeStatefulRulesFromRuleAgent(
-			String ruleAgentProperties, boolean dispose, Message message,
+			String ruleAgentProperties, boolean dispose, Message message,Map<String,Object> globals,
 			List<Object> objectList) throws RuleServiceException;
 
 	/**
@@ -176,7 +177,7 @@
 	 * @return Message with updated objects.
 	 */
 	public Message continueStatefulRulesExecution(String rules,
-			boolean dispose, Message message, List<Object> objectList)
+			boolean dispose, Message message,Map<String,Object> globals, List<Object> objectList)
 			throws RuleServiceException;
 
 }

Added: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java	2008-06-13 08:26:03 UTC (rev 20458)
@@ -0,0 +1,87 @@
+/*
+ * 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.internal.soa.esb.services.rules;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.RuleBase;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.Before;
+import org.junit.Test;
+
+import junit.framework.JUnit4TestAdapter;
+
+/**
+ * Unit test for {@link DroolsRuleService}
+ * <p/>
+ * 
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DroolsRuleServiceUnitTest
+{
+	private DroolsRuleService ruleService = new DroolsRuleService();
+	
+	private RuleBase ruleBase;
+	private Message message;
+	
+	@Test
+	public void executeStatefulRules() throws RuleServiceException
+	{
+		Map<String,Object> globals = new HashMap<String,Object>();
+		
+		ArrayList<String> destinations =  new ArrayList<String>();
+		globals.put("destinations", destinations );
+		globals.put("message", message );
+		
+		message = ruleService.executeStatefulRules( ruleBase, true, message , globals, null );
+		assertTrue( destinations.size() == 1 );
+	}
+	
+	@Test
+	public void executeStatelessRules()
+	{
+		Map<String,Object> globals = new HashMap<String,Object>();
+		ArrayList<String> destinations =  new ArrayList<String>();
+		globals.put("destinations", destinations );
+		globals.put("message", message );
+		message = ruleService.executeStatelessRules( ruleBase, message , globals, null );
+		assertTrue( destinations.size() == 1 );
+	}
+	
+	@Before
+	public void setup() throws RuleServiceException
+	{
+		ruleBase = ruleService.getRuleBaseForFileBasedRules( "JBossESBRules.drl", null, true );
+		message = MessageFactory.getInstance().getMessage();
+	}
+
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter( DroolsRuleServiceUnitTest.class );
+	}
+}

Modified: labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/resources/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/resources/log4j.xml	2008-06-13 06:46:09 UTC (rev 20457)
+++ labs/jbossesb/workspace/dbevenius/ruleservice/product/services/jbrules/src/test/resources/log4j.xml	2008-06-13 08:26:03 UTC (rev 20458)
@@ -46,8 +46,8 @@
    <category name="org.jboss.soa.esb">
       <priority value="ERROR"/>
    </category>
-   <category name="org.jboss.internal.soa.esb">
-      <priority value="ERROR"/>
+   <category name="org.jboss.internal.soa.esb.services.rules">
+      <priority value="DEBUG"/>
    </category>
    <category name="org.apache">
       <priority value="ERROR"/>




More information about the jboss-svn-commits mailing list