[jboss-svn-commits] JBL Code SVN: r21988 - in labs/jbossrules/trunk/drools-guvnor: src/main/java/org/drools/guvnor and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 29 06:47:08 EDT 2008


Author: Rikkola
Date: 2008-08-29 06:47:04 -0400 (Fri, 29 Aug 2008)
New Revision: 21988

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RuleFlowContentModel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowWrapper.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/action.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/activity.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_connective.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_field_to_fact.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowleft.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowright.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/bluediamond.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/check.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/class_obj.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear_disabled.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/composite.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/connection.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/constant_co.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_item_small.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_obj.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools-query.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.png
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl_expression.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dt_small.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/edit.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_private_obj.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_public_obj.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/function_assets.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/greensquare.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/human_task.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import_statement.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/join.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure_disabled.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/methpub_obj.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/new_item.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/node-triggered.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/open.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/processV.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_start.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_stop.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/public_co.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/question.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/redsquare.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh_disabled.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/sample.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/split.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/static_co.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/timer.gif
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/yellowsquare.GIF
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/ruleflow.css
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowContentModelBuilder.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowProcessBuilder.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/Guvnor.launch
   labs/jbossrules/trunk/drools-guvnor/pom.xml
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/Guvnor.html
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/RuleFlowHandler.java
Log:
Rule flow diagrams

Modified: labs/jbossrules/trunk/drools-guvnor/Guvnor.launch
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/Guvnor.launch	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/Guvnor.launch	2008-08-29 10:47:04 UTC (rev 21988)
@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/drools-guvnor"/>
+</listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="4"/>
 </listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
 <listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/src/main/java&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/classes&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
@@ -12,44 +14,87 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;GWT_DEV&quot; path=&quot;3&quot; type=&quot;3&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;GWT_HOME/gwt-servlet.jar&quot; path=&quot;3&quot; type=&quot;3&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;GWT_HOME/gwt-user.jar&quot; path=&quot;3&quot; type=&quot;3&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-core&quot; type=&quot;1&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/asm-1.5.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/asm-attrs-1.5.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/cglib-2.1_3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/acl-spi-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/antlr-2.7.6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/antlr-3.0.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/antlr-runtime-3.0.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/authorization-spi-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/classworlds-1.1-alpha-2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/cobogw-1.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-collections-3.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-fileupload-1.1.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-io-1.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-logging-1.0.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-fileupload-1.2.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-httpclient-2.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/commons-io-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/concurrent-1.3.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/core-3.2.3.v_686_R32x.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/derby-10.2.1.6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/dom4j-1.6.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-seam-1.2.0.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/dom4j-1.6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-compiler-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-core-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-decisiontables-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-repository-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-templates-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/drools-verifier-5.0.0.SNAPSHOT.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/ejb-api-3.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/el-api-1.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/el-ri-1.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/gunit-1.0.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/gwt-diagrams-0.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/gwt-servlet-1.5.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/gwtext-2.0.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/hsqldb-1.8.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/identity-impl-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/identity-spi-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-api-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-core-1.4.5.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-jcr-commons-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-spi-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-spi-commons-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-text-extractors-1.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/janino-2.5.10.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/javassist-3.4.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-common-core-2.2.1.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-common-logging-spi-2.0.4.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-el-1.0_02.CR2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-logging-log4j-2.0.2.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-logging-spi-2.0.2.GA.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-seam-remoting-2.1.0-20080827.042543-258.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-security-acl-2.0.2.Beta4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-security-acl-impl-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jboss-security-spi-2.0.2.CR6.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jcr-1.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jta-1.0.1B.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/lucene-core-2.0.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xercesImpl-2.4.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xml-apis-1.0.b2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xpp3-1.1.3.4.O.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xstream-1.1.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jxl-2.4.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/log4j-1.2.13.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/log4j-1.2.14.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/lucene-core-2.2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-artifact-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-artifact-manager-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-model-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-profile-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-project-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/maven-repository-metadata-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/mvel-2.0-dp4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/org.jboss.seam-jboss-seam-2.1.0-20080827.042543-259.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/plexus-container-default-1.0-alpha-8.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/plexus-utils-1.0.4.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/slf4j-api-1.4.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/slf4j-log4j12-1.4.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/stringtemplate-3.1-b1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/wagon-provider-api-1.0-alpha-5.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/webdavlib-2.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xercesImpl-2.8.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xml-apis-2.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xml-apis-2.7.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xpp3_min-1.1.3.4.O.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/xstream-1.2.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-core&quot; type=&quot;1&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-compiler&quot; type=&quot;1&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-repository&quot; type=&quot;1&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-decisiontables&quot; type=&quot;1&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jxl-2.4.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/janino-2.5.7.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/antlr-runtime-3.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-api-1.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-core-1.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-jcr-commons-1.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/jackrabbit-text-extractors-1.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/log4j-1.2.13.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/slf4j-api-1.3.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/slf4j-log4j12-1.3.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-guvnor/target/drools-guvnor/WEB-INF/lib/mvel14-1.2rc1rv805.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 </listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-out www org.drools.guvnor.Guvnor/Guvnor.html"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-guvnor"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/drools-guvnor"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
 </launchConfiguration>

