[jboss-svn-commits] JBL Code SVN: r13658 - in labs/jbossrules/branches/mvel-tooling-2007-06-30: drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel and 13 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 19 21:21:46 EDT 2007
Author: pombredanne
Date: 2007-07-19 21:21:46 -0400 (Thu, 19 Jul 2007)
New Revision: 13658
Added:
labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Advanced-CEs.xml
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.drl
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AbstractRunConway.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayAgendaGroupRun.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleFlowGroupRun.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.mac.launch
Removed:
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rf
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGrid.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.drl
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.dsl
Modified:
labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Function.xml
labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Package.xml
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/Agenda.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/WorkingMemory.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/agent/RuleAgent.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/InternalRuleFlowGroup.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/RuleFlowGroupImpl.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/reteoo/Rete.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/Cell.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellState.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Border.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Hi.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pentadecathalon.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pulsar.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/SimpleGlider.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ui/ConwayGUI.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.launch
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DSLRuleEditor.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DefaultRuleContentWidget.java
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html
Log:
Ported r13650 from trunk to branch mvel-tooling-2007-06-30.
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Advanced-CEs.xml (from rev 13650, labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Advanced-CEs.xml)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Advanced-CEs.xml (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Advanced-CEs.xml 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section>
+ <title>Advanced Conditional Elements</title>
+
+ <note>
+ <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+ </note>
+
+ <para>Drools 4.0 introduces a whole new set of conditional elements in order
+ to support full First Order Logic expressiveness, as well as some facilities
+ for handling collections of facts. This section will detail the following
+ new Conditional Elements:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>from </para>
+ </listitem>
+
+ <listitem>
+ <para>collect</para>
+ </listitem>
+
+ <listitem>
+ <para>accumulate </para>
+ </listitem>
+
+ <listitem>
+ <para>forall</para>
+ </listitem>
+ </itemizedlist>
+
+ <section>
+ <title>from</title>
+
+ <para>The <emphasis role="bold">from</emphasis> Conditional Element allows
+ users to specify a source for patterns to reason over. This allows the
+ engine to reason over data not in the Working Memory. This could be a
+ sub-field on a bound variable or the results of a method call. It is a
+ powerful construction that allows out of the box integration with other
+ application components and frameworks. One common example is the
+ integration with data retrieved on-demand from databases using hibernate
+ named queries.</para>
+
+ <para>The expression used to define the object source is any expression
+ that follows regular MVEL syntax. I.e., it allows you to easily use object
+ property navigation, execute method calls and access maps and collections
+ elements.</para>
+
+ <para>Here is a simple example of reasoning and binding on another pattern
+ sub-field: </para>
+
+ <para><programlisting>rule "validate zipcode"
+when
+ Person( $personAddress : address )
+ Address( zipcode == "23920W") from $personAddress
+then
+ # zip code is ok
+end
+</programlisting></para>
+
+ <para>With all the flexibility from the new expressiveness in the Drools
+ engine you can slice and dice this problem many ways. This is the same but
+ shows how you can use a graph notation with the 'from': </para>
+
+ <para><programlisting>rule "validate zipcode"
+when
+ $p : Person( )
+ $a : Address( zipcode == "23920W") from $p.address
+then
+ # zip code is ok
+end
+</programlisting></para>
+
+ <para>Previous examples were reasoning over a single pattern. The
+ <emphasis role="bold">from</emphasis> CE also support object sources that
+ return a collection of objects. In that case, <emphasis
+ role="bold">from</emphasis> will iterate over all objects in the
+ collection and try to match each of them individually. For instance, if we
+ want a rule that applies 10% discount to each item in an order, we could
+ do:</para>
+
+ <programlisting>rule "apply 10% discount to all items over US$ 100,00 in an order"
+when
+ $order : Order()
+ $item : OrderItem( value > 100 ) from $order.items
+then
+ # apply discount to $item
+end
+</programlisting>
+
+ <para>The above example will cause the rule to fire once for each item
+ whose value is greater than 100 for each given order.</para>
+
+ <para>The next example shows how we can reason over the results of a
+ hibernate query. The Restaurant pattern will reason over and bind with
+ each result in turn: </para>
+ </section>
+
+ <section>
+ <title>collect</title>
+
+ <para>The <emphasis role="bold">collect</emphasis> Conditional Element
+ allows rules to reason over collection of objects collect from the given
+ source or from the working memory. A simple example:</para>
+
+ <programlisting>import java.util.ArrayList
+
+rule "Raise priority if system has more than 3 pending alarms"
+when
+ $system : System()
+ $alarms : ArrayList( size >= 3 )
+ from collect( Alarm( system == $system, status == 'pending' ) )
+then
+ # Raise priority, because system $system has
+ # 3 or more alarms pending. The pending alarms
+ # are $alarms.
+end
+</programlisting>
+
+ <para>In the above example, the rule will look for all pending alarms in
+ the working memory for each given system and group them in ArrayLists. If
+ 3 or more alarms are found for a given system, the rule will fire.</para>
+
+ <para>The <emphasis role="bold">collect</emphasis> CE result pattern can
+ be any concrete class that implements tha java.util.Collection interface
+ and provides a default no-arg public constructor. I.e., you can use
+ default java collections like ArrayList, LinkedList, HashSet, etc, or your
+ own class, as long as it implements the java.util.Collection interface and
+ provide a default no-arg public constructor.</para>
+
+ <para>Both source and result patterns can be constrained as any other
+ pattern.</para>
+
+ <para>Variables bound before the <emphasis role="bold">collect</emphasis>
+ CE are in the scope of both source and result patterns and as so, you can
+ use them to constrain both your source and result patterns. Although, the
+ <emphasis>collect( ... )</emphasis> is a scope delimiter for bindings,
+ meaning that any binding made inside of it, is not available for use
+ outside of it.</para>
+
+ <para>Collect accepts nested <emphasis role="bold">from</emphasis>
+ elements, so the following example is a valid use of <emphasis
+ role="bold">collect</emphasis>:</para>
+
+ <programlisting>import java.util.LinkedList;
+
+rule "Send a message to all mothers"
+when
+ $town : Town( name == 'Paris' )
+ $mothers : LinkedList()
+ from collect( Person( gender == 'F', children > 0 )
+ from $town.getPeople()
+ )
+then
+ # send a message to all mothers
+end
+</programlisting>
+ </section>
+</section>
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Function.xml
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Function.xml 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Function.xml 2007-07-20 01:21:46 UTC (rev 13658)
@@ -2,6 +2,10 @@
<section>
<title>Function</title>
+ <note>
+ <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+ </note>
+
<figure>
<title>function</title>
@@ -16,34 +20,43 @@
</mediaobject>
</figure>
- <para>Functions are a way to put semantic code in your rule source, as
+ <para>Functions are a way to put semantic code in your rule source file, as
opposed to in normal java classes. They can't do anything more then what you
can do with helper classes (in fact, the compiler generates the helper class
- for you behind the scenes, isn't that helpful). The main advantage of using
- functions in a rule is that you can keep the logic all in one place, and you
- can change the functions as needed (this can be a good and bad thing).
- Functions are most useful for invoking actions on the consequence ("then")
- part of a rule, especially if that particular action is used over and over
- (perhaps with only differing parameters for each rule - for example the
- contents of an email message).</para>
+ for you behind the scenes). The main advantage of using functions in a rule
+ is that you can keep the logic all in one place, and you can change the
+ functions as needed (this can be a good and bad thing). Functions are most
+ useful for invoking actions on the consequence ("then") part of a rule,
+ especially if that particular action is used over and over (perhaps with
+ only differing parameters for each rule - for example the contents of an
+ email message).</para>
<para>A typical function declaration looks like:</para>
- <para>function String calcSomething(String arg) {</para>
+ <programlisting>function String hello(String name) {
+ return "Hello "+name+"!";
+}
+</programlisting>
- <para>return "hola !";</para>
-
- <para>}</para>
-
<para>Note that the "function" keyword is used, even though its not really
part of java. Parameters to the function are just like a normal method (and
you don't have to have parameters if they are not needed). Return type is
- just like a normal method. To call the function from within a rule (in a
- consequence, or perhaps an eval, simply use the function name, and toss in
- the parameters - just like a method call).</para>
+ just like a normal method.</para>
- <para>An alternative to a function, could be to use a static method in a
- helper class: Foo.doSomething(), or perhaps pass in an instance of a helper
- class/service as a named global (see the section on globals):
- foo.soSomething() (where foo is a named global variable).</para>
+ <para>An alternative to the use of a function, could be to use a static
+ method in a helper class: Foo.hello(). Drools 4.0 supports the use of static
+ imports, so all you would need to do is:</para>
+
+ <programlisting>import static my.package.Foo.hello</programlisting>
+
+ <para>In both cases above, to use the function, just call it by its name in
+ the consequence or inside a semantic code block. Example:</para>
+
+ <programlisting>rule "using a static function"
+when
+ eval( true )
+then
+ System.out.println( hello( "Bob" ) );
+end
+</programlisting>
</section>
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Package.xml
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Package.xml 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/documentation/manual/en/Chapter-Rule_Language/Section-Package.xml 2007-07-20 01:21:46 UTC (rev 13658)
@@ -2,6 +2,10 @@
<section>
<title>Package</title>
+ <note>
+ <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+ </note>
+
<para>A package is a collection of rules and other related constructs, such
as imports and globals. The package members are typically related to each
other - perhaps HR rules, for instance. A package represents a namespace,
@@ -11,9 +15,11 @@
<para>It is possible to assemble rules from multiple rule sources, and have
one top level package configuration that all the rules are kept under (when
- the rules are assembled). A common structure, however, is to have all the
- rules for a package in the same file as the package declaration (so that is
- it entirely self contained).</para>
+ the rules are assembled). Although, it is not possible to merge into the
+ same package resources declared under different names. A single Rulebase,
+ can though, contain multiple packages built on it. A common structure, is to
+ have all the rules for a package in the same file as the package declaration
+ (so that is it entirely self contained).</para>
<para>The following rail road diagram shows all the components that may make
up a package. Note that a package MUST have a namespace and be declared
@@ -56,8 +62,8 @@
<para>Import statements work like import statements in Java. You need to
specify the fully qualified paths and type names for any objects you want
- to use in the rule. Drools automatically imports classes from the same
- named java package.</para>
+ to use in the rules. Drools automatically imports classes from the same
+ named java package and from the java.lang package.</para>
</section>
<section>
@@ -78,9 +84,13 @@
</figure>
<para>The expander statement (optional) is used to specify domain specific
- language configurations (which are normally stored in a seperate file).
- This provides clues to the parser as to how to understand what you are
- raving on about in your rules.</para>
+ language (DSL) configurations (which are normally stored in a seperate
+ file). This provides clues to the parser as how to understand what you are
+ raving on about in your rules. It is important to note that in Drools 4.0
+ (that is different from Drools 3.x) the expander declaration is mandatory
+ for the tools to provide you context assist and avoiding error reporting,
+ but the API allows the program to apply DSL templates, even if the
+ expanders are not declared in the source file.</para>
</section>
<section>
@@ -100,22 +110,57 @@
</mediaobject>
</figure>
- <para>Globals are global variables. If multiple packages declare globals
- of the same identifier they must be of the same type and the all reference
- the same global value. They are typically used to return data, such as a
- log of actions, or provide data or services that the rules use. Globals
- are not inserted into the Working Memory so the engine is not aware when
- globals are modified; for this reason globals should not be used in
- constraints unless their values are considered final and immuttable.
- Incorrect use of globals in constraints may yield suprising results -
- surprising in a bad way, like when a doctor says "thats interesting" to a
- chest XRay of yours.</para>
+ <para>Globals are global variables. They are used to make application
+ objects available to the rules, and are typically used to provide data or
+ services that the rules use (specially application services used in rule
+ consequences), to return data from the rules (like logs or values added in
+ rules consequence) or for the rules to interact with the application doing
+ callbacks. Globals are not inserted into the Working Memory so they should
+ never be reasoned over, and only use them in rules LHS if the global has a
+ constant immutable value. The engine is not notified and does not track
+ globals value changes. Incorrect use of globals in constraints may yield
+ suprising results - surprising in a bad way, like when a doctor says
+ "thats interesting" to a chest XRay of yours.</para>
+ <para>If multiple packages declare globals with the same identifier they
+ must be of the same type and all of them will reference the same global
+ value.</para>
+
+ <para>In order to use globals you must:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Declare your global variable in your rules file and use it in
+ rules. Example:</para>
+
+ <programlisting>global java.util.List myGlobalList;
+
+rule "Using a global"
+when
+ eval( true )
+then
+ myGlobalList.add( "Hello World" );
+end
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Set the global value on your working memory. It is a best
+ practice to set all global values before asserting any fact to the
+ working memory. Example:</para>
+
+ <programlisting>List list = new ArrayList();
+WorkingMemory wm = rulebase.newStatefulSession();
+wm.setGlobal( "myGlobalList", list );
+</programlisting>
+ </listitem>
+ </orderedlist>
+
<para>Note that these are just named instances of objects that you pass in
from your application to the working memory. This means you can pass in
any object you want: you could pass in a service locator, or perhaps a
service itself. With the new 'from' element it is now common to pass a
- global for a Hibernate session, to allow 'from' to pull data from a named
+ Hibernate session as a global, to allow 'from' to pull data from a named
Hibernate query.</para>
<para>One example may be an instance of a Email service. In your
@@ -123,6 +168,15 @@
emailService object, and then set it in the working memory. In the DRL,
you declare that you have a global of type EmailService, and give it a
name "email". Then in your rule consequences, you can use things like
- email.sendSMS(number, message); etc... (you get the idea).</para>
+ email.sendSMS(number, message).</para>
+
+ <para>Globals are not designed to share data between rules and they should
+ never be used for that purpose. Rules always reason and react to the
+ working memory state, so if you want to "share" data between rules, assert
+ the data to the working memory.</para>
+
+ <para>It is strongly discouraged to set (or change) a global value from
+ inside your rules. We recomend to you always set the value from your
+ application using the working memory interface.</para>
</section>
</section>
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -468,7 +468,9 @@
public static class AssertInterceptor
implements
- Interceptor {
+ Interceptor, Serializable {
+ private static final long serialVersionUID = 400L;
+
public int doBefore(ASTNode node,
VariableResolverFactory factory) {
return 0;
@@ -484,7 +486,9 @@
public static class ModifyInterceptor
implements
- Interceptor {
+ Interceptor, Serializable {
+ private static final long serialVersionUID = 400L;
+
public int doBefore(ASTNode node,
VariableResolverFactory factory) {
Object object = ((WithNode) node).getNestedStatement().getValue( null,
Deleted: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rf
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rf 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -1,150 +0,0 @@
-<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
- <nodes id="2">
- <entry>
- <long>2</long>
- <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
- <ruleFlowGroup>flowgroup-1</ruleFlowGroup>
- <id>2</id>
- <name>RuleSet1</name>
- <incomingConnections id="4">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
- <id>1</id>
- <name>Start</name>
- <incomingConnections id="7"/>
- <outgoingConnections id="8">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
- </outgoingConnections>
- </from>
- <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </incomingConnections>
- <outgoingConnections id="9">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
- <to class="org.drools.ruleflow.core.impl.SplitImpl" id="11">
- <type>1</type>
- <constraints id="12"/>
- <id>5</id>
- <name>Split</name>
- <incomingConnections id="13">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
- </incomingConnections>
- <outgoingConnections id="14">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="15">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
- <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="16">
- <ruleFlowGroup>flowgroup-2</ruleFlowGroup>
- <id>3</id>
- <name>RuleSet2</name>
- <incomingConnections id="17">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="15"/>
- </incomingConnections>
- <outgoingConnections id="18">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="19">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="16"/>
- <to class="org.drools.ruleflow.core.impl.JoinImpl" id="20">
- <type>1</type>
- <id>6</id>
- <name>Join</name>
- <incomingConnections id="21">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="22">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="23">
- <ruleFlowGroup>flowgroup-3</ruleFlowGroup>
- <id>4</id>
- <name>RuleSet3</name>
- <incomingConnections id="24">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="25">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
- <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="23"/>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </incomingConnections>
- <outgoingConnections id="26">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="22"/>
- </outgoingConnections>
- </from>
- <to class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="19"/>
- </incomingConnections>
- <outgoingConnections id="27">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="28">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
- <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="29">
- <ruleFlowGroup>flowgroup-4</ruleFlowGroup>
- <id>7</id>
- <name>RuleSet4</name>
- <incomingConnections id="30">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="28"/>
- </incomingConnections>
- <outgoingConnections id="31">
- <org.drools.ruleflow.core.impl.ConnectionImpl id="32">
- <type>1</type>
- <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="29"/>
- <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="33">
- <id>8</id>
- <name>End</name>
- <incomingConnections id="34">
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="32"/>
- </incomingConnections>
- <outgoingConnections id="35"/>
- </to>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </outgoingConnections>
- </to>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </outgoingConnections>
- </to>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </outgoingConnections>
- </to>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- <org.drools.ruleflow.core.impl.ConnectionImpl reference="25"/>
- </outgoingConnections>
- </to>
- </org.drools.ruleflow.core.impl.ConnectionImpl>
- </outgoingConnections>
- </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
- </entry>
- <entry>
- <long>4</long>
- <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="23"/>
- </entry>
- <entry>
- <long>8</long>
- <org.drools.ruleflow.core.impl.EndNodeImpl reference="33"/>
- </entry>
- <entry>
- <long>6</long>
- <org.drools.ruleflow.core.impl.JoinImpl reference="20"/>
- </entry>
- <entry>
- <long>1</long>
- <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
- </entry>
- <entry>
- <long>3</long>
- <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="16"/>
- </entry>
- <entry>
- <long>7</long>
- <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="29"/>
- </entry>
- <entry>
- <long>5</long>
- <org.drools.ruleflow.core.impl.SplitImpl reference="11"/>
- </entry>
- </nodes>
- <variables id="36"/>
- <lastNodeId>8</lastNodeId>
- <id>0</id>
- <name>flow</name>
- <type>Workflow</type>
-</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rfm (from rev 13638, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/ruleflow.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,150 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+ <ruleFlowGroup>flowgroup-1</ruleFlowGroup>
+ <id>2</id>
+ <name>RuleSet1</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="7"/>
+ <outgoingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.SplitImpl" id="11">
+ <type>1</type>
+ <constraints id="12"/>
+ <id>5</id>
+ <name>Split</name>
+ <incomingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </incomingConnections>
+ <outgoingConnections id="14">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="15">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="16">
+ <ruleFlowGroup>flowgroup-2</ruleFlowGroup>
+ <id>3</id>
+ <name>RuleSet2</name>
+ <incomingConnections id="17">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="15"/>
+ </incomingConnections>
+ <outgoingConnections id="18">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="19">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="16"/>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" id="20">
+ <type>1</type>
+ <id>6</id>
+ <name>Join</name>
+ <incomingConnections id="21">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="22">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="23">
+ <ruleFlowGroup>flowgroup-3</ruleFlowGroup>
+ <id>4</id>
+ <name>RuleSet3</name>
+ <incomingConnections id="24">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="25">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="23"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="26">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="22"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="19"/>
+ </incomingConnections>
+ <outgoingConnections id="27">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="28">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.JoinImpl" reference="20"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="29">
+ <ruleFlowGroup>flowgroup-4</ruleFlowGroup>
+ <id>7</id>
+ <name>RuleSet4</name>
+ <incomingConnections id="30">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="28"/>
+ </incomingConnections>
+ <outgoingConnections id="31">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="32">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="29"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="33">
+ <id>8</id>
+ <name>End</name>
+ <incomingConnections id="34">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="32"/>
+ </incomingConnections>
+ <outgoingConnections id="35"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="25"/>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+ </entry>
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="23"/>
+ </entry>
+ <entry>
+ <long>8</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="33"/>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.JoinImpl reference="20"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="16"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="29"/>
+ </entry>
+ <entry>
+ <long>5</long>
+ <org.drools.ruleflow.core.impl.SplitImpl reference="11"/>
+ </entry>
+ </nodes>
+ <variables id="36"/>
+ <lastNodeId>8</lastNodeId>
+ <id>0</id>
+ <name>flow</name>
+ <type>Workflow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.drl (from rev 13638, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.drl)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.drl (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.drl 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,33 @@
+package com.sample
+
+import java.util.List;
+
+global List list
+
+rule "Rule1" ruleflow-group "flowgroup-1"
+ when
+ eval(true)
+ then
+ list.add("Rule1");
+end
+
+rule "Rule2" ruleflow-group "flowgroup-1"
+ when
+ eval(true)
+ then
+ list.add("Rule2");
+end
+
+rule "Rule3" ruleflow-group "flowgroup-1" salience 10
+ when
+ eval(true)
+ then
+ list.add("Rule3");
+end
+
+rule "Rule4" ruleflow-group "flowgroup-1" salience 20
+ when
+ eval(true)
+ then
+ list.add("Rule4");
+end
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rf (from rev 13638, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rf)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rf (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,154 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+ <default>
+ <elements id="2">
+ <entry>
+ <string>2-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper id="3" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="4">
+ <x>530</x>
+ <y>111</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.EndNodeImpl" id="5">
+ <id>2</id>
+ <name>End</name>
+ <incomingConnections id="6">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="8">
+ <ruleFlowGroup>flowgroup-1</ruleFlowGroup>
+ <id>3</id>
+ <name>flowgroup-1</name>
+ <incomingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="11">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="12"/>
+ <outgoingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="8"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="14">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="5"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="15"/>
+ </element>
+ <incomingConnections id="16">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="17" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="18"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="19" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="20">
+ <x>297</x>
+ <y>112</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="8"/>
+ <incomingConnections id="21">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="22" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="23"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="24" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="25">
+ <x>100</x>
+ <y>100</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="11"/>
+ <incomingConnections id="26"/>
+ <outgoingConnections id="27">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="22"/>
+ </outgoingConnections>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="19"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="10"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="28">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="17"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" reference="3"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="29"/>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper>
+ </entry>
+ <entry>
+ <string>3-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="19"/>
+ </entry>
+ <entry>
+ <string>1-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="24"/>
+ </entry>
+ </elements>
+ <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="30">
+ <nodes id="31">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="5"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="11"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="8"/>
+ </entry>
+ </nodes>
+ <variables id="32"/>
+ <lastNodeId>3</lastNodeId>
+ <id>ruleFlowClear</id>
+ <name>test_ruleflowClear</name>
+ <type>RuleFlow</type>
+ </process>
+ <routerLayout>2</routerLayout>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rfm (from rev 13638, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/resources/org/drools/integrationtests/test_ruleflowClear.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,53 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl id="3">
+ <id>2</id>
+ <name>End</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="6">
+ <ruleFlowGroup>flowgroup-1</ruleFlowGroup>
+ <id>3</id>
+ <name>flowgroup-1</name>
+ <incomingConnections id="7">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="8">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="9">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="10"/>
+ <outgoingConnections id="11">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="8"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="6"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="13"/>
+ </org.drools.ruleflow.core.impl.EndNodeImpl>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="9"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="6"/>
+ </entry>
+ </nodes>
+ <variables id="14"/>
+ <lastNodeId>3</lastNodeId>
+ <id>ruleFlowClear</id>
+ <name>test_ruleflowClear</name>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/Agenda.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/Agenda.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/Agenda.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -124,11 +124,15 @@
public void clearActivationGroup(String name);
/**
- * Clears all Activations from an Xor Group. Any Activations that are also in an Agenda Group are removed
+ * Clears all Activations from an Activation Group. Any Activations that are also in an Agenda Group are removed
* from the Agenda Group.
*
* @param activationGroup
*/
public void clearActivationGroup(ActivationGroup activationGroup);
+
+ public void clearRuleFlowGroup(final String name);
+
+ public void clearRuleFlowGroup(final RuleFlowGroup ruleFlowGroup);
}
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/WorkingMemory.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/WorkingMemory.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -325,6 +325,18 @@
public void clearAgendaGroup(String group);
/**
+ * Clears the Activation Group, cancellings all its Activations
+ * @param group
+ */
+ public void clearActivationGroup(String group);
+
+ /**
+ * Clears the RuleFlow group, cancelling all its Activations
+ * @param group
+ */
+ public void clearRuleFlowGroup(String group);
+
+ /**
* Starts a new process instance for the process with the given id.
*/
ProcessInstance startProcess(String processId);
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/agent/RuleAgent.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/agent/RuleAgent.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/agent/RuleAgent.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -123,6 +123,11 @@
* For logging events (important for stuff that happens in the background).
*/
AgentEventListener listener = getDefaultListener();
+
+ /**
+ * Polling interval value, in seconds, used in the Timer.
+ */
+ private int secondsToRefresh;
@@ -246,24 +251,7 @@
refreshRuleBase();
if ( secondsToRefresh != -1 ) {
- int interval = secondsToRefresh * 1000;
- //now schedule it for polling
- timer = new Timer( true );
- timer.schedule( new TimerTask() {
- public void run() {
- try {
-
- listener.debug( "Checking for updates." );
- refreshRuleBase();
-
- } catch (Exception e) {
- //don't want to stop execution here.
- listener.exception( e );
- }
- }
- },
- interval,
- interval );
+ startPolling( secondsToRefresh );
}
}
@@ -342,16 +330,63 @@
/**
* Stop the polling (if it is happening)
*/
- public void stopPolling() {
+ public synchronized void stopPolling() {
if ( this.timer != null ) timer.cancel();
timer = null;
}
+
+ /**
+ * Will start polling. If polling is already running it does nothing.
+ *
+ */
+ public synchronized void startPolling() {
+ if ( this.timer == null ) {
+ startPolling( this.secondsToRefresh );
+ }
+ }
+
+ /**
+ * Will start polling. If polling is already happening and of the same interval
+ * it will do nothing, if the interval is different it will stop the current Timer
+ * and create a new Timer for the new interval.
+ * @param secondsToRefresh
+ */
+ public synchronized void startPolling(int secondsToRefresh) {
+ if ( this.timer != null ) {
+ if ( this.secondsToRefresh != secondsToRefresh ) {
+ stopPolling();
+ } else {
+ // do nothing.
+ return;
+ }
+ }
+
+ this.secondsToRefresh = secondsToRefresh;
+ int interval = this.secondsToRefresh * 1000;
+ //now schedule it for polling
+ timer = new Timer( true );
+ timer.schedule( new TimerTask() {
+ public void run() {
+ try {
+
+ listener.debug( "Checking for updates." );
+ refreshRuleBase();
+
+ } catch (Exception e) {
+ //don't want to stop execution here.
+ listener.exception( e );
+ }
+ }
+ },
+ interval,
+ interval );
+ }
boolean isNewInstance() {
return newInstance;
}
- boolean isPolling() {
+ public synchronized boolean isPolling() {
return this.timer != null;
}
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -371,6 +371,14 @@
public void clearAgendaGroup(final String group) {
this.agenda.clearAgendaGroup( group );
}
+
+ public void clearActivationGroup(final String group) {
+ this.agenda.clearActivationGroup( group );
+ }
+
+ public void clearRuleFlowGroup(final String group) {
+ this.agenda.clearRuleFlowGroup( group );
+ }
public RuleBase getRuleBase() {
return this.ruleBase;
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/DefaultAgenda.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/DefaultAgenda.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -28,6 +28,7 @@
import org.drools.WorkingMemory;
import org.drools.base.DefaultKnowledgeHelper;
import org.drools.base.SequentialKnowledgeHelper;
+import org.drools.common.RuleFlowGroupImpl.DeactivateCallback;
import org.drools.spi.Activation;
import org.drools.spi.ActivationGroup;
import org.drools.spi.AgendaFilter;
@@ -392,7 +393,7 @@
continue;
}
- // this must be set false before removal from the XorGroup. Otherwise the XorGroup will also try to cancel the Actvation
+ // this must be set false before removal from the activationGroup. Otherwise the activationGroup will also try to cancel the Actvation
item.setActivated( false );
if ( item.getActivationGroupNode() != null ) {
@@ -446,7 +447,45 @@
}
activationGroup.clear();
}
+
+ public void clearRuleFlowGroup(final String name) {
+ final RuleFlowGroup ruleFlowGrlup = (RuleFlowGroup) this.ruleFlowGroups.get( name );
+ if ( ruleFlowGrlup != null ) {
+ clearRuleFlowGroup( ruleFlowGrlup );
+ }
+ }
+
+ public void clearRuleFlowGroup(final RuleFlowGroup ruleFlowGroup) {
+ final EventSupport eventsupport = (EventSupport) this.workingMemory;
+
+ for ( Iterator it = ruleFlowGroup.iterator(); it.hasNext(); ) {
+ RuleFlowGroupNode node = ( RuleFlowGroupNode ) it.next();
+ AgendaItem item = ( AgendaItem ) node.getActivation();
+ if ( item != null ) {
+ item.setActivated( false );
+ item.remove();
+
+ if ( item.getActivationGroupNode() != null ) {
+ item.getActivationGroupNode().getActivationGroup().removeActivation( item );
+ }
+ }
+
+
+
+ eventsupport.getAgendaEventSupport().fireActivationCancelled( item,
+ this.workingMemory );
+ }
+
+ ((InternalRuleFlowGroup) ruleFlowGroup).clear();
+
+ if ( ruleFlowGroup.isActive() && ruleFlowGroup.isAutoDeactivate() ) {
+ // deactivate callback
+ WorkingMemoryAction action = new DeactivateCallback( (InternalRuleFlowGroup) ruleFlowGroup );
+ this.workingMemory.queueWorkingMemoryAction( action );
+ }
+ }
+
/**
* Fire the next scheduled <code>Agenda</code> item.
*
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/InternalRuleFlowGroup.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/InternalRuleFlowGroup.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/InternalRuleFlowGroup.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -15,6 +15,8 @@
void addActivation(Activation activation);
void removeActivation(final Activation activation);
+
+ void clear();
/**
* Activates or deactivates this <code>RuleFlowGroup</code>.
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/RuleFlowGroupImpl.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/RuleFlowGroupImpl.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/common/RuleFlowGroupImpl.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -41,13 +41,13 @@
implements
InternalRuleFlowGroup {
- private static final long serialVersionUID = 400L;
+ private static final long serialVersionUID = 400L;
- private InternalWorkingMemory workingMemory;
- private final String name;
- private boolean active = false;
- private final LinkedList list;
- private boolean autoDeactivate = true;
+ private InternalWorkingMemory workingMemory;
+ private final String name;
+ private boolean active = false;
+ private final LinkedList list;
+ private boolean autoDeactivate = true;
/**
* Construct a <code>RuleFlowGroupImpl</code> with the given name.
@@ -63,13 +63,13 @@
public String getName() {
return this.name;
}
-
+
public void setWorkingMemory(InternalWorkingMemory workingMemory) {
- this.workingMemory = workingMemory;
+ this.workingMemory = workingMemory;
}
-
+
public InternalWorkingMemory getWorkingMemory() {
- return this.workingMemory;
+ return this.workingMemory;
}
public void setActive(final boolean active) {
@@ -79,17 +79,17 @@
this.active = active;
if ( active ) {
if ( this.list.isEmpty() ) {
- if ( this.autoDeactivate ) {
- // if the list of activations is empty and
- // auto-deactivate is on, deactivate this group
- WorkingMemoryAction action = new DeactivateCallback( this );
- this.workingMemory.queueWorkingMemoryAction( action );
- }
+ if ( this.autoDeactivate ) {
+ // if the list of activations is empty and
+ // auto-deactivate is on, deactivate this group
+ WorkingMemoryAction action = new DeactivateCallback( this );
+ this.workingMemory.queueWorkingMemoryAction( action );
+ }
} else {
- triggerActivations();
+ triggerActivations();
}
- ((EventSupport) this.workingMemory).getRuleFlowEventSupport()
- .fireRuleFlowGroupActivated(this, this.workingMemory);
+ ((EventSupport) this.workingMemory).getRuleFlowEventSupport().fireRuleFlowGroupActivated( this,
+ this.workingMemory );
} else {
final Iterator it = this.list.iterator();
for ( RuleFlowGroupNode node = (RuleFlowGroupNode) it.next(); node != null; node = (RuleFlowGroupNode) it.next() ) {
@@ -99,8 +99,8 @@
activation.getActivationGroupNode().getActivationGroup().removeActivation( activation );
}
}
- ((EventSupport) this.workingMemory).getRuleFlowEventSupport()
- .fireRuleFlowGroupDeactivated(this, this.workingMemory);
+ ((EventSupport) this.workingMemory).getRuleFlowEventSupport().fireRuleFlowGroupDeactivated( this,
+ this.workingMemory );
}
}
@@ -129,10 +129,7 @@
}
public void clear() {
- final Iterator it = this.list.iterator();
- for ( RuleFlowGroupNode node = (RuleFlowGroupNode) it.next(); node != null; node = (RuleFlowGroupNode) it.next() ) {
- node.getActivation().remove();
- }
+ this.list.clear();
}
public int size() {
@@ -154,11 +151,11 @@
final RuleFlowGroupNode node = activation.getRuleFlowGroupNode();
this.list.remove( node );
activation.setActivationGroupNode( null );
- if ( this.autoDeactivate ) {
+ if ( this.active && this.autoDeactivate ) {
if ( this.list.isEmpty() ) {
- // deactivate callback
- WorkingMemoryAction action = new DeactivateCallback( this );
- this.workingMemory.queueWorkingMemoryAction( action );
+ // deactivate callback
+ WorkingMemoryAction action = new DeactivateCallback( this );
+ this.workingMemory.queueWorkingMemoryAction( action );
}
}
}
@@ -195,7 +192,9 @@
setActive( true );
}
- public static class DeactivateCallback implements WorkingMemoryAction {
+ public static class DeactivateCallback
+ implements
+ WorkingMemoryAction {
private final InternalRuleFlowGroup ruleFlowGroup;
public DeactivateCallback(InternalRuleFlowGroup ruleFlowGroup) {
@@ -203,9 +202,9 @@
}
public void execute(InternalWorkingMemory workingMemory) {
- // check whether ruleflow group is still empty first
+ // check whether ruleflow group is still empty first
if ( this.ruleFlowGroup.isEmpty() ) {
- // deactivate ruleflow group
+ // deactivate ruleflow group
this.ruleFlowGroup.setActive( false );
// only trigger next node if this RuleFlowGroup was
// triggered from inside a process instance
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/reteoo/Rete.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-core/src/main/java/org/drools/reteoo/Rete.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -133,9 +133,11 @@
false );
}
} else {
- Class cls = object.getClass();
+ Class cls = null;
if ( object instanceof ShadowProxy ) {
- cls = cls.getSuperclass();
+ cls = ((ShadowProxy)object).getShadowedObject().getClass();
+ } else {
+ cls = object.getClass();
}
ojectTypeConf = (ObjectTypeConf) memory.get( cls );
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -97,11 +97,11 @@
esl.newCell(4, 0, "", 0);
esl.newCell(4, 1, "", 0);
esl.newCell(4, 2, "", 0);
-
+
esl.finishSheet();
assertEquals(2, assertedRows.size());
}
-
+
private class TestTemplateRuleBase implements TemplateRuleBase {
public StatefulSession newStatefulSession() {
@@ -234,7 +234,7 @@
}
public void setGlobalResolver(GlobalResolver globalResolver) {
-
+
}
public ProcessInstance startProcess(String processId) {
@@ -304,41 +304,41 @@
Rule rule,
Activation activation) {
// TODO Auto-generated method stub
-
+
}
public void modifyRetract(FactHandle factHandle,
Rule rule,
Activation activation) {
// TODO Auto-generated method stub
-
+
}
public void modifyInsert(FactHandle factHandle,
Object object) {
// TODO Auto-generated method stub
-
+
}
public void modifyRetract(FactHandle factHandle) {
// TODO Auto-generated method stub
-
+
}
public void halt() {
// TODO Auto-generated method stub
-
+
}
public void fireAllRules(int fireLimit) throws FactException {
// TODO Auto-generated method stub
-
+
}
public void fireAllRules(AgendaFilter agendaFilter,
int fireLimit) throws FactException {
// TODO Auto-generated method stub
-
+
}
public Future asyncInsert(List list) {
@@ -355,6 +355,16 @@
// TODO Auto-generated method stub
return null;
}
+
+ public void clearActivationGroup(String group) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void clearRuleFlowGroup(String group) {
+ // TODO Auto-generated method stub
+
+ }
};
}
}
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AbstractRunConway.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AbstractRunConway.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AbstractRunConway.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AbstractRunConway.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,32 @@
+package org.drools.examples.conway;
+
+import java.awt.BorderLayout;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import javax.swing.JFrame;
+
+import org.drools.examples.conway.ui.ConwayGUI;
+
+public class AbstractRunConway {
+ public static final int AGENDAGROUP = 0;
+ public static final int RULEFLOWGROUP = 1;
+
+ public static void start(final int executionControl) {
+ final ConwayGUI gui = new ConwayGUI(executionControl);
+ final String appTitle = ConwayApplicationProperties.getProperty( "app.title" );
+ final JFrame f = new JFrame( appTitle );
+ f.setResizable( false );
+ f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
+ f.getContentPane().add( BorderLayout.CENTER,
+ gui );
+
+ f.addWindowListener( new WindowAdapter() {
+ public void windowClosing(WindowEvent we) {
+ gui.dispose();
+ }
+ } );
+ f.pack();
+ f.setVisible( true );
+ }
+}
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,84 @@
+package org.drools.examples.conway;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.compiler.PackageBuilder;
+
+public class AgendaGroupDelegate implements ConwayRuleDelegate {
+ private StatefulSession session;
+
+ public AgendaGroupDelegate() {
+ final Reader drl = new InputStreamReader( AgendaGroupDelegate.class.getResourceAsStream( "/org/drools/examples/conway/conway-agendagroup.drl" ) );
+
+ try {
+ PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( drl );
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( builder.getPackage() );
+
+ this.session = ruleBase.newStatefulSession();
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( e );
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#getSession()
+ */
+ public StatefulSession getSession() {
+ return this.session;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#init()
+ */
+ public void init() {
+ this.session.setFocus( "register neighbor" );
+ this.session.fireAllRules();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#nextGeneration()
+ */
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#nextGeneration()
+ */
+ public boolean nextGeneration() {
+ // System.out.println( "next generation" );
+ session.setFocus( "calculate" );
+ session.setFocus( "kill" );
+ session.setFocus( "birth" );
+ session.setFocus( "reset calculate" );
+ session.setFocus( "rest" );
+ session.setFocus( "evaluate" );
+ session.fireAllRules();
+ return session.getAgenda().getAgendaGroup( "evaluate" ).size() != 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#killAll()
+ */
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#killAll()
+ */
+ public void killAll() {
+ this.session.setFocus( "calculate" );
+ this.session.setFocus( "kill all" );
+ this.session.setFocus( "reset calculate" );
+ this.session.fireAllRules();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#setPattern()
+ */
+ public void setPattern() {
+ session.setFocus( "calculate" );
+ session.fireAllRules();
+ }
+}
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/Cell.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/Cell.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/Cell.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -6,7 +6,7 @@
*
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
* @see CellState
- * @see CellGrid
+ * @see CellGridImpl
*/
public class Cell {
Deleted: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGrid.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGrid.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGrid.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -1,185 +0,0 @@
-package org.drools.examples.conway;
-
-import org.drools.RuleBase;
-import org.drools.StatefulSession;
-import org.drools.WorkingMemory;
-import org.drools.event.AgendaGroupPoppedEvent;
-import org.drools.event.DefaultAgendaEventListener;
-import org.drools.examples.conway.patterns.ConwayPattern;
-
-/**
- * A <code>CellGrid</code> represents a grid of <code>Cell</code> objects.
- * <p/>
- *
- * @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
- * @see Cell
- */
-public class CellGrid {
-
- private final Cell[][] cells;
-
- private StatefulSession session;
-
- /**
- * Constructs a CellGrid
- *
- * @param rows
- * number of rows in the grid
- * @param columns
- * number of columns in the grid
- */
- public CellGrid(final int rows,
- final int columns) {
- this.cells = new Cell[rows][columns];
-
- final RuleBase ruleBase = ConwayRuleBaseFactory.getRuleBase();
- this.session = ruleBase.newStatefulSession();
-
- DefaultAgendaEventListener listener = new DefaultAgendaEventListener() {
- public void agendaGroupPopped(AgendaGroupPoppedEvent event,
- WorkingMemory workingMemory) {
-// System.out.println( "popped AgendaGroup = '" + event.getAgendaGroup().getName() + "'" );
-// System.out.println( CellGrid.this.toString() );
-// System.out.println( "" );
- }
- };
-
- this.session.addEventListener( listener );
-
- this.session.insert( this );
-
- // populate the array of Cells and hook each
- // cell up with its neighbors...
- for ( int row = 0; row < rows; row++ ) {
- for ( int column = 0; column < columns; column++ ) {
- final Cell newCell = new Cell( column,
- row );
- this.cells[row][column] = newCell;
- this.session.insert( newCell );
- }
- }
- this.session.setFocus( "register neighbor" );
- this.session.fireAllRules();
- }
-
- /**
- * @param row
- * row of the requested cell
- * @param column
- * column of the requested cell
- * @return the cell at the specified coordinates
- * @see Cell
- */
- public Cell getCellAt(final int row,
- final int column) {
- return this.cells[row][column];
- }
-
- /**
- * @return the number of rows in this grid
- * @see #getNumberOfColumns()
- */
- public int getNumberOfRows() {
- return this.cells.length;
- }
-
- /**
- * @return the number of columns in this grid
- * @see #getNumberOfRows()
- */
- public int getNumberOfColumns() {
- return this.cells[0].length;
- }
-
- /**
- * Moves this grid to its next generation
- *
- * @return <code>true</code> if the state changed, otherwise false
- * @see #transitionState()
- */
- public boolean nextGeneration() {
- //System.out.println( "next generation" );
- session.setFocus( "calculate" );
- session.setFocus( "kill" );
- session.setFocus( "birth" );
- session.setFocus( "reset calculate" );
- session.setFocus( "rest" );
- session.setFocus( "evaluate" );
- session.fireAllRules();
- return session.getAgenda().getAgendaGroup( "evaluate" ).size() != 0;
- }
-
- /**
- * kills all cells in the grid
- */
- public void killAll() {
- this.session.setFocus( "calculate" );
- this.session.setFocus( "kill all" );
- this.session.setFocus( "reset calculate" );
- this.session.fireAllRules();
- }
-
- /**
- * Populates the grid with a <code>ConwayPattern</code>
- *
- * @param pattern
- * pattern to populate the grid with
- * @see ConwayPattern
- */
- public void setPattern(final ConwayPattern pattern) {
- final boolean[][] gridData = pattern.getPattern();
- int gridWidth = gridData[0].length;
- int gridHeight = gridData.length;
-
- int columnOffset = 0;
- int rowOffset = 0;
-
- if ( gridWidth > getNumberOfColumns() ) {
- gridWidth = getNumberOfColumns();
- } else {
- columnOffset = (getNumberOfColumns() - gridWidth) / 2;
- }
-
- if ( gridHeight > getNumberOfRows() ) {
- gridHeight = getNumberOfRows();
- } else {
- rowOffset = (getNumberOfRows() - gridHeight) / 2;
- }
-
- killAll();
-
- for ( int column = 0; column < gridWidth; column++ ) {
- for ( int row = 0; row < gridHeight; row++ ) {
- if ( gridData[row][column] ) {
- final Cell cell = getCellAt( row + rowOffset,
- column + columnOffset );
- cell.setCellState( CellState.LIVE );
- this.session.update( this.session.getFactHandle( cell ),
- cell );
- }
- }
- }
- session.setFocus( "calculate" );
- session.fireAllRules();
- }
-
- public void dispose() {
- if ( this.session != null ) {
- this.session.dispose();
- }
- }
-
- public String toString() {
- StringBuffer buf = new StringBuffer();
-
- for ( int i = 0; i < this.cells.length; i++ ) {
- for ( int j = 0; j < this.cells[i].length; j++ ) {
- Cell cell = this.cells[i][j];
- System.out.print( cell.getLiveNeighbors() + ((cell.getCellState() == CellState.DEAD) ? "D" : "L") + " " );
- }
- System.out.println( "" );
- }
-
- return buf.toString();
- }
-}
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,181 @@
+package org.drools.examples.conway;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.WorkingMemory;
+import org.drools.agent.RuleAgent;
+import org.drools.compiler.PackageBuilder;
+import org.drools.event.AgendaGroupPoppedEvent;
+import org.drools.event.DefaultAgendaEventListener;
+import org.drools.examples.conway.patterns.ConwayPattern;
+
+/**
+ * A <code>CellGrid</code> represents a grid of <code>Cell</code> objects.
+ * <p/>
+ *
+ * @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
+ * @see Cell
+ */
+public class CellGridImpl
+ implements
+ CellGrid {
+
+ private final Cell[][] cells;
+
+ private final StatefulSession session;
+
+ private final ConwayRuleDelegate delegate;
+
+ /**
+ * Constructs a CellGrid
+ *
+ * @param rows
+ * number of rows in the grid
+ * @param columns
+ * number of columns in the grid
+ */
+ public CellGridImpl(final int rows,
+ final int columns,
+ final int executionControl) {
+
+ this.cells = new Cell[rows][columns];
+
+ if ( executionControl == AbstractRunConway.RULEFLOWGROUP ) {
+ delegate = new RuleFlowDelegate();
+ } else {
+ delegate = new AgendaGroupDelegate();
+ }
+
+ this.session = delegate.getSession();
+
+ DefaultAgendaEventListener listener = new DefaultAgendaEventListener() {
+ public void agendaGroupPopped(AgendaGroupPoppedEvent event,
+ WorkingMemory workingMemory) {
+ // System.out.println( "popped AgendaGroup = '" +
+ // event.getAgendaGroup().getName() + "'" );
+ // System.out.println( CellGrid.this.toString() );
+ // System.out.println( "" );
+ }
+ };
+
+ this.session.addEventListener( listener );
+
+ this.session.insert( this );
+
+ // populate the array of Cells and hook each
+ // cell up with its neighbors...
+ for ( int row = 0; row < rows; row++ ) {
+ for ( int column = 0; column < columns; column++ ) {
+ final Cell newCell = new Cell( column,
+ row );
+ this.cells[row][column] = newCell;
+ this.session.insert( newCell );
+ }
+ }
+
+ delegate.init();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#getCellAt(int, int)
+ */
+ public Cell getCellAt(final int row,
+ final int column) {
+ return this.cells[row][column];
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#getNumberOfRows()
+ */
+ public int getNumberOfRows() {
+ return this.cells.length;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#getNumberOfColumns()
+ */
+ public int getNumberOfColumns() {
+ return this.cells[0].length;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#nextGeneration()
+ */
+ public boolean nextGeneration() {
+ return delegate.nextGeneration();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#killAll()
+ */
+ public void killAll() {
+ this.delegate.killAll();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#setPattern(org.drools.examples.conway.patterns.ConwayPattern)
+ */
+ public void setPattern(final ConwayPattern pattern) {
+ final boolean[][] gridData = pattern.getPattern();
+ int gridWidth = gridData[0].length;
+ int gridHeight = gridData.length;
+
+ int columnOffset = 0;
+ int rowOffset = 0;
+
+ if ( gridWidth > getNumberOfColumns() ) {
+ gridWidth = getNumberOfColumns();
+ } else {
+ columnOffset = (getNumberOfColumns() - gridWidth) / 2;
+ }
+
+ if ( gridHeight > getNumberOfRows() ) {
+ gridHeight = getNumberOfRows();
+ } else {
+ rowOffset = (getNumberOfRows() - gridHeight) / 2;
+ }
+
+ this.delegate.killAll();
+
+ for ( int column = 0; column < gridWidth; column++ ) {
+ for ( int row = 0; row < gridHeight; row++ ) {
+ if ( gridData[row][column] ) {
+ final Cell cell = getCellAt( row + rowOffset,
+ column + columnOffset );
+ cell.setCellState( CellState.LIVE );
+ this.session.update( this.session.getFactHandle( cell ),
+ cell );
+ }
+ }
+ }
+
+ this.delegate.setPattern();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#dispose()
+ */
+ public void dispose() {
+ if ( this.session != null ) {
+ this.session.dispose();
+ }
+ }
+
+ public String toString() {
+ StringBuffer buf = new StringBuffer();
+
+ for ( int i = 0; i < this.cells.length; i++ ) {
+ for ( int j = 0; j < this.cells[i].length; j++ ) {
+ Cell cell = this.cells[i][j];
+ System.out.print( cell.getLiveNeighbors() + ((cell.getCellState() == CellState.DEAD) ? "D" : "L") + " " );
+ }
+ System.out.println( "" );
+ }
+
+ return buf.toString();
+ }
+}
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellState.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellState.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellState.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -6,7 +6,7 @@
*
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
* @see Cell
- * @see CellGrid
+ * @see CellGridImpl
*/
public class CellState {
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayAgendaGroupRun.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayAgendaGroupRun.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayAgendaGroupRun.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayAgendaGroupRun.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,8 @@
+package org.drools.examples.conway;
+
+public class ConwayAgendaGroupRun extends AbstractRunConway {
+ public static void main(final String[] args) {
+ ConwayAgendaGroupRun app = new ConwayAgendaGroupRun( );
+ app.start( AbstractRunConway.AGENDAGROUP );
+ }
+}
Deleted: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -1,69 +0,0 @@
-/**
- *
- */
-package org.drools.examples.conway;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.compiler.PackageBuilder;
-import org.drools.rule.Package;
-
-/**
- * @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
- */
-public class ConwayRuleBaseFactory {
-
- private static final ConwayRuleBaseFactory ourInstance = new ConwayRuleBaseFactory();
-
- private RuleBase ruleBase;
-
- public static ConwayRuleBaseFactory getInstance() {
- return ConwayRuleBaseFactory.ourInstance;
- }
-
- private ConwayRuleBaseFactory() {
- try {
- /**
- * Please note that this is the "low level" rule assembly API.
- */
- // private static RuleBase readRule() throws Exception {
- // read in the source
- final Reader source = new InputStreamReader( ConwayRuleBaseFactory.class.getResourceAsStream( "/org/drools/examples/conway/conway.drl" ) );
-
- // optionally read in the DSL (if you are using it).
- //final Reader dsl = new InputStreamReader( ConwayRuleBaseFactory.class.getResourceAsStream( "/org/drools/examples/conway/conway.dsl" ) );
-
- // Use package builder to build up a rule package.
- // An alternative lower level class called "DrlParser" can also be
- // used...
-
- final PackageBuilder builder = new PackageBuilder();
-
- // this wil parse and compile in one step
- // NOTE: There are 2 methods here, the one argument one is for
- // normal DRL.
- // builder.addPackageFromDrl( source );
-
- // Use the following instead of above if you are using a DSL:
- builder.addPackageFromDrl( source );//,
- //dsl );
-
-
-
- // get the compiled package (which is serializable)
- final Package pkg = builder.getPackage();
-
- // add the package to a rulebase (deploy the rule package).
- this.ruleBase = org.drools.RuleBaseFactory.newRuleBase();
- this.ruleBase.addPackage( pkg );
- } catch ( final Exception e ) {
- e.printStackTrace();
- }
- }
-
- public static RuleBase getRuleBase() {
- return ConwayRuleBaseFactory.ourInstance.ruleBase;
- }
-}
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,23 @@
+package org.drools.examples.conway;
+
+import org.drools.StatefulSession;
+
+public interface ConwayRuleDelegate {
+
+ public abstract StatefulSession getSession();
+
+ public abstract void init();
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#nextGeneration()
+ */
+ public abstract boolean nextGeneration();
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#killAll()
+ */
+ public abstract void killAll();
+
+ public abstract void setPattern();
+
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleFlowGroupRun.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleFlowGroupRun.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleFlowGroupRun.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleFlowGroupRun.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,8 @@
+package org.drools.examples.conway;
+
+public class ConwayRuleFlowGroupRun extends AbstractRunConway {
+ public static void main(final String[] args) {
+ ConwayRuleFlowGroupRun app = new ConwayRuleFlowGroupRun( );
+ app.start( AbstractRunConway.RULEFLOWGROUP );
+ }
+}
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,85 @@
+package org.drools.examples.conway;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.compiler.PackageBuilder;
+
+public class RuleFlowDelegate implements ConwayRuleDelegate {
+ private StatefulSession session;
+
+ public RuleFlowDelegate() {
+ final Reader drl = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/conway-ruleflow.drl" ) );
+ final Reader calculateRf = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/calculate.rfm" ) );
+ final Reader generationRf = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/generation.rfm" ) );
+ final Reader killAllRf = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/killAll.rfm" ) );
+ final Reader registerNeighborRf = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/registerNeighbor.rfm" ) );
+
+ try {
+ PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( drl );
+ builder.addRuleFlow( calculateRf );
+ builder.addRuleFlow( generationRf );
+ builder.addRuleFlow( killAllRf );
+ builder.addRuleFlow( registerNeighborRf );
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( builder.getPackage() );
+
+ this.session = ruleBase.newStatefulSession();
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( e );
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#getSession()
+ */
+ public StatefulSession getSession() {
+ return this.session;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#init()
+ */
+ public void init() {
+ this.session.startProcess( "register neighbor" );
+ this.session.fireAllRules();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#nextGeneration()
+ */
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#nextGeneration()
+ */
+ public boolean nextGeneration() {
+ // System.out.println( "next generation" );
+ session.startProcess( "generation" );
+ session.fireAllRules();
+ return session.getAgenda().getRuleFlowGroup( "evaluate" ).size() != 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.CellGrid#killAll()
+ */
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#killAll()
+ */
+ public void killAll() {
+ this.session.startProcess( "kill all" );
+ this.session.fireAllRules();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.examples.conway.ConwayRuleDelegate#setPattern()
+ */
+ public void setPattern() {
+ session.startProcess( "calculate" );
+ session.fireAllRules();
+ }
+}
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Border.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Border.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Border.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -4,7 +4,7 @@
* The Border <p/>
*
* @see ConwayPattern
- * @see org.drools.examples.conway.CellGrid
+ * @see org.drools.examples.conway.CellGridImpl
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
*/
public class Border
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Hi.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Hi.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Hi.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -4,7 +4,7 @@
* The Hi pattern <p/>
*
* @see ConwayPattern
- * @see org.drools.examples.conway.CellGrid
+ * @see org.drools.examples.conway.CellGridImpl
*
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
*/
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pentadecathalon.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pentadecathalon.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pentadecathalon.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -4,7 +4,7 @@
* The Pentadecathalon <p/>
*
* @see ConwayPattern
- * @see org.drools.examples.conway.CellGrid
+ * @see org.drools.examples.conway.CellGridImpl
*
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
*/
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pulsar.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pulsar.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/Pulsar.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -4,7 +4,7 @@
* The Pulsar <p/>
*
* @see ConwayPattern
- * @see org.drools.examples.conway.CellGrid
+ * @see org.drools.examples.conway.CellGridImpl
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
*/
public class Pulsar
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/SimpleGlider.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/SimpleGlider.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/patterns/SimpleGlider.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -5,7 +5,7 @@
*
* @author <a href="mailto:brown_j at ociweb.com">Jeff Brown</a>
* @see ConwayPattern
- * @see org.drools.examples.conway.CellGrid
+ * @see org.drools.examples.conway.CellGridImpl
*/
public class SimpleGlider
implements
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ui/ConwayGUI.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ui/ConwayGUI.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ui/ConwayGUI.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -16,7 +16,9 @@
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
+import org.drools.examples.conway.AbstractRunConway;
import org.drools.examples.conway.CellGrid;
+import org.drools.examples.conway.CellGridImpl;
import org.drools.examples.conway.ConwayApplicationProperties;
import org.drools.examples.conway.patterns.ConwayPattern;
@@ -39,7 +41,7 @@
private final Timer timer;
private final CellGrid grid;
- public ConwayGUI() {
+ public ConwayGUI(final int executionControl) {
super( new BorderLayout() );
final String nextGenerationLabel = ConwayApplicationProperties.getProperty( "next.generation.label" );
this.nextGenerationButton = new JButton( nextGenerationLabel );
@@ -47,8 +49,10 @@
this.startStopButton = new JButton( startLabel );
final String clearLabel = ConwayApplicationProperties.getProperty( "clear.label" );
this.clearButton = new JButton( clearLabel );
- this.grid = new CellGrid( 30,
- 30 );
+
+ //this.grid = new CellGridAgendaGroup( 30, 30 );
+ this.grid = new CellGridImpl( 30, 30, executionControl );
+
final CellGridCanvas canvas = new CellGridCanvas( grid );
final JPanel panel = new JPanel( new BorderLayout() );
panel.add( BorderLayout.CENTER,
@@ -229,17 +233,7 @@
}
public static void main(final String[] args) {
- // if ( args.length != 1 )
- // {
- // System.out.println( "Usage: " + ConwayGUI.class.getName( ) + " [drl file]" );
- // return;
- // }
- // System.out.println( "Using drl: " + args[0] );
- //
- // System.setProperty( "conway.drl.file",
- // args[0] );
-
- final ConwayGUI gui = new ConwayGUI();
+ final ConwayGUI gui = new ConwayGUI( AbstractRunConway.RULEFLOWGROUP );
final String appTitle = ConwayApplicationProperties.getProperty( "app.title" );
final JFrame f = new JFrame( appTitle );
f.setResizable( false );
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,155 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+ <default>
+ <elements id="2">
+ <entry>
+ <string>7-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="4">
+ <x>368</x>
+ <y>156</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="6">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="9"/>
+ <outgoingConnections id="10">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="11">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="13">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="14">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
+ </incomingConnections>
+ <outgoingConnections id="15"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </element>
+ <incomingConnections id="16">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="17" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="18"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="19" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="20">
+ <x>368</x>
+ <y>73</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
+ <incomingConnections id="21"/>
+ <outgoingConnections id="22">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="17"/>
+ </outgoingConnections>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="23">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="24" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="25"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="26" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="27">
+ <x>368</x>
+ <y>238</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="13"/>
+ <incomingConnections id="28">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="24"/>
+ </incomingConnections>
+ <outgoingConnections id="29"/>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+ </entry>
+ <entry>
+ <string>11-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="26"/>
+ </entry>
+ <entry>
+ <string>1-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="19"/>
+ </entry>
+ </elements>
+ <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="30">
+ <nodes id="31">
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="13"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+ </entry>
+ </nodes>
+ <variables id="32"/>
+ <lastNodeId>11</lastNodeId>
+ <id>calculate</id>
+ <name>calculate</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+ </process>
+ <routerLayout>2</routerLayout>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,54 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl id="3">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="6">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="7">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="8">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="9">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="10"/>
+ <outgoingConnections id="11">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="8"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="6"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="13"/>
+ </org.drools.ruleflow.core.impl.EndNodeImpl>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="9"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="6"/>
+ </entry>
+ </nodes>
+ <variables id="14"/>
+ <lastNodeId>11</lastNodeId>
+ <id>calculate</id>
+ <name>calculate</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,150 @@
+package org.drools.examples
+
+import org.drools.examples.conway.Cell;
+import org.drools.examples.conway.CellGrid;
+import org.drools.examples.conway.Neighbor;
+import org.drools.examples.conway.Phase;
+import org.drools.examples.conway.CellState;
+
+import org.drools.WorkingMemory;
+import org.drools.common.InternalWorkingMemoryActions;
+import org.drools.RuleBase;
+
+
+rule "register north east"
+ agenda-group "register neighbor"
+when
+ CellGrid( $numberOfColumns : numberOfColumns )
+ $cell: Cell( $row : row > 0, $col : col < ( $numberOfColumns - 1 ) )
+ $northEast : Cell( row == ($row - 1), col == ( $col + 1 ) )
+then
+ insert( new Neighbor( $cell, $northEast ) );
+ insert( new Neighbor( $northEast, $cell ) );
+end
+
+rule "register north"
+ agenda-group "register neighbor"
+when
+ $cell: Cell( $row : row > 0, $col : col )
+ $north : Cell( row == ($row - 1), col == $col )
+then
+ insert( new Neighbor( $cell, $north ) );
+ insert( new Neighbor( $north, $cell ) );
+end
+
+rule "register north west"
+ agenda-group "register neighbor"
+when
+ $cell: Cell( $row : row > 0, $col : col > 0 )
+ $northWest : Cell( row == ($row - 1), col == ( $col - 1 ) )
+then
+ insert( new Neighbor( $cell, $northWest ) );
+ insert( new Neighbor( $northWest, $cell ) );
+end
+
+rule "register west"
+ agenda-group "register neighbor"
+when
+ $cell: Cell( $row : row >= 0, $col : col > 0 )
+ $west : Cell( row == $row, col == ( $col - 1 ) )
+then
+ insert( new Neighbor( $cell, $west ) );
+ insert( new Neighbor( $west, $cell ) );
+end
+
+rule "Kill The Lonely"
+ agenda-group "evaluate"
+ no-loop
+when
+# A live cell has fewer than 2 live neighbors
+ theCell: Cell(liveNeighbors < 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.KILL);
+ update( theCell );
+end
+
+rule "Kill The Overcrowded"
+ agenda-group "evaluate"
+ no-loop
+when
+# A live cell has more than 3 live neighbors
+ theCell: Cell(liveNeighbors > 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.KILL);
+ update( theCell );
+end
+
+rule "Give Birth"
+ agenda-group "evaluate"
+ no-loop
+when
+# A dead cell has 3 live neighbors
+ theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.BIRTH);
+ update( theCell );
+end
+
+rule "reset calculate"
+ agenda-group "reset calculate"
+when
+then
+ WorkingMemory wm = drools.getWorkingMemory();
+ wm.clearAgendaGroup( "calculate" );
+end
+
+rule "kill"
+ agenda-group "kill"
+ no-loop
+when
+ theCell: Cell(phase == Phase.KILL)
+then
+ theCell.setCellState(CellState.DEAD);
+ theCell.setPhase(Phase.DONE);
+ update( theCell );
+end
+
+rule "birth"
+ agenda-group "birth"
+ no-loop
+when
+ theCell: Cell(phase == Phase.BIRTH)
+then
+ theCell.setCellState(CellState.LIVE);
+ theCell.setPhase(Phase.DONE);
+ update( theCell );
+end
+
+rule "Calculate Live"
+ agenda-group "calculate"
+ lock-on-active
+when
+ theCell: Cell(cellState == CellState.LIVE)
+ Neighbor(cell == theCell, $neighbor : neighbor)
+then
+ $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
+ $neighbor.setPhase( Phase.EVALUATE );
+ update( $neighbor );
+end
+
+rule "Calculate Dead"
+ agenda-group "calculate"
+ lock-on-active
+when
+ theCell: Cell(cellState == CellState.DEAD)
+ Neighbor(cell == theCell, $neighbor : neighbor )
+then
+ $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
+ $neighbor.setPhase( Phase.EVALUATE );
+ update( $neighbor );
+end
+
+rule "Kill All"
+ agenda-group "kill all"
+ no-loop
+when
+ theCell: Cell(cellState == CellState.LIVE)
+then
+ theCell.setCellState(CellState.DEAD);
+ update( theCell );
+end
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,150 @@
+package org.drools.examples
+
+import org.drools.examples.conway.Cell;
+import org.drools.examples.conway.CellGrid;
+import org.drools.examples.conway.Neighbor;
+import org.drools.examples.conway.Phase;
+import org.drools.examples.conway.CellState;
+
+import org.drools.WorkingMemory;
+import org.drools.common.InternalWorkingMemoryActions;
+import org.drools.RuleBase;
+
+
+rule "register north east"
+ ruleflow-group "register neighbor"
+when
+ CellGrid( $numberOfColumns : numberOfColumns )
+ $cell: Cell( $row : row > 0, $col : col < ( $numberOfColumns - 1 ) )
+ $northEast : Cell( row == ($row - 1), col == ( $col + 1 ) )
+then
+ insert( new Neighbor( $cell, $northEast ) );
+ insert( new Neighbor( $northEast, $cell ) );
+end
+
+rule "register north"
+ ruleflow-group "register neighbor"
+when
+ $cell: Cell( $row : row > 0, $col : col )
+ $north : Cell( row == ($row - 1), col == $col )
+then
+ insert( new Neighbor( $cell, $north ) );
+ insert( new Neighbor( $north, $cell ) );
+end
+
+rule "register north west"
+ ruleflow-group "register neighbor"
+when
+ $cell: Cell( $row : row > 0, $col : col > 0 )
+ $northWest : Cell( row == ($row - 1), col == ( $col - 1 ) )
+then
+ insert( new Neighbor( $cell, $northWest ) );
+ insert( new Neighbor( $northWest, $cell ) );
+end
+
+rule "register west"
+ ruleflow-group "register neighbor"
+when
+ $cell: Cell( $row : row >= 0, $col : col > 0 )
+ $west : Cell( row == $row, col == ( $col - 1 ) )
+then
+ insert( new Neighbor( $cell, $west ) );
+ insert( new Neighbor( $west, $cell ) );
+end
+
+rule "Kill The Lonely"
+ ruleflow-group "evaluate"
+ no-loop
+when
+# A live cell has fewer than 2 live neighbors
+ theCell: Cell(liveNeighbors < 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.KILL);
+ update( theCell );
+end
+
+rule "Kill The Overcrowded"
+ ruleflow-group "evaluate"
+ no-loop
+when
+# A live cell has more than 3 live neighbors
+ theCell: Cell(liveNeighbors > 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.KILL);
+ update( theCell );
+end
+
+rule "Give Birth"
+ ruleflow-group "evaluate"
+ no-loop
+when
+# A dead cell has 3 live neighbors
+ theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
+then
+ theCell.setPhase(Phase.BIRTH);
+ update( theCell );
+end
+
+rule "reset calculate"
+ ruleflow-group "reset calculate"
+when
+then
+ WorkingMemory wm = drools.getWorkingMemory();
+ wm.clearRuleFlowGroup( "calculate" );
+end
+
+rule "kill"
+ ruleflow-group "kill"
+ no-loop
+when
+ theCell: Cell(phase == Phase.KILL)
+then
+ theCell.setCellState(CellState.DEAD);
+ theCell.setPhase(Phase.DONE);
+ update( theCell );
+end
+
+rule "birth"
+ ruleflow-group "birth"
+ no-loop
+when
+ theCell: Cell(phase == Phase.BIRTH)
+then
+ theCell.setCellState(CellState.LIVE);
+ theCell.setPhase(Phase.DONE);
+ update( theCell );
+end
+
+rule "Calculate Live"
+ ruleflow-group "calculate"
+ lock-on-active
+when
+ theCell: Cell(cellState == CellState.LIVE)
+ Neighbor(cell == theCell, $neighbor : neighbor)
+then
+ $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
+ $neighbor.setPhase( Phase.EVALUATE );
+ update( $neighbor );
+end
+
+rule "Calculate Dead"
+ ruleflow-group "calculate"
+ lock-on-active
+when
+ theCell: Cell(cellState == CellState.DEAD)
+ Neighbor(cell == theCell, $neighbor : neighbor )
+then
+ $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
+ $neighbor.setPhase( Phase.EVALUATE );
+ update( $neighbor );
+end
+
+rule "Kill All"
+ ruleflow-group "kill all"
+ no-loop
+when
+ theCell: Cell(cellState == CellState.LIVE)
+then
+ theCell.setCellState(CellState.DEAD);
+ update( theCell );
+end
\ No newline at end of file
Deleted: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.drl
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.drl 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.drl 2007-07-20 01:21:46 UTC (rev 13658)
@@ -1,150 +0,0 @@
-package org.drools.examples
-
-import org.drools.examples.conway.Cell;
-import org.drools.examples.conway.CellGrid;
-import org.drools.examples.conway.Neighbor;
-import org.drools.examples.conway.Phase;
-import org.drools.examples.conway.CellState;
-
-import org.drools.WorkingMemory;
-import org.drools.common.InternalWorkingMemoryActions;
-import org.drools.RuleBase;
-
-
-rule "register north east"
- agenda-group "register neighbor"
-when
- CellGrid( $numberOfColumns : numberOfColumns )
- $cell: Cell( $row : row > 0, $col : col < ( $numberOfColumns - 1 ) )
- $northEast : Cell( row == ($row - 1), col == ( $col + 1 ) )
-then
- insert( new Neighbor( $cell, $northEast ) );
- insert( new Neighbor( $northEast, $cell ) );
-end
-
-rule "register north"
- agenda-group "register neighbor"
-when
- $cell: Cell( $row : row > 0, $col : col )
- $north : Cell( row == ($row - 1), col == $col )
-then
- insert( new Neighbor( $cell, $north ) );
- insert( new Neighbor( $north, $cell ) );
-end
-
-rule "register north west"
- agenda-group "register neighbor"
-when
- $cell: Cell( $row : row > 0, $col : col > 0 )
- $northWest : Cell( row == ($row - 1), col == ( $col - 1 ) )
-then
- insert( new Neighbor( $cell, $northWest ) );
- insert( new Neighbor( $northWest, $cell ) );
-end
-
-rule "register west"
- agenda-group "register neighbor"
-when
- $cell: Cell( $row : row >= 0, $col : col > 0 )
- $west : Cell( row == $row, col == ( $col - 1 ) )
-then
- insert( new Neighbor( $cell, $west ) );
- insert( new Neighbor( $west, $cell ) );
-end
-
-rule "Kill The Lonely"
- agenda-group "evaluate"
- no-loop
-when
-# A live cell has fewer than 2 live neighbors
- theCell: Cell(liveNeighbors < 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
-then
- theCell.setPhase(Phase.KILL);
- update( theCell );
-end
-
-rule "Kill The Overcrowded"
- agenda-group "evaluate"
- no-loop
-when
-# A live cell has more than 3 live neighbors
- theCell: Cell(liveNeighbors > 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
-then
- theCell.setPhase(Phase.KILL);
- update( theCell );
-end
-
-rule "Give Birth"
- agenda-group "evaluate"
- no-loop
-when
-# A dead cell has 3 live neighbors
- theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
-then
- theCell.setPhase(Phase.BIRTH);
- update( theCell );
-end
-
-rule "reset calculate"
- agenda-group "reset calculate"
-when
-then
- WorkingMemory wm = drools.getWorkingMemory();
- wm.getAgenda().clearAgendaGroup( "calculate" );
-end
-
-rule "kill"
- agenda-group "kill"
- no-loop
-when
- theCell: Cell(phase == Phase.KILL)
-then
- theCell.setCellState(CellState.DEAD);
- theCell.setPhase(Phase.DONE);
- update( theCell );
-end
-
-rule "birth"
- agenda-group "birth"
- no-loop
-when
- theCell: Cell(phase == Phase.BIRTH)
-then
- theCell.setCellState(CellState.LIVE);
- theCell.setPhase(Phase.DONE);
- update( theCell );
-end
-
-rule "Calculate Live"
- agenda-group "calculate"
- lock-on-active
-when
- theCell: Cell(cellState == CellState.LIVE)
- Neighbor(cell == theCell, $neighbor : neighbor)
-then
- $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
- $neighbor.setPhase( Phase.EVALUATE );
- update( $neighbor );
-end
-
-rule "Calculate Dead"
- agenda-group "calculate"
- lock-on-active
-when
- theCell: Cell(cellState == CellState.DEAD)
- Neighbor(cell == theCell, $neighbor : neighbor )
-then
- $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
- $neighbor.setPhase( Phase.EVALUATE );
- update( $neighbor );
-end
-
-rule "Kill All"
- agenda-group "kill all"
- no-loop
-when
- theCell: Cell(cellState == CellState.LIVE)
-then
- theCell.setCellState(CellState.DEAD);
- update( theCell );
-end
\ No newline at end of file
Deleted: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.dsl
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.dsl 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway.dsl 2007-07-20 01:21:46 UTC (rev 13658)
@@ -1,6 +0,0 @@
-#These are the DSL elements for Conways Game of Life.
-[then]Kill the cell=theCell.queueNextCellState(CellState.DEAD);
-[when]A live cell has fewer than {number} live neighbors=theCell: Cell(numberOfLiveNeighbors < {number}, cellState == CellState.LIVE)
-[when]A live cell has more than {number} live neighbors=theCell: Cell(numberOfLiveNeighbors > {number}, cellState == CellState.LIVE)
-[when]A dead cell has {number} live neighbors=theCell: Cell(numberOfLiveNeighbors == {number}, cellState == CellState.DEAD)
-[then]Bring the cell to life=theCell.queueNextCellState(CellState.LIVE);
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,566 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+ <default>
+ <elements id="2">
+ <entry>
+ <string>5-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="4">
+ <x>216</x>
+ <y>480</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+ <ruleFlowGroup>birth</ruleFlowGroup>
+ <id>5</id>
+ <name>birth</name>
+ <incomingConnections id="6">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" id="8">
+ <type>1</type>
+ <constraints id="9"/>
+ <id>9</id>
+ <name>Split</name>
+ <incomingConnections id="10">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="11">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="12">
+ <ruleFlowGroup>reset calculate</ruleFlowGroup>
+ <id>4</id>
+ <name>reset calculate</name>
+ <incomingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="15">
+ <ruleFlowGroup>rest</ruleFlowGroup>
+ <id>3</id>
+ <name>rest</name>
+ <incomingConnections id="16">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="17">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="18">
+ <ruleFlowGroup>evaluate</ruleFlowGroup>
+ <id>2</id>
+ <name>evaluate</name>
+ <incomingConnections id="19">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="20">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="21">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="22"/>
+ <outgoingConnections id="23">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="20"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="18"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="24">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="17"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="15"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="25">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="12"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="26">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="11"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.SplitImpl" reference="8"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="27">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="28">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="8"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="29">
+ <ruleFlowGroup>kill</ruleFlowGroup>
+ <id>6</id>
+ <name>kill</name>
+ <incomingConnections id="30">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="28"/>
+ </incomingConnections>
+ <outgoingConnections id="31">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="32">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="29"/>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" id="33">
+ <type>1</type>
+ <id>10</id>
+ <name>Join</name>
+ <incomingConnections id="34">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="35">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" reference="33"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="32"/>
+ </incomingConnections>
+ <outgoingConnections id="36">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="37">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.JoinImpl" reference="33"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="38">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="39">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="37"/>
+ </incomingConnections>
+ <outgoingConnections id="40">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="41">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="38"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="42">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="43">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="41"/>
+ </incomingConnections>
+ <outgoingConnections id="44"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="45">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="35"/>
+ </outgoingConnections>
+ </element>
+ <incomingConnections id="46">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="47" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="48"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.SplitWrapper" id="49" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="50">
+ <x>348</x>
+ <y>384</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.SplitImpl" reference="8"/>
+ <incomingConnections id="51">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="52" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="53"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="54" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="55">
+ <x>348</x>
+ <y>296</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="12"/>
+ <incomingConnections id="56">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="57" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="58"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="59" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="60">
+ <x>348</x>
+ <y>199</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="15"/>
+ <incomingConnections id="61">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="62" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="63"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="64" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="65">
+ <x>348</x>
+ <y>104</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="18"/>
+ <incomingConnections id="66">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="67" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="68"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="69" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="70">
+ <x>348</x>
+ <y>12</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="21"/>
+ <incomingConnections id="71"/>
+ <outgoingConnections id="72">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="67"/>
+ </outgoingConnections>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="64"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="20"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="73">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="62"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="59"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="17"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="74">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="57"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="54"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="14"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="75">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="52"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.SplitWrapper" reference="49"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="11"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="76">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="47"/>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="77" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="78"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.SplitWrapper" reference="49"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="79" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="80">
+ <x>480</x>
+ <y>480</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="29"/>
+ <incomingConnections id="81">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="77"/>
+ </incomingConnections>
+ <outgoingConnections id="82">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="83" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="84"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="79"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.JoinWrapper" id="85" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="86">
+ <x>348</x>
+ <y>562</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.JoinImpl" reference="33"/>
+ <incomingConnections id="87">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="88" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="89"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.JoinWrapper" reference="85"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="35"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="83"/>
+ </incomingConnections>
+ <outgoingConnections id="90">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="91" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="92"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.JoinWrapper" reference="85"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="93" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="94">
+ <x>348</x>
+ <y>660</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="38"/>
+ <incomingConnections id="95">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="91"/>
+ </incomingConnections>
+ <outgoingConnections id="96">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="97" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="98"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="93"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="99" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="100">
+ <x>348</x>
+ <y>756</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="42"/>
+ <incomingConnections id="101">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="97"/>
+ </incomingConnections>
+ <outgoingConnections id="102"/>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="41"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="37"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="32"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="28"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <org.drools.eclipse.flow.ruleflow.core.SplitWrapper>
+ <default/>
+ </org.drools.eclipse.flow.ruleflow.core.SplitWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="103">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="88"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+ </entry>
+ <entry>
+ <string>9-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.SplitWrapper reference="49"/>
+ </entry>
+ <entry>
+ <string>2-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="64"/>
+ </entry>
+ <entry>
+ <string>7-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="93"/>
+ </entry>
+ <entry>
+ <string>4-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="54"/>
+ </entry>
+ <entry>
+ <string>11-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="99"/>
+ </entry>
+ <entry>
+ <string>3-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="59"/>
+ </entry>
+ <entry>
+ <string>6-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="79"/>
+ </entry>
+ <entry>
+ <string>10-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.JoinWrapper reference="85"/>
+ </entry>
+ <entry>
+ <string>1-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="69"/>
+ </entry>
+ </elements>
+ <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="104">
+ <nodes id="105">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="18"/>
+ </entry>
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="12"/>
+ </entry>
+ <entry>
+ <long>9</long>
+ <org.drools.ruleflow.core.impl.SplitImpl reference="8"/>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="29"/>
+ </entry>
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="42"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="21"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="15"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="38"/>
+ </entry>
+ <entry>
+ <long>10</long>
+ <org.drools.ruleflow.core.impl.JoinImpl reference="33"/>
+ </entry>
+ <entry>
+ <long>5</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+ </entry>
+ </nodes>
+ <variables id="106"/>
+ <lastNodeId>11</lastNodeId>
+ <id>generation</id>
+ <name>generation</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+ </process>
+ <routerLayout>2</routerLayout>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,187 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+ <ruleFlowGroup>evaluate</ruleFlowGroup>
+ <id>2</id>
+ <name>evaluate</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="7"/>
+ <outgoingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
+ <ruleFlowGroup>rest</ruleFlowGroup>
+ <id>3</id>
+ <name>rest</name>
+ <incomingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </incomingConnections>
+ <outgoingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="15">
+ <ruleFlowGroup>reset calculate</ruleFlowGroup>
+ <id>4</id>
+ <name>reset calculate</name>
+ <incomingConnections id="16">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
+ </incomingConnections>
+ <outgoingConnections id="17">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="18">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="15"/>
+ <to class="org.drools.ruleflow.core.impl.SplitImpl" id="19">
+ <type>1</type>
+ <constraints id="20"/>
+ <id>9</id>
+ <name>Split</name>
+ <incomingConnections id="21">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="18"/>
+ </incomingConnections>
+ <outgoingConnections id="22">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="23">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="19"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="24">
+ <ruleFlowGroup>birth</ruleFlowGroup>
+ <id>5</id>
+ <name>birth</name>
+ <incomingConnections id="25">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="23"/>
+ </incomingConnections>
+ <outgoingConnections id="26">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="27">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="24"/>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" id="28">
+ <type>1</type>
+ <id>10</id>
+ <name>Join</name>
+ <incomingConnections id="29">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="27"/>
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="30">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="31">
+ <ruleFlowGroup>kill</ruleFlowGroup>
+ <id>6</id>
+ <name>kill</name>
+ <incomingConnections id="32">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="33">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.SplitImpl" reference="19"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="31"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="34">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="30"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.JoinImpl" reference="28"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="35">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="36">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.JoinImpl" reference="28"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="37">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="38">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="36"/>
+ </incomingConnections>
+ <outgoingConnections id="39">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="40">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="37"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="41">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="42">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="40"/>
+ </incomingConnections>
+ <outgoingConnections id="43"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="33"/>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+ </entry>
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="15"/>
+ </entry>
+ <entry>
+ <long>9</long>
+ <org.drools.ruleflow.core.impl.SplitImpl reference="19"/>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="31"/>
+ </entry>
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="41"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="37"/>
+ </entry>
+ <entry>
+ <long>10</long>
+ <org.drools.ruleflow.core.impl.JoinImpl reference="28"/>
+ </entry>
+ <entry>
+ <long>5</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="24"/>
+ </entry>
+ </nodes>
+ <variables id="44"/>
+ <lastNodeId>11</lastNodeId>
+ <id>generation</id>
+ <name>generation</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,265 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+ <default>
+ <elements id="2">
+ <entry>
+ <string>7-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="4">
+ <x>368</x>
+ <y>298</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="6">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="8">
+ <ruleFlowGroup>kill all</ruleFlowGroup>
+ <id>6</id>
+ <name>kill all</name>
+ <incomingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
+ <ruleFlowGroup>reset calculate</ruleFlowGroup>
+ <id>4</id>
+ <name>reset calculate</name>
+ <incomingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="13">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="14">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="15"/>
+ <outgoingConnections id="16">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="13"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="17">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="8"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="18">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="19">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="20">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="21">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="22">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="20"/>
+ </incomingConnections>
+ <outgoingConnections id="23"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </element>
+ <incomingConnections id="24">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="25" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="26"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="27" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="28">
+ <x>368</x>
+ <y>223</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="8"/>
+ <incomingConnections id="29">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="30" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="31"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="32" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="33">
+ <x>368</x>
+ <y>154</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+ <incomingConnections id="34">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="35" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="36"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="37" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="38">
+ <x>368</x>
+ <y>73</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="14"/>
+ <incomingConnections id="39"/>
+ <outgoingConnections id="40">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="35"/>
+ </outgoingConnections>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="32"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="13"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="41">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="30"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="27"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="10"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="42">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="25"/>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="43">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="44" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="45"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="46" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="47">
+ <x>368</x>
+ <y>383</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="21"/>
+ <incomingConnections id="48">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="44"/>
+ </incomingConnections>
+ <outgoingConnections id="49"/>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="20"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+ </entry>
+ <entry>
+ <string>4-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="32"/>
+ </entry>
+ <entry>
+ <string>11-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="46"/>
+ </entry>
+ <entry>
+ <string>6-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="27"/>
+ </entry>
+ <entry>
+ <string>1-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="37"/>
+ </entry>
+ </elements>
+ <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="50">
+ <nodes id="51">
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="8"/>
+ </entry>
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="21"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="14"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+ </entry>
+ </nodes>
+ <variables id="52"/>
+ <lastNodeId>11</lastNodeId>
+ <id>kill all</id>
+ <name>kill all</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+ </process>
+ <routerLayout>2</routerLayout>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,90 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>4</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+ <ruleFlowGroup>reset calculate</ruleFlowGroup>
+ <id>4</id>
+ <name>reset calculate</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="7"/>
+ <outgoingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
+ <ruleFlowGroup>kill all</ruleFlowGroup>
+ <id>6</id>
+ <name>kill all</name>
+ <incomingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </incomingConnections>
+ <outgoingConnections id="13">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="15">
+ <ruleFlowGroup>calculate</ruleFlowGroup>
+ <id>7</id>
+ <name>calculate</name>
+ <incomingConnections id="16">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
+ </incomingConnections>
+ <outgoingConnections id="17">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="18">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="15"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="19">
+ <id>11</id>
+ <name>End</name>
+ <incomingConnections id="20">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="18"/>
+ </incomingConnections>
+ <outgoingConnections id="21"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+ </entry>
+ <entry>
+ <long>6</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
+ </entry>
+ <entry>
+ <long>11</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="19"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+ </entry>
+ <entry>
+ <long>7</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="15"/>
+ </entry>
+ </nodes>
+ <variables id="22"/>
+ <lastNodeId>11</lastNodeId>
+ <id>kill all</id>
+ <name>kill all</name>
+ <version>1</version>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,154 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+ <default>
+ <elements id="2">
+ <entry>
+ <string>2-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="4">
+ <x>307</x>
+ <y>128</y>
+ <width>99</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+ <ruleFlowGroup>register neighbor</ruleFlowGroup>
+ <id>2</id>
+ <name>register neighbor</name>
+ <incomingConnections id="6">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="9"/>
+ <outgoingConnections id="10">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="11">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="13">
+ <id>3</id>
+ <name>End</name>
+ <incomingConnections id="14">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
+ </incomingConnections>
+ <outgoingConnections id="15"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </element>
+ <incomingConnections id="16">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="17" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="18"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="19" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="20">
+ <x>316</x>
+ <y>33</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
+ <incomingConnections id="21"/>
+ <outgoingConnections id="22">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="17"/>
+ </outgoingConnections>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </source>
+ <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </incomingConnections>
+ <outgoingConnections id="23">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="24" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <default>
+ <type>1</type>
+ <bendpoints id="25"/>
+ <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+ <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="26" serialization="custom">
+ <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ <default>
+ <constraint id="27">
+ <x>316</x>
+ <y>222</y>
+ <width>80</width>
+ <height>40</height>
+ </constraint>
+ <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="13"/>
+ <incomingConnections id="28">
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="24"/>
+ </incomingConnections>
+ <outgoingConnections id="29"/>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </target>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+ <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ <default>
+ <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
+ </default>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+ </outgoingConnections>
+ <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+ </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+ </entry>
+ <entry>
+ <string>3-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="26"/>
+ </entry>
+ <entry>
+ <string>1-Wrapper</string>
+ <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="19"/>
+ </entry>
+ </elements>
+ <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="30">
+ <nodes id="31">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="13"/>
+ </entry>
+ </nodes>
+ <variables id="32"/>
+ <lastNodeId>3</lastNodeId>
+ <id>register neighbor</id>
+ <name>register neighbor</name>
+ <type>RuleFlow</type>
+ </process>
+ <routerLayout>2</routerLayout>
+ </default>
+ </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm (from rev 13638, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,53 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+ <nodes id="2">
+ <entry>
+ <long>2</long>
+ <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+ <ruleFlowGroup>register neighbor</ruleFlowGroup>
+ <id>2</id>
+ <name>register neighbor</name>
+ <incomingConnections id="4">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+ <id>1</id>
+ <name>Start</name>
+ <incomingConnections id="7"/>
+ <outgoingConnections id="8">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+ </outgoingConnections>
+ </from>
+ <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </incomingConnections>
+ <outgoingConnections id="9">
+ <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+ <type>1</type>
+ <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+ <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="11">
+ <id>3</id>
+ <name>End</name>
+ <incomingConnections id="12">
+ <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+ </incomingConnections>
+ <outgoingConnections id="13"/>
+ </to>
+ </org.drools.ruleflow.core.impl.ConnectionImpl>
+ </outgoingConnections>
+ </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+ </entry>
+ <entry>
+ <long>1</long>
+ <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+ </entry>
+ <entry>
+ <long>3</long>
+ <org.drools.ruleflow.core.impl.EndNodeImpl reference="11"/>
+ </entry>
+ </nodes>
+ <variables id="14"/>
+ <lastNodeId>3</lastNodeId>
+ <id>register neighbor</id>
+ <name>register neighbor</name>
+ <type>RuleFlow</type>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.launch
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.launch 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.launch 2007-07-20 01:21:46 UTC (rev 13658)
@@ -36,8 +36,8 @@
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-compiler" type="1"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-repository" type="1"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-decisiontables" type="1"/> "/>
-<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2pre2.jar" path="3" type="2"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jxl-2.4.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2pre5.jar" path="3" type="2"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/janino-2.5.7.jar" path="3" type="2"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/antlr-runtime-3.0.jar" path="3" type="2"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-api-1.3.jar" path="3" type="2"/> "/>
@@ -52,5 +52,4 @@
<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.brms.JBRMS/JBRMS.html"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-jbrms"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread"/>
</launchConfiguration>
Copied: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.mac.launch (from rev 13638, labs/jbossrules/trunk/drools-jbrms/JBRMS.mac.launch)
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.mac.launch (rev 0)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/JBRMS.mac.launch 2007-07-20 01:21:46 UTC (rev 13658)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/drools-jbrms"/>
+</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="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/src/main/java" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/classes" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-compiler/src/main/java" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_DEV" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-servlet.jar" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="GWT_HOME/gwt-user.jar" path="3" type="3"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-core" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-1.5.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/asm-attrs-1.5.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/cglib-2.1_3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-collections-3.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-fileupload-1.1.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-io-1.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/commons-logging-1.0.4.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/concurrent-1.3.4.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/derby-10.2.1.6.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/dom4j-1.6.1.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jboss-seam-1.2.0.GA.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jcr-1.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jta-1.0.1B.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/lucene-core-2.0.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xercesImpl-2.4.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xml-apis-1.0.b2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xpp3-1.1.3.4.O.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/xstream-1.1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-compiler" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-repository" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry path="3" projectName="drools-decisiontables" type="1"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jxl-2.4.2.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2pre5.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/janino-2.5.7.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/antlr-runtime-3.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-api-1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-core-1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-jcr-commons-1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jackrabbit-text-extractors-1.3.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/log4j-1.2.13.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/slf4j-api-1.3.0.jar" path="3" type="2"/> "/>
+<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/drools-jbrms/target/drools-jbrms/WEB-INF/lib/slf4j-log4j12-1.3.0.jar" path="3" type="2"/> "/>
+</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.brms.JBRMS/JBRMS.html"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-jbrms"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread"/>
+</launchConfiguration>
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DSLRuleEditor.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DSLRuleEditor.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DSLRuleEditor.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -16,6 +16,7 @@
* limitations under the License.
*/
+import org.drools.brms.client.common.DirtyableComposite;
import org.drools.brms.client.common.ImageButton;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
import org.drools.brms.client.modeldriven.brl.DSLSentence;
@@ -25,14 +26,10 @@
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
-import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -43,7 +40,7 @@
* @author michael neale
*/
-public class DSLRuleEditor extends Composite {
+public class DSLRuleEditor extends DirtyableComposite {
private TextArea text;
final private RuleContentText data;
@@ -76,6 +73,7 @@
text.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
data.content = text.getText();
+ makeDirty();
}
} );
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DefaultRuleContentWidget.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DefaultRuleContentWidget.java 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/DefaultRuleContentWidget.java 2007-07-20 01:21:46 UTC (rev 13658)
@@ -21,7 +21,6 @@
import org.drools.brms.client.rpc.RuleContentText;
import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.Widget;
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html 2007-07-20 00:24:46 UTC (rev 13657)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.html 2007-07-20 01:21:46 UTC (rev 13658)
@@ -69,11 +69,11 @@
var F;
var I = ["true", (F=window["prop$user.agent"],F(1))];
- O(["true","opera"],"067A1C2124F06109193D48B36BE2362A");
- O(["true","ie6"],"3675BB00C97A8C82A24BD61C258C0EC2");
- O(["true","safari"],"524BC564C3251D9421731997DEB93463");
- O(["true","gecko1_8"],"759BD1A4129A9F81ED55E6302FA8451E");
- O(["true","gecko"],"A525E1A481B1FEF622A1D0B452B1BDAA");
+ O(["true","gecko"],"09724DCCC22AA6319FEDDA42D8534508");
+ O(["true","ie6"],"4DFA191D4D047FEE3FBEBA3B00CCED56");
+ O(["true","gecko1_8"],"9FC408A168198C6C6CD0FDADCA8E13E5");
+ O(["true","opera"],"E1FEDFB1EA4BAB78E544EB5411AF0065");
+ O(["true","safari"],"F9091E27E92199179AF5C8C2139A4E9E");
var strongName = O.answers[I[0]][I[1]];
var query = location.search;
More information about the jboss-svn-commits
mailing list