[jboss-svn-commits] JBL Code SVN: r26731 - in labs/jbossesb/trunk/product: samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 26 09:46:14 EDT 2009


Author: beve
Date: 2009-05-26 09:46:14 -0400 (Tue, 26 May 2009)
New Revision: 26731

Added:
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-ant-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-api-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-bam-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-clips-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-mc-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-messenger-jms-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-persistence-jpa-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-task-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-templates-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jaxb-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jxls-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-smooks-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-xstream-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-verifier-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-workitems-5.0.1.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel2-2.0.10.jar
   labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGenerator.java
   labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/util/
   labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGeneratorUnitTest.java
Removed:
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-ant-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-api-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-clips-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-dataloaders-jaxb-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-dataloaders-smooks-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-enterprise-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-task-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-templates-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-verifier-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-workitems-5.0.0.M4.jar
   labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel2-2.0.4.jar
Modified:
   labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml
   labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
   labs/jbossesb/trunk/product/services/jbrules/build.xml
   labs/jbossesb/trunk/product/services/jbrules/readme.txt
   labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/LogAgentEventListener.java
   labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java
   labs/jbossesb/trunk/product/services/jbrules/src/test/resources/testrules.pkg
Log:
Work for https://jira.jboss.org/jira/browse/JBESB-2565 "Update to drools 5.0.1"


Modified: labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml	2009-05-26 11:48:09 UTC (rev 26730)
+++ labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml	2009-05-26 13:46:14 UTC (rev 26731)
@@ -33,5 +33,15 @@
 		<classpath refid="exec-classpath" />
      </java>
   </target>  
+
+	<target name="generatePackageFile" depends="compile"
+    	description="Will compile ruleAgent/Original.drl and generate a pkg file for it. Can be used when upgrading Drools which can make packages that were generated with an older version invalid.">
+    	<echo message="Going to regenerated ruleAgent/org.jboss.soa.esb.services.rules.pkg"/>
+        <java fork="yes" classname="org.jboss.internal.soa.esb.services.rules.util.PackageFileGenerator" failonerror="true">
+        	<arg value="${basedir}/ruleAgent/Original.drl"/>
+        	<arg value="${basedir}/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg"/>
+            <classpath refid="exec-classpath" />
+        </java>
+    </target>
 	
 </project>

Modified: labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
===================================================================
(Binary files differ)

Modified: labs/jbossesb/trunk/product/services/jbrules/build.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/build.xml	2009-05-26 11:48:09 UTC (rev 26730)
+++ labs/jbossesb/trunk/product/services/jbrules/build.xml	2009-05-26 13:46:14 UTC (rev 26731)
@@ -15,4 +15,15 @@
 		</copy>
 		<antcall target="base.test"/>
 	</target>
-</project>
+	
+    <target name="generatePackageFile" depends="compile" 
+    	description="Will compile the RuleBaseHelper.drl and generate a pkg file for it. Can be used when upgrading Drools which can make packages that were generated with an older version invalid.">
+    	<echo message="Going to regenerated test/resources/testrules.pkg"/>
+        <java fork="yes" classname="org.jboss.internal.soa.esb.services.rules.util.PackageFileGenerator" failonerror="true">
+        	<arg value="/RuleBaseHelper.drl"/>
+        	<arg value="${basedir}/src/test/resources/testrules.pkg"/>
+            <classpath refid="classpath" />
+        </java>
+    </target>  
+    
+    </project>

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-ant-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-ant-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-ant-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-api-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-api-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-api-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-bam-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-bam-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-clips-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-clips-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-clips-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-dataloaders-jaxb-5.0.0.M4.jar
===================================================================
(Binary files differ)

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-dataloaders-smooks-5.0.0.M4.jar
===================================================================
(Binary files differ)

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-mc-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-mc-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-messenger-jms-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-messenger-jms-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-persistence-jpa-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-persistence-jpa-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-enterprise-5.0.0.M4.jar
===================================================================
(Binary files differ)

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-task-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-task-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-process-task-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-templates-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-templates-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-templates-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jaxb-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jaxb-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jxls-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-jxls-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-smooks-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-smooks-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-xstream-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-transformer-xstream-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-verifier-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-verifier-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-verifier-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-workitems-5.0.0.M4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-workitems-5.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-workitems-5.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel2-2.0.10.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel2-2.0.10.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel2-2.0.4.jar
===================================================================
(Binary files differ)

Modified: labs/jbossesb/trunk/product/services/jbrules/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/readme.txt	2009-05-26 11:48:09 UTC (rev 26730)
+++ labs/jbossesb/trunk/product/services/jbrules/readme.txt	2009-05-26 13:46:14 UTC (rev 26731)
@@ -2,74 +2,14 @@
 
 Current version
 =================
-5.0.0.M4
+5.0.1
 
 Upgrading Drools:
 =================