Modified: labs/jbossrules/trunk/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/pom.xml	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/pom.xml	2008-08-29 10:47:04 UTC (rev 21988)
@@ -83,6 +83,16 @@
       <artifactId>servlet-api</artifactId>
     </dependency>
     <dependency>
+      <groupId>pl.balon.gwt</groupId>
+      <artifactId>gwt-diagrams</artifactId>
+      <version>0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.cobogw.gwt</groupId>
+      <artifactId>cobogw</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
       <groupId>com.google.gwt</groupId>
       <artifactId>gwt-servlet</artifactId>
     </dependency>

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml	2008-08-29 10:47:04 UTC (rev 21988)
@@ -4,6 +4,8 @@
 	<inherits name='com.google.gwt.user.User'/>
     <inherits name="com.gwtext.GwtExt"/>
     <inherits name="com.gwtext.Pagebus"/>
+	<inherits name='pl.balon.gwt.diagrams.Diagrams'/>
+	<inherits name='org.cobogw.gwt.user.User'/>
 
     <!-- Specify the app entry point class.                   -->
 	<!-- <entry-point class='org.drools.guvnor.client.JBRMS'/> -->

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RuleFlowContentModel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RuleFlowContentModel.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RuleFlowContentModel.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -0,0 +1,59 @@
+package org.drools.guvnor.client.rpc;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.guvnor.client.rulefloweditor.TransferConnection;
+import org.drools.guvnor.client.rulefloweditor.TransferNode;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class RuleFlowContentModel
+    implements
+    IsSerializable {
+
+    private Collection<TransferNode>       nodes       = new ArrayList<TransferNode>();
+    private Collection<TransferConnection> connections = new ArrayList<TransferConnection>();
+    private String                         xml;
+
+    public void setNodes(Collection<TransferNode> nodes) {
+        this.nodes = nodes;
+    }
+
+    public Collection<TransferNode> getNodes() {
+        return nodes;
+    }
+
+    public void setConnections(Collection<TransferConnection> connections) {
+        this.connections = connections;
+    }
+
+    public Collection<TransferConnection> getConnections() {
+        return connections;
+    }
+
+    public void setXml(String xml) {
+        this.xml = xml;
+    }
+
+    public String getXml() {
+        return xml;
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -1,4 +1,5 @@
 package org.drools.guvnor.client.ruleeditor;
+
 /*
  * Copyright 2005 JBoss Inc
  *
@@ -15,8 +16,6 @@
  * limitations under the License.
  */
 
-
-
 import java.util.HashMap;
 import java.util.Map;
 
@@ -47,7 +46,6 @@
  */
 public class EditorLauncher {
 
-
     public static final Map<String, String> TYPE_IMAGES = getTypeImages();
 
     /**
@@ -57,53 +55,77 @@
                                          RuleViewer viewer) {
         //depending on the format, load the appropriate editor
         if ( asset.metaData.format.equals( AssetFormats.BUSINESS_RULE ) ) {
-            return new RuleValidatorWrapper( new RuleModeller( asset  ), asset);
-        	//return new RuleModeller( asset  );
+            return new RuleValidatorWrapper( new RuleModeller( asset ),
+                                             asset );
+            //return new RuleModeller( asset  );
         } else if ( asset.metaData.format.equals( AssetFormats.DSL_TEMPLATE_RULE ) ) {
-            return new RuleValidatorWrapper(new DSLRuleEditor( asset ), asset);
+            return new RuleValidatorWrapper( new DSLRuleEditor( asset ),
+                                             asset );
         } else if ( asset.metaData.format.equals( AssetFormats.MODEL ) ) {
-            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 if (asset.metaData.format.equals( AssetFormats.DRL )) {
-            return new RuleValidatorWrapper(new DrlEditor( asset ), asset);
-        } else if (asset.metaData.format.equals( AssetFormats.ENUMERATION )) {
-            return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);
-        } else if (asset.metaData.format.equals(AssetFormats.TEST_SCENARIO)) {
-        	return new ScenarioWidget(asset);
-        } else if (asset.metaData.format.equals(AssetFormats.DECISION_TABLE_GUIDED)) {
-        	return new RuleValidatorWrapper(new GuidedDecisionTableWidget(asset), asset);
-        } else if (asset.metaData.format.equals(AssetFormats.DRL_MODEL)) {
-        	return new RuleValidatorWrapper(new FactModelWidget(asset), asset);
-        } else if (asset.metaData.format.equals(AssetFormats.DSL)) {
-        	return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);
-        } else if (asset.metaData.format.equals(AssetFormats.PROPERTIES)) {
-        	return new PropertiesWidget( asset, viewer );
+            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);
+            return new RuleFlowWrapper( asset,
+                                        viewer );
+        } else if ( asset.metaData.format.equals( AssetFormats.DRL ) ) {
+            return new RuleValidatorWrapper( new DrlEditor( asset ),
+                                             asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.ENUMERATION ) ) {
+            return new RuleValidatorWrapper( new DefaultRuleContentWidget( asset ),
+                                             asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.TEST_SCENARIO ) ) {
+            return new ScenarioWidget( asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.DECISION_TABLE_GUIDED ) ) {
+            return new RuleValidatorWrapper( new GuidedDecisionTableWidget( asset ),
+                                             asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.DRL_MODEL ) ) {
+            return new RuleValidatorWrapper( new FactModelWidget( asset ),
+                                             asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.DSL ) ) {
+            return new RuleValidatorWrapper( new DefaultRuleContentWidget( asset ),
+                                             asset );
+        } else if ( asset.metaData.format.equals( AssetFormats.PROPERTIES ) ) {
+            return new PropertiesWidget( asset,
+                                         viewer );
         } else if (asset.metaData.format.equals(AssetFormats.XML)) {
         	return new XmlFileWidget( asset, viewer );
         } else {
-            return new DefaultContentUploadEditor( asset, viewer );
+            return new DefaultContentUploadEditor( asset,
+                                                   viewer );
         }
 
     }
 
-
     private static Map<String, String> getTypeImages() {
         Map<String, String> result = new HashMap<String, String>();
 
-        result.put( AssetFormats.DRL, "technical_rule_assets.gif" );
-        result.put( AssetFormats.DSL, "dsl.gif" );
-        result.put( AssetFormats.FUNCTION, "function_assets.gif" );
-        result.put( AssetFormats.MODEL, "model_asset.gif" );
-        result.put( AssetFormats.DECISION_SPREADSHEET_XLS, "spreadsheet_small.gif" );
-        result.put( AssetFormats.BUSINESS_RULE, "business_rule.gif" );
-        result.put( AssetFormats.DSL_TEMPLATE_RULE, "business_rule.gif" );
-        result.put( AssetFormats.RULE_FLOW_RF, "ruleflow_small.gif" );
-        result.put( AssetFormats.TEST_SCENARIO, "test_manager.gif");
-        result.put( AssetFormats.ENUMERATION, "enumeration.gif");
-        result.put( AssetFormats.DECISION_TABLE_GUIDED, "gdst.gif");
+        result.put( AssetFormats.DRL,
+                    "technical_rule_assets.gif" );
+        result.put( AssetFormats.DSL,
+                    "dsl.gif" );
+        result.put( AssetFormats.FUNCTION,
+                    "function_assets.gif" );
+        result.put( AssetFormats.MODEL,
+                    "model_asset.gif" );
+        result.put( AssetFormats.DECISION_SPREADSHEET_XLS,
+                    "spreadsheet_small.gif" );
+        result.put( AssetFormats.BUSINESS_RULE,
+                    "business_rule.gif" );
+        result.put( AssetFormats.DSL_TEMPLATE_RULE,
+                    "business_rule.gif" );
+        result.put( AssetFormats.RULE_FLOW_RF,
+                    "ruleflow_small.gif" );
+        result.put( AssetFormats.TEST_SCENARIO,
+                    "test_manager.gif" );
+        result.put( AssetFormats.ENUMERATION,
+                    "enumeration.gif" );
+        result.put( AssetFormats.DECISION_TABLE_GUIDED,
+                    "gdst.gif" );
 
         return result;
     }
@@ -114,7 +136,7 @@
      */
     public static String getAssetFormatIcon(String format) {
         String result = (String) TYPE_IMAGES.get( format );
-        if (result == null) {
+        if ( result == null ) {
             return "rule_asset.gif";
         } else {
             return result;

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowWrapper.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowWrapper.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -0,0 +1,140 @@
+package org.drools.guvnor.client.ruleeditor;
+
+import org.drools.guvnor.client.common.FormStyleLayout;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.LoadingPopup;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.RuleFlowContentModel;
+import org.drools.guvnor.client.rulefloweditor.RuleFlowViewer;
+
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+
+/**
+ * 
+ * 
+ * @author Toni Rikkola
+ *
+ */
+public class RuleFlowWrapper extends Composite
+    implements
+    SaveEventListener {
+
+    private RuleViewer     viewer;
+    private RuleAsset      asset;
+
+    private RuleFlowViewer ruleFlowViewer;
+    private Panel          parameterPanel;
+
+    public RuleFlowWrapper(final RuleAsset asset,
+                           final RuleViewer viewer) {
+        this.viewer = viewer;
+        this.asset = asset;
+        initWidgets( asset.uuid,
+                     asset.metaData.name );
+    }
+
+    protected void initWidgets(final String uuid,
+                               String formName) {
+
+        RuleFlowUploadWidget uploadWidget = new RuleFlowUploadWidget( asset,
+                                                                      viewer );
+
+        VerticalPanel panel = new VerticalPanel();
+        panel.add( uploadWidget );
+
+        initRuleflowViewer();
+
+        if ( ruleFlowViewer != null && parameterPanel != null ) {
+            Toolbar tb = new Toolbar();
+
+            ToolbarButton viewSource = new ToolbarButton();
+            viewSource.setText( "View diagram" );
+            viewSource.addListener( new ButtonListenerAdapter() {
+                public void onClick(com.gwtext.client.widgets.Button button,
+                                    EventObject e) {
+                    doViewDiagram();
+
+                    ruleFlowViewer.update();
+                }
+            } );
+
+            tb.addButton( viewSource );
+            panel.add( tb );
+
+        }
+
+        initWidget( panel );
+
+        this.setStyleName( getOverallStyleName() );
+    }
+
+    private void doViewDiagram() {
+        LoadingPopup.showMessage( "Calculating source..." );
+        FormStylePopup pop = new FormStylePopup( "images/view_source.gif",
+                                                 "Viewing diagram",
+                                                 new Integer( 600 ),
+                                                 new Integer( 600 ),
+                                                 Boolean.FALSE );
+        pop.addRow( ruleFlowViewer );
+        pop.addRow( parameterPanel );
+        
+        pop.show();
+
+        LoadingPopup.close();
+    }
+
+    private void initRuleflowViewer() {
+        RuleFlowContentModel rfcm = (RuleFlowContentModel) asset.content;
+
+        if ( rfcm != null && rfcm.getNodes() != null ) {
+            try {
+
+                parameterPanel = new Panel();
+                parameterPanel.setCollapsible( true );
+                parameterPanel.setTitle( "Parameters" );
+
+                FormStyleLayout parametersForm = new FormStyleLayout();
+                parametersForm.setHeight( "120px" );
+                parameterPanel.add( parametersForm );
+
+                ruleFlowViewer = new RuleFlowViewer( rfcm,
+                                                     parametersForm );
+
+            } catch ( Exception e ) {
+                Window.alert( e.toString() );
+            }
+        }
+    }
+
+    public String getIcon() {
+        return "images/ruleflow_large.png";
+    }
+
+    public String getOverallStyleName() {
+        return "decision-Table-upload";
+    }
+
+    public void onAfterSave() {
+        // TODO Auto-generated method stub
+
+    }
+
+    public void onSave() {
+
+        RuleFlowContentModel rfcm = (RuleFlowContentModel) asset.content;
+
+        rfcm.setNodes( ruleFlowViewer.getTransferNodes() );
+
+    }
+
+    public RuleFlowViewer getRuleFlowViewer() {
+        return ruleFlowViewer;
+    }
+}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/Guvnor.html
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/Guvnor.html	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/Guvnor.html	2008-08-29 10:47:04 UTC (rev 21988)
@@ -37,6 +37,7 @@
 		    </style>
 
 		<link rel="stylesheet" href="Guvnor.css">
+		<link rel="stylesheet" href="ruleflow.css">
 		<link rel="stylesheet" href="header.css">
    </head>
    <body>

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/action.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/action.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/activity.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/activity.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_connective.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_connective.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_field_to_fact.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/add_field_to_fact.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowleft.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowleft.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowright.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/arrowright.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/bluediamond.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/bluediamond.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/check.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/check.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/class_obj.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/class_obj.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear_disabled.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/clear_disabled.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/composite.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/composite.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/connection.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/connection.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/constant_co.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/constant_co.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_item_small.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_item_small.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_obj.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/delete_obj.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools-query.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools-query.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/drools.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl_expression.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dsl_expression.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dt_small.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/dt_small.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/edit.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_private_obj.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_private_obj.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_public_obj.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/field_public_obj.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/function_assets.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/function_assets.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/greensquare.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/greensquare.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/human_task.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/human_task.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import_statement.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/import_statement.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/join.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/join.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure_disabled.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/logical_structure_disabled.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/methpub_obj.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/methpub_obj.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/new_item.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/new_item.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/node-triggered.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/node-triggered.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/open.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/open.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/processV.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/processV.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_start.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_start.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_stop.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/process_stop.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/public_co.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/public_co.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/question.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/question.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/redsquare.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/redsquare.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh_disabled.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/refresh_disabled.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/sample.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/sample.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/split.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/split.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/static_co.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/static_co.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/timer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/timer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/yellowsquare.GIF
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/ruleflow/yellowsquare.GIF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/ruleflow.css
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/ruleflow.css	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/ruleflow.css	2008-08-29 10:47:04 UTC (rev 21988)
@@ -0,0 +1,31 @@
+
+.ruleflow-image{
+	padding: 2px 1px 0px 0px;
+	float: right;
+}
+
+.white-ruleflow-node, 
+.blue-ruleflow-node, 
+.yellow-ruleflow-node {
+	border-right: 1px solid black;
+	border-left: 1px solid black;
+	font-size: 11px;
+	color: black;
+	text-align: center;
+	vertical-align: middle;
+}
+
+.white-ruleflow-node {
+	padding-top: 10px;
+	border-top: 1px solid black;
+	border-bottom: 1px solid black;
+	background-color: white;
+}
+
+.yellow-ruleflow-node {
+	background-color: rgb( 255, 250, 205 );
+}
+
+.blue-ruleflow-node {
+	background-color: rgb( 70, 130, 180 );
+}
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/ruleflow.css
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowContentModelBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowContentModelBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowContentModelBuilder.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -0,0 +1,296 @@
+package org.drools.guvnor.server.builder;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.drools.guvnor.client.rpc.RuleFlowContentModel;
+import org.drools.guvnor.client.rulefloweditor.ForEachTransferNode;
+import org.drools.guvnor.client.rulefloweditor.HumanTaskTransferNode;
+import org.drools.guvnor.client.rulefloweditor.SplitNode;
+import org.drools.guvnor.client.rulefloweditor.SplitTransferNode;
+import org.drools.guvnor.client.rulefloweditor.TransferConnection;
+import org.drools.guvnor.client.rulefloweditor.TransferNode;
+import org.drools.guvnor.client.rulefloweditor.WorkItemTransferNode;
+import org.drools.process.core.Work;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.workflow.core.Constraint;
+import org.drools.workflow.core.Node;
+import org.drools.workflow.core.node.ActionNode;
+import org.drools.workflow.core.node.CompositeNode;
+import org.drools.workflow.core.node.EndNode;
+import org.drools.workflow.core.node.EventNode;
+import org.drools.workflow.core.node.ForEachNode;
+import org.drools.workflow.core.node.HumanTaskNode;
+import org.drools.workflow.core.node.Join;
+import org.drools.workflow.core.node.MilestoneNode;
+import org.drools.workflow.core.node.RuleSetNode;
+import org.drools.workflow.core.node.Split;
+import org.drools.workflow.core.node.StartNode;
+import org.drools.workflow.core.node.SubProcessNode;
+import org.drools.workflow.core.node.TimerNode;
+import org.drools.workflow.core.node.WorkItemNode;
+
+public class RuleFlowContentModelBuilder {
+
+    public RuleFlowContentModel createModel(RuleFlowProcess process) {
+
+        RuleFlowContentModel model = new RuleFlowContentModel();
+
+        Collection<TransferNode> transferNodes = createNodesAndConnections( process.getNodes(),
+                                                                            model );
+
+        model.getNodes().addAll( transferNodes );
+
+        return model;
+    }
+
+    /**
+     * Creates transfer nodes from RuleFlowProcess nodes.
+     * 
+     * @param nodes from the rule flow XML.
+     * @param model RuleFlowContentModel that contains the transfer nodes for client side.  
+     */
+    private Collection<TransferNode> createNodesAndConnections(Node[] nodes,
+                                                               RuleFlowContentModel model) {
+
+        Collection<TransferNode> transferNodes = new ArrayList<TransferNode>();
+
+        for ( int i = 0; i < nodes.length; i++ ) {
+            Node node = nodes[i];
+            TransferNode.Type type = getType( node );
+            TransferNode tn = null;
+
+            if ( type == TransferNode.Type.WORK_ITEM ) {
+
+                tn = createWorkItemTransfernode( (WorkItemNode) node );
+
+            } else if ( type == TransferNode.Type.HUMANTASK ) {
+
+                tn = createHumanTaskTransferNode( (HumanTaskNode) node );
+
+            } else if ( type == TransferNode.Type.SPLIT ) {
+
+                tn = createSplitNode( (Split) node );
+
+            } else if ( type == TransferNode.Type.FOR_EACH ) {
+
+                tn = createForEachNodeNode( (ForEachNode) node );
+
+            } else {
+
+                tn = new TransferNode();
+
+            }
+
+            /*
+             * Creates connections for from and to this node.
+             */
+            createConnections( model,
+                               node );
+
+            tn.setId( node.getId() );
+
+            tn.setX( (Integer) node.getMetaData( "x" ) );
+            tn.setY( (Integer) node.getMetaData( "y" ) );
+
+            Integer height = (Integer) node.getMetaData( "height" );
+            if ( height == null ) {
+                tn.setHeight( 40 );
+            } else {
+                tn.setHeight( height );
+            }
+
+            Integer width = (Integer) node.getMetaData( "width" );
+            if ( width == null ) {
+                tn.setWidth( 80 );
+            } else {
+                tn.setWidth( width );
+            }
+
+            tn.setName( node.getName() );
+            tn.setType( type );
+
+            transferNodes.add( tn );
+        }
+
+        return transferNodes;
+    }
+
+    private ForEachTransferNode createForEachNodeNode(ForEachNode node) {
+
+        ForEachTransferNode fetn = new ForEachTransferNode();
+        RuleFlowContentModel model = new RuleFlowContentModel();
+
+        Collection<TransferNode> transferNodes = createNodesAndConnections( node.getNodes(),
+                                                                            model );
+
+        model.setNodes( transferNodes );
+        fetn.setContentModel( model );
+
+        return fetn;
+    }
+
+    /**
+     * Checks this node for out and in going connections and creates a transfer object from them.
+     * 
+     * @param model
+     * @param node
+     */
+    private void createConnections(RuleFlowContentModel model,
+                                   Node node) {
+
+        for ( List<org.drools.workflow.core.Connection> inConnections : node.getIncomingConnections().values() ) {
+            for ( org.drools.workflow.core.Connection connection : inConnections ) {
+                createConnection( model,
+                                  connection );
+            }
+        }
+
+        for ( List<org.drools.workflow.core.Connection> outConnections : node.getOutgoingConnections().values() ) {
+            for ( org.drools.workflow.core.Connection connection : outConnections ) {
+                createConnection( model,
+                                  connection );
+            }
+        }
+    }
+
+    /**
+     * Creates a single connection to be transferred.
+     * 
+     * @param model
+     * @param connection
+     */
+    private void createConnection(RuleFlowContentModel model,
+                                  org.drools.workflow.core.Connection connection) {
+        TransferConnection tc = new TransferConnection();
+
+        tc.setFromId( connection.getFrom().getId() );
+        tc.setToId( connection.getTo().getId() );
+
+        model.getConnections().add( tc );
+    }
+
+    private TransferNode createHumanTaskTransferNode(HumanTaskNode node) {
+        HumanTaskTransferNode httn = new HumanTaskTransferNode();
+
+        Work work = node.getWork();
+
+        if ( work != null ) {
+            for ( String key : work.getParameters().keySet() ) {
+
+                Object o = work.getParameters().get( key );
+                String value;
+
+                if ( o == null ) {
+                    value = "";
+                } else {
+                    value = o.toString();
+                }
+
+                httn.getParameters().put( key,
+                                          value );
+            }
+        }
+
+        return httn;
+    }
+
+    private SplitTransferNode createSplitNode(Split s) {
+        SplitTransferNode sn = new SplitTransferNode();
+
+        sn.setSplitType( SplitTransferNode.Type.getType( s.getType() ) );
+
+        for ( Split.ConnectionRef connection : s.getConstraints().keySet() ) {
+
+            SplitNode.ConnectionRef ref = new SplitNode.ConnectionRef();
+            ref.setNodeId( connection.getNodeId() );
+            ref.setToType( connection.getToType() );
+
+            SplitNode.Constraint constraint = getConstraint( s.getConstraints().get( connection ) );
+
+            sn.getConstraints().put( ref,
+                                     constraint );
+        }
+
+        return sn;
+    }
+
+    private WorkItemTransferNode createWorkItemTransfernode(WorkItemNode node) {
+        WorkItemTransferNode tn = new WorkItemTransferNode();
+
+        Work work = node.getWork();
+
+        if ( work != null ) {
+            tn.setWorkName( work.getName() );
+
+            for ( String key : work.getParameters().keySet() ) {
+
+                Object o = work.getParameters().get( key );
+                String value;
+
+                if ( o == null ) {
+                    value = "";
+                } else {
+                    value = o.toString();
+                }
+
+                tn.getParameters().put( key,
+                                        value );
+            }
+        }
+
+        return tn;
+    }
+
+    private org.drools.guvnor.client.rulefloweditor.SplitNode.Constraint getConstraint(Constraint constraint) {
+
+        SplitNode.Constraint c = new SplitNode.Constraint();
+
+        c.setConstraint( constraint.getConstraint() );
+
+        c.setDialect( constraint.getDialect() );
+
+        c.setName( constraint.getName() );
+
+        c.setPriority( constraint.getPriority() );
+
+        c.setType( constraint.getType() );
+
+        return c;
+    }
+
+    private TransferNode.Type getType(Node node) {
+        if ( node instanceof StartNode ) {
+            return TransferNode.Type.START;
+        } else if ( node instanceof EndNode ) {
+            return TransferNode.Type.END;
+        } else if ( node instanceof ActionNode ) {
+            return TransferNode.Type.ACTION_NODE;
+        } else if ( node instanceof RuleSetNode ) {
+            return TransferNode.Type.RULESET;
+        } else if ( node instanceof SubProcessNode ) {
+            return TransferNode.Type.SUB_PROCESS;
+        } else if ( node instanceof ForEachNode ) {
+            return TransferNode.Type.FOR_EACH;
+        } else if ( node instanceof CompositeNode ) {
+            return TransferNode.Type.COMPOSITE;
+        } else if ( node instanceof Join ) {
+            return TransferNode.Type.JOIN;
+        } else if ( node instanceof Split ) {
+            return TransferNode.Type.SPLIT;
+        } else if ( node instanceof MilestoneNode ) {
+            return TransferNode.Type.MILESTONE;
+        } else if ( node instanceof TimerNode ) {
+            return TransferNode.Type.TIMER;
+        } else if ( node instanceof HumanTaskNode ) {
+            return TransferNode.Type.HUMANTASK;
+        } else if ( node instanceof WorkItemNode ) {
+            return TransferNode.Type.WORK_ITEM;
+        } else if ( node instanceof EventNode ) {
+            return TransferNode.Type.EVENT;
+        }
+
+        throw new IllegalArgumentException();
+    }
+}

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowProcessBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowProcessBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/RuleFlowProcessBuilder.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -0,0 +1,146 @@
+package org.drools.guvnor.server.builder;
+
+import java.util.Collection;
+
+import org.drools.guvnor.client.rulefloweditor.ForEachTransferNode;
+import org.drools.guvnor.client.rulefloweditor.HumanTaskTransferNode;
+import org.drools.guvnor.client.rulefloweditor.SplitNode;
+import org.drools.guvnor.client.rulefloweditor.SplitTransferNode;
+import org.drools.guvnor.client.rulefloweditor.TransferNode;
+import org.drools.guvnor.client.rulefloweditor.WorkItemTransferNode;
+import org.drools.process.core.Work;
+import org.drools.workflow.core.Constraint;
+import org.drools.workflow.core.Node;
+import org.drools.workflow.core.NodeContainer;
+import org.drools.workflow.core.node.ForEachNode;
+import org.drools.workflow.core.node.HumanTaskNode;
+import org.drools.workflow.core.node.Split;
+import org.drools.workflow.core.node.WorkItemNode;
+import org.drools.workflow.core.node.Split.ConnectionRef;
+import org.drools.ruleflow.core.RuleFlowProcess;
+
+public class RuleFlowProcessBuilder {
+
+    public static void updateProcess(RuleFlowProcess process,
+                                     Collection<TransferNode> contentNodes) {
+
+        for ( TransferNode tn : contentNodes ) {
+
+            Node node = process.getNode( tn.getId() );
+
+            updateNode( tn,
+                        node );
+        }
+    }
+
+    public static void updateContainer(NodeContainer nodeContainer,
+                                       Collection<TransferNode> contentNodes) {
+
+        for ( TransferNode tn : contentNodes ) {
+
+            Node node = nodeContainer.getNode( tn.getId() );
+
+            updateNode( tn,
+                        node );
+        }
+    }
+
+    private static void updateNode(TransferNode tn,
+                                   Node node) {
+        /*
+         * At this point only the parameters are editable
+         */
+        if ( tn instanceof HumanTaskTransferNode ) {
+
+            updateHumanTask( (HumanTaskTransferNode) tn,
+                             (HumanTaskNode) node );
+
+        } else if ( tn instanceof WorkItemTransferNode ) {
+
+            updateWorkItem( (WorkItemTransferNode) tn,
+                            (WorkItemNode) node );
+
+        } else if ( tn instanceof SplitTransferNode ) {
+
+            updateSplitNode( (SplitTransferNode) tn,
+                             (Split) node );
+
+        } else if ( tn instanceof ForEachTransferNode ) {
+
+            updateForEach( (ForEachTransferNode) tn,
+                           (ForEachNode) node );
+        }
+    }
+
+    private static void updateHumanTask(HumanTaskTransferNode httn,
+                                        HumanTaskNode humanTaskNode) {
+        Work work = humanTaskNode.getWork();
+
+        if ( work != null ) {
+            for ( String key : work.getParameters().keySet() ) {
+
+                work.setParameter( key,
+                                   httn.getParameters().get( key ) );
+            }
+        }
+    }
+
+    private static void updateWorkItem(WorkItemTransferNode witn,
+                                       WorkItemNode workItemNode) {
+        Work work = workItemNode.getWork();
+
+        if ( work != null ) {
+
+            for ( String key : work.getParameters().keySet() ) {
+
+                work.setParameter( key,
+                                   witn.getParameters().get( key ) );
+            }
+        }
+    }
+
+    private static void updateSplitNode(SplitTransferNode stn,
+                                        Split splitNode) {
+        for ( Split.ConnectionRef connection : splitNode.getConstraints().keySet() ) {
+
+            final ConnectionRef ref1 = new ConnectionRef( connection.getNodeId(),
+                                                          connection.getToType() );
+
+            SplitNode.ConnectionRef ref2 = new SplitNode.ConnectionRef();
+            ref2.setNodeId( connection.getNodeId() );
+            ref2.setToType( connection.getToType() );
+
+            Constraint c1 = splitNode.getConstraint( ref1 );
+            SplitNode.Constraint c2 = stn.getConstraints().get( ref2 );
+
+            updateConstraint( c1,
+                              c2 );
+        }
+    }
+
+    private static void updateForEach(ForEachTransferNode tn,
+                                      ForEachNode foreachNode) {
+
+        for ( TransferNode subTn : tn.getContentModel().getNodes() ) {
+
+            Node subNode = foreachNode.getNode( subTn.getId() );
+
+            updateNode( subTn,
+                        subNode );
+        }
+    }
+
+    private static void updateConstraint(Constraint to,
+                                         org.drools.guvnor.client.rulefloweditor.SplitNode.Constraint from) {
+
+        to.setConstraint( from.getConstraint() );
+
+        to.setDialect( from.getDialect() );
+
+        to.setName( from.getName() );
+
+        to.setPriority( from.getPriority() );
+
+        to.setType( from.getType() );
+    }
+}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/RuleFlowHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/RuleFlowHandler.java	2008-08-29 10:46:13 UTC (rev 21987)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/RuleFlowHandler.java	2008-08-29 10:47:04 UTC (rev 21988)
@@ -1,4 +1,5 @@
 package org.drools.guvnor.server.contenthandler;
+
 /*
  * Copyright 2005 JBoss Inc
  * 
@@ -15,40 +16,95 @@
  * limitations under the License.
  */
 
-
-
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InputStreamReader;
 
 import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.RuleFlowContentModel;
 import org.drools.guvnor.server.builder.BRMSPackageBuilder;
+import org.drools.guvnor.server.builder.RuleFlowContentModelBuilder;
+import org.drools.guvnor.server.builder.RuleFlowProcessBuilder;
 import org.drools.guvnor.server.builder.ContentPackageAssembler.ErrorLogger;
 import org.drools.repository.AssetItem;
 import org.drools.repository.PackageItem;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.xml.XmlProcessReader;
+import org.drools.xml.XmlRuleFlowProcessDumper;
 
 import com.google.gwt.user.client.rpc.SerializableException;
 
-public class RuleFlowHandler extends ContentHandler implements IRuleAsset {
+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
+
+        RuleFlowProcess process = createModel( new ByteArrayInputStream( item.getContent().getBytes() ) );
+
+        if ( process != null ) {
+            RuleFlowContentModel content = new RuleFlowContentModelBuilder().createModel( process );
+            content.setXml( item.getContent() );
+            asset.content = content;
+        }
+
     }
 
+    protected RuleFlowProcess createModel(InputStream is) {
+
+        RuleFlowProcess process = null;
+
+        try {
+            InputStreamReader reader = new InputStreamReader( is );
+            PackageBuilderConfiguration configuration = new PackageBuilderConfiguration();
+            XmlProcessReader xmlReader = new XmlProcessReader( configuration.getSemanticModules() );
+
+            try {
+                process = (RuleFlowProcess) xmlReader.read( reader );
+
+            } catch ( Exception e ) {
+                reader.close();
+                throw new Exception( "Unable to read rule flow XML." );
+            }
+            reader.close();
+        } catch ( Exception e ) {
+            return null;
+        }
+
+        return process;
+    }
+
     public void storeAssetContent(RuleAsset asset,
                                   AssetItem repoAsset) throws SerializableException {
-        //do nothing, as we have an attachment
+
+        RuleFlowContentModel content = (RuleFlowContentModel) asset.content;
+
+        RuleFlowProcess process = createModel( new ByteArrayInputStream( content.getXml().getBytes() ) );
+
+        RuleFlowProcessBuilder.updateProcess( process,
+                                              content.getNodes() );
+
+        XmlRuleFlowProcessDumper dumper = XmlRuleFlowProcessDumper.INSTANCE;
+        String out = dumper.dump( process );
+
+        repoAsset.updateContent( out );
     }
 
-    public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset, StringBuffer buf) {
+    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()) );
+    public void compile(BRMSPackageBuilder builder,
+                        AssetItem asset,
+                        ErrorLogger logger) throws DroolsParserException,
+                                           IOException {
+        builder.addRuleFlow( new InputStreamReader( asset.getBinaryContentAttachment() ) );
     }
-
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list