[jboss-svn-commits] JBL Code SVN: r12369 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/packages and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 7 05:25:43 EDT 2007
Author: michael.neale at jboss.com
Date: 2007-06-07 05:25:42 -0400 (Thu, 07 Jun 2007)
New Revision: 12369
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleFlowUploadWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_large.png
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_small.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/RuleFlowHandler.java
labs/jbossrules/trunk/drools-jbrms/src/test/resources/ruleflow.rf
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
Log:
JBRULES-912 Ruleflow in BRMS
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -38,11 +38,15 @@
/** Use a decision table.*/
public static final String DECISION_SPREADSHEET_XLS = "xls";
+ /** Use a ruleflow.*/
+ public static final String RULE_FLOW_RF = "rf";
+
+
/**
* The following group the assets together for lists, helpers etc...
*/
public static final String[] BUSINESS_RULE_FORMATS = new String[] {AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS};
- public static final String[] TECHNICAL_RULE_FORMATS = new String[] {AssetFormats.DRL};
+ public static final String[] TECHNICAL_RULE_FORMATS = new String[] {AssetFormats.DRL, AssetFormats.RULE_FLOW_RF};
/**
* These define assets that are really package level "things"
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -5,6 +5,7 @@
import org.drools.brms.client.common.DirtyableFlexTable;
import org.drools.brms.client.common.FormStyleLayout;
import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.common.ImageButton;
import org.drools.brms.client.common.LoadingPopup;
import org.drools.brms.client.rpc.PackageConfigData;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -132,27 +133,17 @@
}
});
- Image uploadModel = new Image("images/model_asset.gif");
+ Image uploadModel = new ImageButton("images/model_asset.gif");
uploadModel.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- int left = 70;
- int top = 100;
-
- NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
- public void open(String key) {
- editEvent.open( key );
- }
- }, false, AssetFormats.MODEL, "Create a new model archive");
- pop.setPopupPosition( left, top );
-
- pop.show();
+ launchWizard( AssetFormats.MODEL, "Create a new model archive" );
}
});
uploadModel.setTitle( "This creates a new model archive - models contain classes/types that rules use." );
- Image newRule = new Image("images/new_rule.gif");
+ Image newRule = new ImageButton("images/new_rule.gif");
newRule.setTitle( "Create new rule" );
newRule.addClickListener( new ClickListener() {
@@ -173,47 +164,36 @@
});
- final Image newFunction = new Image("images/function_assets.gif");
+ final Image newFunction = new ImageButton("images/function_assets.gif");
newFunction.setTitle( "Create a new function" );
newFunction.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- int left = 70;
- int top = 100;
-
- NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
- public void open(String key) {
- editEvent.open( key );
- }
- }, false, AssetFormats.FUNCTION, "Create a new function");
- pop.setPopupPosition( left, top );
-
- pop.show();
+ launchWizard( AssetFormats.FUNCTION, "Create a new function" );
}
} );
- final Image newDSL = new Image("images/dsl.gif");
+ final Image newDSL = new ImageButton("images/dsl.gif");
newDSL.setTitle( "Create a new DSL (language configuration)" );
newDSL.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- int left = 70;
- int top = 100;
-
- NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
- public void open(String key) {
- editEvent.open( key );
- }
- }, false, AssetFormats.DSL, "Create a new language configuration");
- pop.setPopupPosition( left, top );
-
- pop.show();
+ launchWizard( AssetFormats.DSL, "Create a new language configuration" );
}
- } );
+ } );
+ final Image newRuleflow = new ImageButton("images/ruleflow_small.gif");
+ newRuleflow.setTitle( "Upload a new ruleflow." );
+ newRuleflow.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ launchWizard(AssetFormats.RULE_FLOW_RF, "Create a new ruleflow");
+ }
+ } );
+
newWizards.add( newPackage );
newWizards.add( uploadModel );
newWizards.add( newRule );
newWizards.add( newFunction );
newWizards.add( newDSL );
+ newWizards.add( newRuleflow );
return newWizards;
}
@@ -293,8 +273,8 @@
}
}));
- pkg.addItem( makeItem("Business rules", "images/rule_asset.gif", showListEvent(conf.uuid, AssetFormats.BUSINESS_RULE_FORMATS)) );
- pkg.addItem( makeItem("Technical rules", "images/technical_rule_assets.gif", showListEvent(conf.uuid, AssetFormats.TECHNICAL_RULE_FORMATS)) );
+ pkg.addItem( makeItem("Business rule assets", "images/rule_asset.gif", showListEvent(conf.uuid, AssetFormats.BUSINESS_RULE_FORMATS)) );
+ pkg.addItem( makeItem("Technical rule assets", "images/technical_rule_assets.gif", showListEvent(conf.uuid, AssetFormats.TECHNICAL_RULE_FORMATS)) );
pkg.addItem( makeItem("Functions", "images/function_assets.gif", showListEvent(conf.uuid, new String[] {AssetFormats.FUNCTION})) );
pkg.addItem( makeItem("DSL", "images/dsl.gif", showListEvent(conf.uuid, new String[] {AssetFormats.DSL})) );
pkg.addItem( makeItem("Model", "images/model_asset.gif", showListEvent(conf.uuid, new String[] {AssetFormats.MODEL}) ) );
@@ -426,6 +406,20 @@
return item;
}
+ private void launchWizard(String format, String title) {
+ int left = 70;
+ int top = 100;
+
+ NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
+ public void open(String key) {
+ editEvent.open( key );
+ }
+ }, false, format, title);
+ pop.setPopupPosition( left, top );
+
+ pop.show();
+ }
+
static class PackageTreeItem {
Command command;
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -48,6 +48,8 @@
return new ModelAttachmentFileWidget( asset, viewer );
} else if (asset.metaData.format.equals( AssetFormats.DECISION_SPREADSHEET_XLS )){
return new RuleValidatorWrapper(new DecisionTableXLSWidget( asset, viewer ), asset);
+ } else if (asset.metaData.format.equals( AssetFormats.RULE_FLOW_RF )) {
+ return new RuleFlowUploadWidget(asset, viewer);
} else {
return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);
}
@@ -65,7 +67,9 @@
result.put( AssetFormats.DECISION_SPREADSHEET_XLS, "spreadsheet_small.gif" );
result.put( AssetFormats.BUSINESS_RULE, "rule_asset.gif" );
result.put( AssetFormats.DSL_TEMPLATE_RULE, "rule_asset.gif" );
+ result.put( AssetFormats.RULE_FLOW_RF, "ruleflow_small.gif" );
+
return result;
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -90,9 +90,9 @@
ListBox box = new ListBox();
- box.addItem( "Business rule", AssetFormats.BUSINESS_RULE );
- box.addItem( "DRL rule (technical rule)", AssetFormats.DRL );
- box.addItem( "Business rule using a DSL template", AssetFormats.DSL_TEMPLATE_RULE );
+ box.addItem( "Business rule (using guided editor)", AssetFormats.BUSINESS_RULE );
+ box.addItem( "DRL rule (technical rule - text editor)", AssetFormats.DRL );
+ box.addItem( "Business rule using a DSL (text editor)", AssetFormats.DSL_TEMPLATE_RULE );
box.addItem( "Decision table (spreadsheet)", AssetFormats.DECISION_SPREADSHEET_XLS );
box.setSelectedIndex( 0 );
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleFlowUploadWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleFlowUploadWidget.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleFlowUploadWidget.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -0,0 +1,33 @@
+package org.drools.brms.client.ruleeditor;
+
+import org.drools.brms.client.packages.AssetAttachmentFileWidget;
+import org.drools.brms.client.rpc.RuleAsset;
+
+import com.google.gwt.user.client.ui.HTML;
+
+/**
+ * For ruleflow upload.
+ *
+ * @author Michael Neale
+ */
+public class RuleFlowUploadWidget extends AssetAttachmentFileWidget {
+
+ public RuleFlowUploadWidget(
+ RuleAsset asset, RuleViewer viewer) {
+ super( asset,
+ viewer );
+ super.addDescription(new HTML("<small><i>Ruleflows allow flow control between rules. " +
+ "The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.</i></small>"));
+ }
+
+ public String getIcon() {
+ return "images/ruleflow_large.png";
+ }
+
+ public String getOverallStyleName() {
+ return "decision-Table-upload";
+ }
+
+
+
+}
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleFlowUploadWidget.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_large.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_large.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_small.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/ruleflow_small.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -28,7 +28,7 @@
put(AssetFormats.FUNCTION, new FunctionContentHandler());
put(AssetFormats.MODEL, new ModelContentHandler());
put(AssetFormats.DECISION_SPREADSHEET_XLS, new DecisionTableXLSHandler());
-
+ put(AssetFormats.RULE_FLOW_RF, new RuleFlowHandler());
}};
}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/RuleFlowHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/RuleFlowHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/RuleFlowHandler.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -0,0 +1,37 @@
+package org.drools.brms.server.contenthandler;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.server.builder.BRMSPackageBuilder;
+import org.drools.brms.server.builder.ContentPackageAssembler.ErrorLogger;
+import org.drools.compiler.DroolsParserException;
+import org.drools.repository.AssetItem;
+import org.drools.repository.PackageItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class RuleFlowHandler extends ContentHandler implements IRuleAsset {
+
+ public void retrieveAssetContent(RuleAsset asset,
+ PackageItem pkg,
+ AssetItem item) throws SerializableException {
+ //do nothing, as we have an attachment
+ }
+
+ public void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException {
+ //do nothing, as we have an attachment
+ }
+
+ public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset, StringBuffer buf) {
+ //do nothing... as no change to source.
+ }
+
+ public void compile(BRMSPackageBuilder builder, AssetItem asset, ErrorLogger logger) throws DroolsParserException,
+ IOException {
+ builder.addRuleFlow( new InputStreamReader(asset.getBinaryContentAttachment()) );
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/RuleFlowHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -18,6 +18,19 @@
fail("Incorrect grouping of business rules.");
}
}
+
+ formats = AssetFormats.TECHNICAL_RULE_FORMATS;
+ for ( int i = 0; i < formats.length; i++ ) {
+ String fmt = formats[i];
+ if (! (fmt.equals( AssetFormats.RULE_FLOW_RF )
+ ||
+ fmt.equals( AssetFormats.DRL )
+ ) ) {
+ fail("Incorrect grouping of technical rules.");
+ }
+ }
+
+
}
public void testPackageDependencies() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java 2007-06-07 08:19:46 UTC (rev 12368)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java 2007-06-07 09:25:42 UTC (rev 12369)
@@ -1,6 +1,8 @@
package org.drools.brms.server.builder;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Map;
import junit.framework.TestCase;
@@ -23,6 +25,7 @@
import org.drools.repository.PackageItem;
import org.drools.repository.RulesRepository;
import org.drools.rule.Package;
+import org.drools.ruleflow.core.RuleFlowProcess;
/**
* This will unit test package assembly into a binary.
@@ -115,7 +118,42 @@
assertTrue(assembler.getErrors().get( 0 ).itemInError.getName().equals( func.getName() ));
assertNotEmpty(assembler.getErrors().get( 0 ).errorReport);
}
+
+ public void testPackageWithRuleflow() throws Exception {
+ RulesRepository repo = getRepo();
+
+ PackageItem pkg = repo.createPackage( "testPackageWithRuleFlow", "" );
+ AssetItem model = pkg.addAsset( "model", "qed" );
+ model.updateFormat( AssetFormats.MODEL );
+
+ model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
+ model.checkin( "" );
+
+ pkg.updateHeader( "import com.billasurf.Board\n global com.billasurf.Person customer" );
+
+ AssetItem rule1 = pkg.addAsset( "rule_1", "" );
+ rule1.updateFormat( AssetFormats.DRL );
+ rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
+ rule1.checkin( "" );
+
+ AssetItem ruleFlow = pkg.addAsset( "ruleFlow", "" );
+ ruleFlow.updateFormat( AssetFormats.RULE_FLOW_RF );
+
+ ruleFlow.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/ruleflow.rf" ) );
+ ruleFlow.checkin( "" );
+
+ ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
+ assertFalse(asm.hasErrors());
+ Map flows = asm.getBinaryPackage().getRuleFlows();
+ assertNotNull(flows);
+
+ assertEquals(1, flows.size());
+ Object flow = flows.values().iterator().next();
+ assertNotNull(flow);
+ assertTrue(flow instanceof RuleFlowProcess);
+
+ }
public void testSimplePackageBuildNoErrors() throws Exception {
RulesRepository repo = getRepo();
Added: labs/jbossrules/trunk/drools-jbrms/src/test/resources/ruleflow.rf
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/resources/ruleflow.rf (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/resources/ruleflow.rf 2007-06-07 09:25:42 UTC (rev 12369)
@@ -0,0 +1,150 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+ <ruleFlowGroup>flowgroup-1</ruleFlowGroup>
+ <id>2</id>
+ <name>RuleSet1</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="7"/>
+ <outgoingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.SplitImpl" id="11">
+ <type>1</type>
+ <constraints id="12"/>
+ <id>5</id>
+ <name>Split</name>
+ <incomingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </incomingConnections>
+ <outgoingConnections id="14">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="15">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="16">
+ <ruleFlowGroup>flowgroup-2</ruleFlowGroup>
+ <id>3</id>
+ <name>RuleSet2</name>
+ <incomingConnections id="17">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="15"/>
+ </incomingConnections>
+ <outgoingConnections id="18">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="19">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="16"/>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" id="20">
+ <type>1</type>
+ <id>6</id>
+ <name>Join</name>
+ <incomingConnections id="21">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="22">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="23">
+ <ruleFlowGroup>flowgroup-3</ruleFlowGroup>
+ <id>4</id>
+ <name>RuleSet3</name>
+ <incomingConnections id="24">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="25">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="23"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="26">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="22"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="19"/>
+ </incomingConnections>
+ <outgoingConnections id="27">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="28">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="29">
+ <ruleFlowGroup>flowgroup-4</ruleFlowGroup>
+ <id>7</id>
+ <name>RuleSet4</name>
+ <incomingConnections id="30">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="28"/>
+ </incomingConnections>
+ <outgoingConnections id="31">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="32">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="29"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="33">
+ <id>8</id>
+ <name>End</name>
+ <incomingConnections id="34">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="32"/>
+ </incomingConnections>
+ <outgoingConnections id="35"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="25"/>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+ </entry>
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="23"/>
+ </entry>
+ <entry>
+ <long>8</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="33"/>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.JoinImpl reference="20"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="16"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="29"/>
+ </entry>
+ <entry>
+ <long>5</long>
+ <org.drools.ruleflow.core.impl.SplitImpl reference="11"/>
+ </entry>
+ </nodes>
+ <variables id="36"/>
+ <lastNodeId>8</lastNodeId>
+ <id>0</id>
+ <name>flow</name>
+ <type>Workflow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/resources/ruleflow.rf
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the jboss-svn-commits
mailing list