-1.	Modified lib/ext/drools-process-enterprise-5.0.0.M4.jar/META-INF/persistence.xml:
-	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-	<persistence
-		version="1.0"
-		xsi:schemaLocation=
-			"http://java.sun.com/xml/ns/persistence
-			 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
-			 http://java.sun.com/xml/ns/persistence/orm 
-			 http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
-		xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xmlns="http://java.sun.com/xml/ns/persistence">
+1.	Modified lib/ext/drools-persistence-jpa-5.0.1.jar by removing the jndi.properties file in that jars root directory.
 
-	 <!--
-	 <persistence-unit name="ProcessService">
-	  <jta-data-source>java:/DefaultDS</jta-data-source>
-	  <properties>
-	   <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
-	  </properties>
-	 </persistence-unit>
-		-->
+2.	Run 'ant compileRuleAgent"
+This will compile the RuleBaseHelper.drl and generate test/resources/testrules.pkg file for it. Can be used when upgrading Drools which can make packages that 
+were generated with an older version of Drools invalid.
 
-		<persistence-unit name="org.drools.persistence.jpa" transaction-type="RESOURCE_LOCAL">
-		  <non-jta-data-source>java:/DefaultDS</non-jta-data-source>
-			<class>org.drools.persistence.jpa.ByteArrayObject</class>
-		  <properties>
-		   <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
-		  </properties>
-		</persistence-unit>
-		
-	</persistence>
-	 
-2.	Modified lib/ext/drools-process-enterprise-5.0.0.M4.jar/META-INF/persistence.xml:
-	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-	<persistence version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
-	http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence">
-		<persistence-unit name="org.drools.task" transaction-type="RESOURCE_LOCAL">
-			<non-jta-data-source>java:/DefaultDS</non-jta-data-source>
-			<class>org.drools.task.Attachment</class>
-			<class>org.drools.task.Content</class>        
-			<class>org.drools.task.BooleanExpression</class>        
-			<class>org.drools.task.Comment</class>
-			<class>org.drools.task.Deadline</class>
-			<class>org.drools.task.Comment</class>
-			<class>org.drools.task.Deadline</class>
-			<class>org.drools.task.Delegation</class>
-			<class>org.drools.task.Escalation</class>
-			<class>org.drools.task.Group</class>
-			<class>org.drools.task.I18NText</class>
-			<class>org.drools.task.Notification</class>
-			<class>org.drools.task.EmailNotification</class>
-			<class>org.drools.task.EmailNotificationHeader</class>
-			<class>org.drools.task.PeopleAssignments</class>
-			<class>org.drools.task.Reassignment</class>
-			<class>org.drools.task.Status</class>
-			<class>org.drools.task.Task</class>
-			<class>org.drools.task.TaskData</class>
-			<class>org.drools.task.User</class>
-			<class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
-			<properties>
-				<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
-			</properties>
-		</persistence-unit>
-    
-</persistence>
 
-

Modified: labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/LogAgentEventListener.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/LogAgentEventListener.java	2009-05-26 11:48:09 UTC (rev 26730)
+++ labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/LogAgentEventListener.java	2009-05-26 13:46:14 UTC (rev 26731)
@@ -78,4 +78,14 @@
     {
         return "AgentName = '" + agentName + "'";
     }
+    
+    public void exception(Throwable e)
+    {
+        log.error(getAgentName() + " Exception: " + e.getMessage(), e);
+    }
+
+    public void exception(String message, Throwable t)
+    {
+        log.error(getAgentName() + " Exception :" + message, t);
+    }
 }

Added: labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGenerator.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGenerator.java	2009-05-26 13:46:14 UTC (rev 26731)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2009, Red Hat Middleware
+ * LLC, and individual contributors 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.util;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.io.StringReader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.ConfigurationException;
+
+/**
+ * Generates a file containing the a serialized drl in the local filesystem.
+ * <p/>
+ * This is useful when upgrading Drools version which can make a package
+ * compiled with an earlier version invalid.
+ * 
+ * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
+ *
+ */
+public class PackageFileGenerator
+{
+    private PackageFileGenerator()
+    {
+    }
+    
+    public static void main(final String... args) throws DroolsParserException, ConfigurationException, IOException
+    {
+        if (args.length == 0 )
+        {
+            throw new IllegalArgumentException("Missing arguments to program. " + getUsageString());
+        }
+        
+        final String drlFile = args[0];
+        final String pkgFile = args[1];
+        
+        createPackageFile(drlFile, pkgFile);
+    }
+    
+    public static void createPackageFile(final String drlFile, final String pkgFile) throws DroolsParserException, IOException, ConfigurationException
+    {
+        AssertArgument.isNotNullAndNotEmpty(drlFile, drlFile);
+        AssertArgument.isNotNullAndNotEmpty(pkgFile, pkgFile);
+        
+        final PackageBuilder builder = new PackageBuilder();
+        final String drl = StreamUtils.getResourceAsString(drlFile, "UTF-8");
+        builder.addPackageFromDrl(new StringReader(drl));
+        
+        // gets the package
+        org.drools.rule.Package pkg = builder.getPackage();
+            
+        // creates the rulebase
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+
+        // adds the package
+        ruleBase.addPackage(pkg);
+        
+        serializeObject(pkg, pkgFile);
+    }
+    
+    private static void serializeObject(Object object, final String toFile) throws FileNotFoundException, IOException 
+    {
+        ObjectOutputStream outstream = null;
+        try 
+        {
+            outstream = new DroolsObjectOutputStream(new FileOutputStream(toFile));
+            outstream.writeObject(object);
+        } 
+        finally 
+        {
+            if (outstream != null) 
+            {
+                outstream.close();
+            }
+        }
+    }
+    
+    private static String getUsageString()
+    {
+        return String.format("Usage: %s <path to drl file> <path to destination package file>", PackageFileGenerator.class.getName());
+    }
+
+}

