[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