[jboss-svn-commits] JBL Code SVN: r25210 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/compiler and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Feb 10 11:25:45 EST 2009
Author: KrisVerlaenen
Date: 2009-02-10 11:25:44 -0500 (Tue, 10 Feb 2009)
New Revision: 25210
Modified:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/context/exception/ActionExceptionHandler.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/timer/Timer.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/CompositeNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/Trigger.java
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/.classpath
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/build.properties
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
Log:
- various small fixes to get an entire life cycle example working
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -41,6 +41,9 @@
/** Binary Package */
public static final ResourceType PKG = addResourceTypeToRegistry("PKG");
+ /** Drools Rule Language */
+ public static final ResourceType BRL = addResourceTypeToRegistry("BRL");
+
/** ChangeSet */
public static final ResourceType ChangeSet = addResourceTypeToRegistry("ChangeSet");
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -17,6 +17,7 @@
*/
import java.beans.IntrospectionException;
+import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
@@ -52,6 +53,9 @@
import org.drools.facttemplates.FactTemplateImpl;
import org.drools.facttemplates.FieldTemplate;
import org.drools.facttemplates.FieldTemplateImpl;
+import org.drools.guvnor.client.modeldriven.brl.RuleModel;
+import org.drools.guvnor.server.util.BRDRLPersistence;
+import org.drools.guvnor.server.util.BRXMLPersistence;
import org.drools.io.InternalResource;
import org.drools.io.Resource;
import org.drools.io.impl.ClassPathResource;
@@ -383,6 +387,44 @@
this.resource = null;
}
+ public void addPackageFromBrl(final Resource resource)
+ throws DroolsParserException, IOException {
+ this.resource = resource;
+
+ String brl = loadBrlFile(resource.getReader());
+ RuleModel model = BRXMLPersistence.getInstance().unmarshal(brl);
+ String drl = BRDRLPersistence.getInstance().marshal(model);
+ final DrlParser parser = new DrlParser();
+ DefaultExpander expander = getDslExpander();
+
+ try {
+ String str = expander.expand( new StringReader(drl) );
+ if ( expander.hasErrors() ) {
+ this.results.addAll( expander.getErrors() );
+ }
+
+ final PackageDescr pkg = parser.parse( str );
+ this.results.addAll( parser.getErrors() );
+ if ( !parser.hasErrors() ) {
+ addPackage( pkg );
+ }
+ } catch ( IOException e ) {
+ throw new RuntimeException( e );
+ }
+ this.resource = null;
+ }
+
+ private String loadBrlFile(final Reader drl) throws IOException {
+ final StringBuffer buf = new StringBuffer();
+ final BufferedReader input = new BufferedReader( drl );
+ String line = null;
+ while ( (line = input.readLine()) != null ) {
+ buf.append( line );
+ buf.append( "\n" );
+ }
+ return buf.toString();
+ }
+
public void addDsl(Resource resource) throws IOException {
this.resource = resource;
@@ -459,6 +501,9 @@
} else if ( ResourceType.XDRL.equals( type )) {
((InternalResource) resource).setResourceType( type );
addPackageFromXml( resource );
+ } else if ( ResourceType.BRL.equals( type )) {
+ ((InternalResource) resource).setResourceType( type );
+ addPackageFromBrl( resource );
} else if ( ResourceType.DRF.equals( type )) {
((InternalResource) resource).setResourceType( type );
addProcessFromXml( resource );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -1,5 +1,7 @@
package org.drools.xml.processes;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectOutputStream;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.HashMap;
@@ -500,6 +502,9 @@
System.out.println(xml2);
// assertEquals(xml, xml2);
+
+ // test serialization of process elements
+ new ObjectOutputStream(new ByteArrayOutputStream()).writeObject(process);
}
public void testSpecialCharacters() {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -77,6 +77,7 @@
out.writeObject( chainedProperties );
out.writeBoolean( immutable );
out.writeBoolean( keepReference );
+ out.writeObject( clockType );
}
public void readExternal(ObjectInput in) throws IOException,
@@ -84,6 +85,7 @@
chainedProperties = (ChainedProperties) in.readObject();
immutable = in.readBoolean();
keepReference = in.readBoolean();
+ clockType = (ClockType) in.readObject();
}
/**
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -20,6 +20,7 @@
import org.drools.runtime.rule.RuleContext;
import org.drools.spi.KnowledgeHelper;
import org.mvel2.DataConversion;
+import org.mvel2.MVEL;
import org.mvel2.ParserContext;
import org.mvel2.compiler.AbstractParser;
import org.mvel2.compiler.ExpressionCompiler;
@@ -340,6 +341,8 @@
final ClassLoader classLoader,
final ParserContext parserContext,
final int languageLevel) {
+ MVEL.COMPILER_OPT_ALLOW_NAKED_METH_CALL = true;
+
ExpressionCompiler compiler = new ExpressionCompiler( text.trim() );
if ( MVELDebugHandler.isDebugMode() ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/context/exception/ActionExceptionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/context/exception/ActionExceptionHandler.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/context/exception/ActionExceptionHandler.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -1,8 +1,10 @@
package org.drools.process.core.context.exception;
+import java.io.Serializable;
+
import org.drools.workflow.core.DroolsAction;
-public class ActionExceptionHandler implements ExceptionHandler {
+public class ActionExceptionHandler implements ExceptionHandler, Serializable {
private static final long serialVersionUID = 400L;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -51,11 +51,11 @@
}
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- className = in.readUTF();
+ className = (String) in.readObject();
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeUTF(className);
+ out.writeObject(className);
}
public boolean verifyDataType(final Object value) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/timer/Timer.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/timer/Timer.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/timer/Timer.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -1,10 +1,12 @@
package org.drools.process.core.timer;
+import java.io.Serializable;
+
/**
*
* @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
*/
-public class Timer {
+public class Timer implements Serializable {
private long id;
private long delay;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/CompositeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/CompositeNode.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/CompositeNode.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -1,5 +1,6 @@
package org.drools.workflow.core.node;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -320,7 +321,7 @@
}
}
- public class NodeAndType {
+ public class NodeAndType implements Serializable {
private long nodeId;
private String type;
@@ -396,7 +397,7 @@
public Node getInNode() {
if (inNode == null) {
- inNode = getNodeContainer().getNode(inNodeId);
+ inNode = ((NodeContainer) CompositeNode.this.getNodeContainer()).internalGetNode(inNodeId);
}
return inNode;
}
@@ -438,7 +439,7 @@
public Node getOutNode() {
if (outNode == null) {
- outNode = getNodeContainer().getNode(outNodeId);
+ outNode = ((NodeContainer) CompositeNode.this.getNodeContainer()).internalGetNode(outNodeId);
}
return outNode;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/Trigger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/Trigger.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/node/Trigger.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -1,12 +1,13 @@
package org.drools.workflow.core.node;
+import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.drools.process.core.context.variable.Mappable;
-public class Trigger implements Mappable {
+public class Trigger implements Mappable, Serializable {
private Map<String, String> inMapping = new HashMap<String, String>();
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/.classpath 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/.classpath 2009-02-10 16:25:44 UTC (rev 25210)
@@ -2,6 +2,7 @@
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry exported="true" kind="lib" path="lib/joda-time.jar"/>
<classpathentry exported="true" kind="lib" path="lib/drools-api.jar"/>
<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/META-INF/MANIFEST.MF 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/META-INF/MANIFEST.MF 2009-02-10 16:25:44 UTC (rev 25210)
@@ -42,6 +42,7 @@
lib/xstream.jar,
lib/antlr-runtime.jar,
lib/drools-templates.jar,
- lib/mvel2.jar
+ lib/mvel2.jar,
+ lib/joda-time.jar
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.drools.eclipse.util
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/build.properties
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/build.properties 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/build.properties 2009-02-10 16:25:44 UTC (rev 25210)
@@ -6,7 +6,8 @@
lib/,\
lib/drools-templates.jar,\
lib/drools-api.jar,\
- lib/mvel2.jar
+ lib/mvel2.jar,\
+ lib/joda-time.jar
bin.excludes = lib/drools-documentation.jar
src.includes = META-INF/,\
icons/,\
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -43,7 +43,7 @@
private DSLTree dslTree = new DSLTree();
//to dig out the expander, without using the parser.
- private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl\\s",
+ private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl",
Pattern.DOTALL | Pattern.MULTILINE );
/**
* This will sniff out the DSL config file name from the content.
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2009-02-10 16:04:06 UTC (rev 25209)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2009-02-10 16:25:44 UTC (rev 25210)
@@ -21,6 +21,7 @@
import org.drools.guvnor.server.util.BRDRLPersistence;
import org.drools.guvnor.server.util.BRXMLPersistence;
import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DSLTokenizedMappingFile;
import org.eclipse.core.internal.resources.Container;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
@@ -203,7 +204,7 @@
for ( int i = 0; i < files.length; i++ ) {
if ( files[i].getName().endsWith( ".dsl" ) ) {
String contents = getFileContents( (IFile) files[i] );
- DSLMappingFile dsl = new DSLMappingFile();
+ DSLTokenizedMappingFile dsl = new DSLTokenizedMappingFile();
if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
dslList.add( dsl );
More information about the jboss-svn-commits
mailing list