Modified: labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java	2009-05-26 11:48:09 UTC (rev 26730)
+++ labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java	2009-05-26 13:46:14 UTC (rev 26731)
@@ -129,77 +129,15 @@
 	    
 	    // note that the is an exception occurs TestAgentEventListeners exception 
 	    // method will be called an this test will fail.
-	    RuleAgent ruleAgent = RuleAgent.newRuleAgent(properties, new TestAgentEventListener());
+	    RuleAgent ruleAgent = RuleAgent.newRuleAgent(properties, new LogAgentEventListener());
 	    Package pkg = ruleAgent.getRuleBase().getPackage("org.jboss.internal.soa.esb.rules");
-	    System.out.println(pkg);
 	    assertNotNull(pkg);
+	    assertEquals("org.jboss.internal.soa.esb.rules", pkg.getName());
 	}
 	
-	/**
-	 * This method can be used to generate .pkg file for a .drl.
-	 */
-	@Test
-	@Ignore
-	public void generatePackageFromDrl() throws DroolsParserException, ConfigurationException, IOException
-	{
-        createPackageFile("/RuleAgentQuickstart.drl", "ruleAgent.pkg");
-	}
-	
-	private static void createPackageFile(final String drlFile, final String pkgFile) throws DroolsParserException, IOException, ConfigurationException
-	{
-		final PackageBuilder builder = new PackageBuilder();
-		final String drl = StreamUtils.getResourceAsString(drlFile, "UTF-8");
-        builder.addPackageFromDrl(new StringReader(drl));
-        
-        // gets the package
-        org.drools.rule.Package pkg = builder.getPackage();
-            
-        // creates the rulebase
-        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-
-        // adds the package
-        ruleBase.addPackage(pkg);
-        
-        serializeObject(pkg, pkgFile);
-	}
-	
-	private static void serializeObject(Object object, final String toFile) throws FileNotFoundException, IOException 
-	{
-        ObjectOutputStream outstream = null;
-        try 
-        {
-            outstream = new DroolsObjectOutputStream(new FileOutputStream(toFile));
-            outstream.writeObject(object);
-        } 
-        finally 
-        {
-            if (outstream != null) 
-            {
-                outstream.close();
-            }
-        }
-    }
-	 
 	public static junit.framework.Test suite()
 	{
 		return new JUnit4TestAdapter( DroolsRuleBaseHelperUnitTest.class );
 	}
 	
-	private class TestAgentEventListener implements AgentEventListener
-	{
-        public void exception(Exception e)
-        {
-            e.printStackTrace();
-            fail(e.getMessage());
-        }
-        
-        public void setAgentName(String name) { }
-        public void debug(String message) { }
-        public void debug(String message, Object object) { }
-        public void info(String message) { }
-        public void info(String message, Object object) { }
-        public void warning(String message) { }
-        public void warning(String message, Object object) { }
-	}
-	
 }

Added: labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGeneratorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGeneratorUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/util/PackageFileGeneratorUnitTest.java	2009-05-26 13:46:14 UTC (rev 26731)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2009, Red Hat Middleware
+ * LLC, and individual contributors 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.util;
+
+import java.io.File;
+import java.io.IOException;
+
+import junit.framework.JUnit4TestAdapter;
+
+
+import org.drools.compiler.DroolsParserException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link PackageFileGenerator}.
+ * <p/>
+ * 
+ * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
+ */
+public class PackageFileGeneratorUnitTest
+{
+    @Test (expected = IllegalArgumentException.class)
+    public void shouldThrowIfMissingArguments() throws DroolsParserException, ConfigurationException, IOException
+    {
+        PackageFileGenerator.main(new String[]{});
+    }
+    
+    @Test 
+    public void main() throws DroolsParserException, ConfigurationException, IOException
+    {
+        final String drlName = "/RuleBaseHelper.drl";
+        final String pkgFile = "ruleBaseHelper.pkg";
+        try
+        {
+            PackageFileGenerator.main(new String[]{drlName, pkgFile});
+        }
+        finally
+        {
+            final File createdPkg = new File(pkgFile);
+            if (createdPkg.exists());
+            {
+                createdPkg.delete();
+            }
+        }
+    }
+    
+    public static junit.framework.Test suite()
+    {
+        return new JUnit4TestAdapter(PackageFileGeneratorUnitTest.class);
+    }
+}

Modified: labs/jbossesb/trunk/product/services/jbrules/src/test/resources/testrules.pkg
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list