[jboss-svn-commits] JBL Code SVN: r15539 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/integrationtests and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 3 09:21:34 EDT 2007
Author: KrisVerlaenen
Date: 2007-10-03 09:21:34 -0400 (Wed, 03 Oct 2007)
New Revision: 15539
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/error_ruleflow.rfm
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
Log:
JBRULES-1244: Ruleflows should have a package name
- Immediately adding ruleflows (and errors) to package after parsing
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 2007-10-03 11:51:07 UTC (rev 15538)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2007-10-03 13:21:34 UTC (rev 15539)
@@ -79,8 +79,6 @@
private DialectRegistry dialectRegistry;
- private ProcessBuilder processBuilder;
-
/**
* Use this when package is starting from scratch.
*/
@@ -214,11 +212,14 @@
* Add a ruleflow (.rt) asset to this package.
*/
public void addRuleFlow(Reader processSource) {
- if ( this.processBuilder == null ) {
- this.processBuilder = new ProcessBuilder( this );
- }
+ ProcessBuilder processBuilder = new ProcessBuilder( this );
try {
- this.processBuilder.addProcessFromFile( processSource );
+ processBuilder.addProcessFromFile( processSource );
+ Process[] processes = processBuilder.getProcesses();
+ for ( int i = 0; i < processes.length; i++ ) {
+ pkg.addRuleFlow( processes[i] );
+ }
+ this.results.addAll(processBuilder.getErrors());
} catch ( Exception e ) {
if ( e instanceof RuntimeException ) {
throw (RuntimeException) e;
@@ -471,8 +472,6 @@
if ( this.pkg != null && this.pkg.getPackageCompilationData() != null && this.pkg.getPackageCompilationData().isDirty() ) {
this.pkg.getPackageCompilationData().reload();
}
-
- addRuleFlowsToPackage( this.processBuilder, pkg );
if ( hasErrors() ) {
this.pkg.setError( getErrors().toString() );
}
@@ -496,17 +495,6 @@
return this.dialect;
}
- private void addRuleFlowsToPackage(ProcessBuilder processBuilder,
- Package pkg) {
- if ( processBuilder != null ) {
- Process[] processes = processBuilder.getProcesses();
- for ( int i = 0; i < processes.length; i++ ) {
- pkg.addRuleFlow( processes[i] );
- }
- this.results.addAll(processBuilder.getErrors());
- }
- }
-
/**
* Return the ClassFieldExtractorCache, this should only be used internally, and is subject to change
* @return
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2007-10-03 11:51:07 UTC (rev 15538)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2007-10-03 13:21:34 UTC (rev 15539)
@@ -732,6 +732,13 @@
}
}
+ public void testLoadingRuleFlowInPackage7() throws Exception {
+ // loading a ruleflow with errors
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "error_ruleflow.rfm" ) ) );
+ assertEquals(1, builder.getErrors().getErrors().length);
+ }
+
private RuleBase loadRuleBase(final Reader reader) throws IOException,
DroolsParserException,
Exception {
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/error_ruleflow.rfm
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/error_ruleflow.rfm (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/error_ruleflow.rfm 2007-10-03 13:21:34 UTC (rev 15539)
@@ -0,0 +1,45 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl id="3">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="4"/>
+ <outgoingConnections id="5">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="6">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="7">
+ <id>4</id>
+ <name>End</name>
+ <incomingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="6"/>
+ </incomingConnections>
+ <outgoingConnections id="9"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.StartNodeImpl>
+ </entry>
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="7"/>
+ </entry>
+ </nodes>
+ <variables id="10"/>
+ <lastNodeId>9</lastNodeId>
+ <imports id="11">
+ <string>com.sample.Property</string>
+ </imports>
+ <globals id="12">
+ <entry>
+ <string>property</string>
+ <string>Property</string>
+ </entry>
+ </globals>
+ <id>com.sample.ruleflow</id>
+ <name>Ruleflow</name>
+ <version>1.0</version>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list