[jboss-svn-commits] JBL Code SVN: r11048 - in labs/jbossrules/branches/3.0.x: drools-compiler/src/test/resources/org/drools/integrationtests and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 16 19:30:04 EDT 2007


Author: tirelli
Date: 2007-04-16 19:30:04 -0400 (Mon, 16 Apr 2007)
New Revision: 11048

Modified:
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1.drl
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
   labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
Log:
JBRULES-759: removing node sharing cache as it was incorrectly maintained. Not, node sharing is calculated on demand.

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-04-16 23:30:04 UTC (rev 11048)
@@ -48,6 +48,7 @@
 import org.drools.QueryResult;
 import org.drools.QueryResults;
 import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
 import org.drools.Sensor;
 import org.drools.State;
 import org.drools.TestParam;
@@ -3160,5 +3161,24 @@
                       ((Integer)result.get( 0 )).intValue());
 
     }
+    
+    public void testRuleBaseAddRemove() throws Exception
+    {
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        
+        //add and remove
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl(new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ));
+        Package pkg = builder.getPackage();
+        ruleBase.addPackage(pkg);
+        ruleBase.removePackage(pkg.getName());
+            
+        //add and remove again
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl(new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ));
+        pkg = builder.getPackage();
+        ruleBase.addPackage(pkg);
+        ruleBase.removePackage(pkg.getName());
+    }
 
 }

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1.drl
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1.drl	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1.drl	2007-04-16 23:30:04 UTC (rev 11048)
@@ -7,7 +7,7 @@
 
 rule "like stilton"
     when
-        Cheese( type:type == "stilton" )
+        Cheese( type:type == "stilton", price > ( new Integer( -1 ) ) )
     then
 		list.add( type );
 end  
\ No newline at end of file

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrs	2007-04-16 23:30:04 UTC (rev 11048)
@@ -18,9 +18,9 @@
 ACcBAAdwcmludGxuAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAGZHJvb2xzAQAgTG9yZy9kcm9v
 bHMvc3BpL0tub3dsZWRnZUhlbHBlcjsBAApTb3VyY2VGaWxlAQAZUnVsZV9IZWxsb19Xb3JsZF8y
 XzAuamF2YQAhAAEAAwAAAAEAGgAFAAYAAQAHAAAAAgAIAAMAAQAKAAsAAQAMAAAALwABAAEAAAAF
-KrcADbEAAAACAA8AAAAGAAEAAAAFABAAAAAMAAEAAAAFABEAEgAAAAkAEwAUAAIAFQAAAAQAAQAW
-AAwAAAAiAAEAAAAAAAIErAAAAAIADwAAAAYAAQAAAAgAEAAAAAIAAAAJABgAGQACABUAAAAEAAEA
-FgAMAAAANwACAAEAAAAJsgAaEiC2ACKxAAAAAgAPAAAACgACAAAACwAIAA0AEAAAAAwAAQAAAAkA
+KrcADbEAAAACAA8AAAAGAAEAAAAEABAAAAAMAAEAAAAFABEAEgAAAAkAEwAUAAIAFQAAAAQAAQAW
+AAwAAAAiAAEAAAAAAAIErAAAAAIADwAAAAYAAQAAAAcAEAAAAAIAAAAJABgAGQACABUAAAAEAAEA
+FgAMAAAANwACAAEAAAAJsgAaEiC2ACKxAAAAAgAPAAAACgACAAAACgAIAAwAEAAAAAwAAQAAAAkA
 KAApAAAAAQAqAAAAAgAr</byte-array>
             </entry>
             <entry>
@@ -36,8 +36,8 @@
 FShMamF2YS9sYW5nL1N0cmluZzspVgEABmRyb29scwEAIExvcmcvZHJvb2xzL3NwaS9Lbm93bGVk
 Z2VIZWxwZXI7AQAKU291cmNlRmlsZQEAGVJ1bGVfSGVsbG9fV29ybGRfMV8wLmphdmEAIQABAAMA
 AAABABoABQAGAAEABwAAAAIACAACAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAA
-BgABAAAABQAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
-sgAYEh62ACCxAAAAAgAPAAAACgACAAAACAAIAAoAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
+BgABAAAABAAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
+sgAYEh62ACCxAAAAAgAPAAAACgACAAAABwAIAAkAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
 </byte-array>
             </entry>
             <entry>
@@ -217,7 +217,6 @@
         <list>
           <string>org.drools.Message</string>
           <string>org.drools.reteoo.*</string>
-          <string>java.lang.*</string>
         </list>
         <map/>
         <byte-array>rO0ABXNyABdqYXZhLnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4
@@ -357,7 +356,7 @@
 dXJjZXEAfgA2eHIAHW9yZy5kcm9vbHMucmV0ZW9vLlR1cGxlU291cmNlnyEX66pio5ACAAFMAAp0
 dXBsZVNpbmtzcQB+ACt4cQB+ACEAAQAAAAMAAAAHc3EAfgAkAAAAAXcEAAAAAXNyABpvcmcuZHJv
 b2xzLnJldGVvby5Kb2luTm9kZTiQLy6/d83aAgAAeHIAGm9yZy5kcm9vbHMucmV0ZW9vLkJldGFO
-b2RlOwpKjoeyYlsCAANMAA5qb2luTm9kZUJpbmRlcnEAfgA6TAAJbGVmdElucHV0dAAfTG9yZy9k
+b2Rl4cI7NU66UrUCAANMAA5qb2luTm9kZUJpbmRlcnEAfgA6TAAJbGVmdElucHV0dAAfTG9yZy9k
 cm9vbHMvcmV0ZW9vL1R1cGxlU291cmNlO0wACnJpZ2h0SW5wdXRxAH4ANnhxAH4AOwAAAAAABQAA
 AAdzcQB+ACQAAAACdwQAAAACc3EAfgA+AAAAAAAHAAAAA3NxAH4AJAAAAAJ3BAAAAAJzcQB+AD4A
 AAAAAAkAAAABc3EAfgAkAAAAAncEAAAAAnNyAB5vcmcuZHJvb2xzLnJldGVvby5UZXJtaW5hbE5v
@@ -419,45 +418,45 @@
 s3NqAgAAeHB1cQB+AFQAAAAAeHQADUhlbGxvIFdvcmxkIDJwcQB+AJx4cQB+AMxxAH4ARXhzcgAg
 b3JnLmRyb29scy5jb21tb24uQmV0YU5vZGVCaW5kZXLZOk2QQfBaswIAAVsAC2NvbnN0cmFpbnRz
 dAAhW0xvcmcvZHJvb2xzL3NwaS9GaWVsZENvbnN0cmFpbnQ7eHB1cgAhW0xvcmcuZHJvb2xzLnNw
-aS5GaWVsZENvbnN0cmFpbnQ7mvaX9rRKD8YCAAB4cAAAAAFzcgAtb3JnLmRyb29scy5jb21tb24u
+aS5GaWVsZENvbnN0cmFpbnQ7mvaX9rRKD8YCAAB4cAAAAANzcgAtb3JnLmRyb29scy5jb21tb24u
 SW5zdGFuY2VOb3RFcXVhbHNDb25zdHJhaW50u86LzZRlbJsCAAJJAAtvdGhlckNvbHVtblsADGRl
-Y2xhcmF0aW9uc3EAfgBNeHAAAAACdXEAfgBUAAAAAHEAfgBDc3EAfgA0AAEAAAAIAAAAA3NxAH4A
-IwAAAAJ3BAAAAAJxAH4ARXNxAH4APgAAAAAADwAAAAFzcQB+ACQAAAACdwQAAAACc3EAfgBHAAAA
-AAAQAAAAAHEAfgBQcQB+ANtzcQB+AJoAAQAAABcAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4ARwAA
-AAAAGAAAAABxAH4An3EAfgDeeHEAfgDMcQB+ANt4c3EAfgDRdXEAfgDUAAAAAXNxAH4A1gAAAAJ1
-cQB+AFQAAAAAc3EAfgA+AAAAAAAOAAAAA3NxAH4AJAAAAAJ3BAAAAAJxAH4A23NxAH4APgAAAAAA
-EQAAAAFzcQB+ACQAAAACdwQAAAACc3EAfgBHAAAAAAASAAAAAHEAfgBQcQB+AOdzcQB+AJoAAQAA
-ABkAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4ARwAAAAAAGgAAAABxAH4An3EAfgDqeHEAfgDMcQB+
-AOd4c3EAfgDRdXEAfgDUAAAAAXNxAH4A1gAAAAJ1cQB+AFQAAAAAcQB+AOVzcQB+ADQAAQAAAAsA
-AAADc3EAfgAjAAAAAncEAAAAAnNxAH4APgAAAAAADAAAAAFzcQB+ACQAAAACdwQAAAACc3EAfgBH
-AAAAAAANAAAAAHEAfgBQcQB+APNzcQB+AJoAAQAAABUAAAAAc3EAfgAkAAAAAXcEAAAAAXNxAH4A
-RwAAAAAAFgAAAABxAH4An3EAfgD2eHEAfgDMcQB+APN4c3EAfgDRdXEAfgDUAAAAAXNxAH4A1gAA
-AAJ1cQB+AFQAAAAAcQB+AENxAH4A8XEAfgDneHEAfgCVcQB+ACl4c3EAfgDRdXEAfgDUAAAAAXNx
-AH4A1gAAAAF1cQB+AFQAAAAAcQB+AEFzcQB+ADQAAQAAAAQAAAALc3EAfgAjAAAAAncEAAAAAnEA
-fgBBcQB+AOV4cQB+AHdxAH4AKXEAfgDZeHEAfgCOcQB+AClxAH4A83hzcQB+ANF1cQB+ANQAAAAB
-c3EAfgDWAAAAAXVxAH4AVAAAAABxAH4AQXNxAH4ANAABAAAABgAAAANzcQB+ACMAAAABdwQAAAAB
-cQB+AEN4cQB+AIJxAH4AKXEAfgDleHNxAH4A0XVxAH4A1AAAAAFzcQB+ANYAAAAAdXEAfgBUAAAA
-AHEAfgA8cQB+AQF4c3EAfgDRdXEAfgDUAAAAAHEAfgA3eHEAfgBmcQB+ACl4cQB+AGZxAH4AMXNx
-AH4AL3NxAH4ADD9AAAAAAAAMdwgAAAAQAAAAAnEAfgCXcQB+APFxAH4AM3EAfgDZeHEAfgCOcQB+
-AQ9zcQB+AC9zcQB+AAw/QAAAAAAADHcIAAAAEAAAAAJxAH4Ae3EAfgEBcQB+ADNxAH4BB3hxAH4A
-d3EAfgEReHNxAH4AJAAAAAV3BAAAAAdxAH4AN3EAfgEBcQB+AQdxAH4A2XEAfgDxeHEAfgDxc3EA
-fgAkAAAAAHcEAAAAAXhxAH4AdHEAfgAic3EAfgAMP0AAAAAAAAx3CAAAABAAAAABcQB+AHRxAH4A
-KXhzcgAmb3JnLmRyb29scy5zcGkuQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIChNj8cLGw6wIAAUwA
-Cm9iamVjdFR5cGV0AENMb3JnL2Ryb29scy9zcGkvQ2xhc3NPYmplY3RUeXBlUmVzb2x2ZXIkTW9k
-aWZpZWFibGVDbGFzc09iamVjdFR5cGU7eHBzcgBBb3JnLmRyb29scy5zcGkuQ2xhc3NPYmplY3RU
-eXBlUmVzb2x2ZXIkTW9kaWZpZWFibGVDbGFzc09iamVjdFR5cGVEpauUAjf7NQIAAHhxAH4AcwAA
-ASxwc3IAH29yZy5kcm9vbHMucmV0ZW9vLlJldGVvb0J1aWxkZXIYHVn7j8gD8AIACUkAF2N1cnJl
-bnRPZmZzZXRBZGp1c3RtZW50SQACaWRMAA1hdHRhY2hlZE5vZGVzcQB+AA9MAAxkZWNsYXJhdGlv
-bnNxAH4AD0wADG9iamVjdFNvdXJjZXEAfgA2TAAKb2JqZWN0VHlwZXEAfgAPTAAIcmVzb2x2ZXJx
-AH4AHkwABXJ1bGVzcQB+AA9MAAt0dXBsZVNvdXJjZXEAfgBAeHAAAAAAAAAAG3NxAH4ADD9AAAAA
-AAAYdwgAAAAgAAAAEnEAfgDecQB+AN5xAH4AQ3EAfgBDcQB+AOdxAH4A53EAfgDbcQB+ANtxAH4A
-KXEAfgApcQB+APZxAH4A9nEAfgA3cQB+ADdxAH4APHEAfgA8cQB+AOVxAH4A5XEAfgEHcQB+AQdx
-AH4A83EAfgDzcQB+AEVxAH4ARXEAfgDqcQB+AOpxAH4A2XEAfgDZcQB+AEFxAH4AQXEAfgEBcQB+
-AQFxAH4AnHEAfgCccQB+APFxAH4A8XhzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAB4cQB+APFzcgAX
-amF2YS51dGlsLkxpbmtlZEhhc2hNYXA0wE5cEGzA+wIAAVoAC2FjY2Vzc09yZGVyeHEAfgAMP0AA
-AAAAAAx3CAAAABAAAAABcQB+AKxzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZh
-bHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAA3gAcQB+ARhzcQB+AAw/QAAA
-AAAADHcIAAAAEAAAAAJxAH4AUHVyAB1bTG9yZy5kcm9vbHMucmV0ZW9vLkJhc2VOb2RlOwvnyZND
-nLPqAgAAeHAAAAAEcQB+AElxAH4A9XEAfgDdcQB+AOlxAH4An3VxAH4BJQAAAARxAH4AnnEAfgD4
-cQB+AOBxAH4A7HhxAH4A6g==</byte-array>
+Y2xhcmF0aW9uc3EAfgBNeHAAAAAAdXEAfgBUAAAAAHNxAH4A1gAAAAF1cQB+AFQAAAAAc3EAfgDW
+AAAAAnVxAH4AVAAAAABxAH4AQ3NxAH4ANAABAAAACAAAAANzcQB+ACMAAAACdwQAAAACcQB+AEVz
+cQB+AD4AAAAAAA8AAAABc3EAfgAkAAAAAncEAAAAAnNxAH4ARwAAAAAAEAAAAABxAH4AUHEAfgDf
+c3EAfgCaAAEAAAAXAAAAAHNxAH4AJAAAAAF3BAAAAAFzcQB+AEcAAAAAABgAAAAAcQB+AJ9xAH4A
+4nhxAH4AzHEAfgDfeHNxAH4A0XVxAH4A1AAAAANzcQB+ANYAAAAAdXEAfgBUAAAAAHNxAH4A1gAA
+AAF1cQB+AFQAAAAAc3EAfgDWAAAAAnVxAH4AVAAAAABzcQB+AD4AAAAAAA4AAAADc3EAfgAkAAAA
+AncEAAAAAnEAfgDfc3EAfgA+AAAAAAARAAAAAXNxAH4AJAAAAAJ3BAAAAAJzcQB+AEcAAAAAABIA
+AAAAcQB+AFBxAH4A73NxAH4AmgABAAAAGQAAAABzcQB+ACQAAAABdwQAAAABc3EAfgBHAAAAAAAa
+AAAAAHEAfgCfcQB+APJ4cQB+AMxxAH4A73hzcQB+ANF1cQB+ANQAAAADc3EAfgDWAAAAAHVxAH4A
+VAAAAABzcQB+ANYAAAABdXEAfgBUAAAAAHNxAH4A1gAAAAJ1cQB+AFQAAAAAcQB+AO1zcQB+ADQA
+AQAAAAsAAAADc3EAfgAjAAAAAncEAAAAAnNxAH4APgAAAAAADAAAAAFzcQB+ACQAAAACdwQAAAAC
+c3EAfgBHAAAAAAANAAAAAHEAfgBQcQB+AP9zcQB+AJoAAQAAABUAAAAAc3EAfgAkAAAAAXcEAAAA
+AXNxAH4ARwAAAAAAFgAAAABxAH4An3EAfgECeHEAfgDMcQB+AP94c3EAfgDRdXEAfgDUAAAAA3Nx
+AH4A1gAAAAB1cQB+AFQAAAAAc3EAfgDWAAAAAXVxAH4AVAAAAABzcQB+ANYAAAACdXEAfgBUAAAA
+AHEAfgBDcQB+AP1xAH4A73hxAH4AlXEAfgApeHNxAH4A0XVxAH4A1AAAAAJzcQB+ANYAAAAAdXEA
+fgBUAAAAAHNxAH4A1gAAAAF1cQB+AFQAAAAAcQB+AEFzcQB+ADQAAQAAAAQAAAALc3EAfgAjAAAA
+AncEAAAAAnEAfgBBcQB+AO14cQB+AHdxAH4AKXEAfgDdeHEAfgCOcQB+AClxAH4A/3hzcQB+ANF1
+cQB+ANQAAAACc3EAfgDWAAAAAHVxAH4AVAAAAABzcQB+ANYAAAABdXEAfgBUAAAAAHEAfgBBc3EA
+fgA0AAEAAAAGAAAAA3NxAH4AIwAAAAF3BAAAAAFxAH4AQ3hxAH4AgnEAfgApcQB+AO14c3EAfgDR
+dXEAfgDUAAAAAXNxAH4A1gAAAAB1cQB+AFQAAAAAcQB+ADxxAH4BE3hzcQB+ANF1cQB+ANQAAAAA
+cQB+ADd4cQB+AGZxAH4AKXhxAH4AZnEAfgAxc3EAfgAvc3EAfgAMP0AAAAAAAAx3CAAAABAAAAAC
+cQB+AJdxAH4A/XEAfgAzcQB+AN14cQB+AI5xAH4BI3NxAH4AL3NxAH4ADD9AAAAAAAAMdwgAAAAQ
+AAAAAnEAfgB7cQB+ARNxAH4AM3EAfgEbeHEAfgB3cQB+ASV4c3EAfgAkAAAABXcEAAAAB3EAfgA3
+cQB+ARNxAH4BG3EAfgDdcQB+AP14cQB+AP1zcQB+ACQAAAAAdwQAAAABeHEAfgB0cQB+ACJzcQB+
+AAw/QAAAAAAADHcIAAAAEAAAAAFxAH4AdHEAfgApeHNyACZvcmcuZHJvb2xzLnNwaS5DbGFzc09i
+amVjdFR5cGVSZXNvbHZlcgKE2PxwsbDrAgABTAAKb2JqZWN0VHlwZXQAQ0xvcmcvZHJvb2xzL3Nw
+aS9DbGFzc09iamVjdFR5cGVSZXNvbHZlciRNb2RpZmllYWJsZUNsYXNzT2JqZWN0VHlwZTt4cHNy
+AEFvcmcuZHJvb2xzLnNwaS5DbGFzc09iamVjdFR5cGVSZXNvbHZlciRNb2RpZmllYWJsZUNsYXNz
+T2JqZWN0VHlwZUSlq5QCN/s1AgAAeHEAfgBzAAABLHBzcgAfb3JnLmRyb29scy5yZXRlb28uUmV0
+ZW9vQnVpbGRlchgdWfuPyAPwAgAISQAXY3VycmVudE9mZnNldEFkanVzdG1lbnRJAAJpZEwADGRl
+Y2xhcmF0aW9uc3EAfgAPTAAMb2JqZWN0U291cmNlcQB+ADZMAApvYmplY3RUeXBlcQB+AA9MAAhy
+ZXNvbHZlcnEAfgAeTAAFcnVsZXNxAH4AD0wAC3R1cGxlU291cmNlcQB+AEB4cAAAAAAAAAAbc3EA
+fgAMP0AAAAAAAAx3CAAAABAAAAAAeHEAfgD9c3IAF2phdmEudXRpbC5MaW5rZWRIYXNoTWFwNMBO
+XBBswPsCAAFaAAthY2Nlc3NPcmRlcnhxAH4ADD9AAAAAAAAMdwgAAAAQAAAAAXEAfgCsc3EAfgAk
+AAAABHcEAAAACnNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2
+YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAAAc3EAfgE1AAAAAXNxAH4BNQAAAAJzcQB+ATUA
+AAADeHgAcQB+ASxzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAJxAH4AUHVyAB1bTG9yZy5kcm9vbHMu
+cmV0ZW9vLkJhc2VOb2RlOwvnyZNDnLPqAgAAeHAAAAAEcQB+AElxAH4BAXEAfgDhcQB+APFxAH4A
+n3VxAH4BPAAAAARxAH4AnnEAfgEEcQB+AORxAH4A9HhxAH4A8g==</byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/OneAndTwoOrsPerson	2007-04-16 23:30:04 UTC (rev 11048)
@@ -18,8 +18,8 @@
 FShMamF2YS9sYW5nL1N0cmluZzspVgEABmRyb29scwEAIExvcmcvZHJvb2xzL3NwaS9Lbm93bGVk
 Z2VIZWxwZXI7AQAKU291cmNlRmlsZQEAGVJ1bGVfSGVsbG9fV29ybGRfMl8wLmphdmEAIQABAAMA
 AAABABoABQAGAAEABwAAAAIACAACAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAA
-BgABAAAABwAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
-sgAYEh62ACCxAAAAAgAPAAAACgACAAAACgAIAAwAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
+BgABAAAABgAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
+sgAYEh62ACCxAAAAAgAPAAAACgACAAAACQAIAAsAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
 </byte-array>
             </entry>
             <entry>
@@ -35,8 +35,8 @@
 FShMamF2YS9sYW5nL1N0cmluZzspVgEABmRyb29scwEAIExvcmcvZHJvb2xzL3NwaS9Lbm93bGVk
 Z2VIZWxwZXI7AQAKU291cmNlRmlsZQEAGVJ1bGVfSGVsbG9fV29ybGRfMV8wLmphdmEAIQABAAMA
 AAABABoABQAGAAEABwAAAAIACAACAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAA
-BgABAAAABwAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
-sgAYEh62ACCxAAAAAgAPAAAACgACAAAACgAIAAwAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
+BgABAAAABgAQAAAADAABAAAABQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAANwACAAEAAAAJ
+sgAYEh62ACCxAAAAAgAPAAAACgACAAAACQAIAAsAEAAAAAwAAQAAAAkAJgAnAAAAAQAoAAAAAgAp
 </byte-array>
             </entry>
             <entry>
@@ -165,7 +165,6 @@
           <string>org.drools.Cheese</string>
           <string>org.drools.Person</string>
           <string>org.drools.reteoo.*</string>
-          <string>java.lang.*</string>
         </list>
         <map/>
         <byte-array>rO0ABXNyABdqYXZhLnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4
@@ -313,7 +312,7 @@
 bnR0ACBMb3JnL2Ryb29scy9zcGkvRmllbGRDb25zdHJhaW50O0wADG9iamVjdFNvdXJjZXQAIExv
 cmcvZHJvb2xzL3JldGVvby9PYmplY3RTb3VyY2U7eHEAfgAfAAEAAAAYAAAAA3NxAH4AIwAAAAR3
 BAAAAARzcgAab3JnLmRyb29scy5yZXRlb28uSm9pbk5vZGU4kC8uv3fN2gIAAHhyABpvcmcuZHJv
-b2xzLnJldGVvby5CZXRhTm9kZTsKSo6HsmJbAgADTAAOam9pbk5vZGVCaW5kZXJ0ACJMb3JnL2Ry
+b2xzLnJldGVvby5CZXRhTm9kZeHCOzVOulK1AgADTAAOam9pbk5vZGVCaW5kZXJ0ACJMb3JnL2Ry
 b29scy9jb21tb24vQmV0YU5vZGVCaW5kZXI7TAAJbGVmdElucHV0dAAfTG9yZy9kcm9vbHMvcmV0
 ZW9vL1R1cGxlU291cmNlO0wACnJpZ2h0SW5wdXRxAH4ANnhyAB1vcmcuZHJvb2xzLnJldGVvby5U
 dXBsZVNvdXJjZZ8hF+uqYqOQAgABTAAKdHVwbGVTaW5rc3EAfgAreHEAfgAhAAAAAAAZAAAAAHNx
@@ -388,66 +387,64 @@
 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
-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
+ALRxAH4AvXEAfgApeHNxAH4AuHVxAH4AuwAAAANzcgAtb3JnLmRyb29scy5jb21tb24uSW5zdGFu
 Y2VOb3RFcXVhbHNDb25zdHJhaW50u86LzZRlbJsCAAJJAAtvdGhlckNvbHVtblsADGRlY2xhcmF0
-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
-AI1xAH4BRHhxAH4A3nEAfgFJeHNxAH4AJAAAAAJ3BAAAAAJxAH4BRHEAfgFLeHEAfgFLc3EAfgAk
-AAAAAHcEAAAAAXhxAH4A4HEAfgAieHNxAH4AuHVxAH4AuwAAAAFzcQB+APoAAAAAdXEAfgBNAAAA
-AHEAfgE9c3EAfgA0AAEAAAAEAAAAC3NxAH4AIwAAAAF3BAAAAAFxAH4BP3hxAH4A0HEAfgE1eHNx
-AH4AuHEAfgC8cQB+ATp4cQB+AMtxAH4BNXhxAH4Ay3EAfgE4c3EAfgAvc3EAfgAMP0AAAAAAAAx3
-CAAAABAAAAACcQB+AKJxAH4BD3EAfgBwcQB+ATN4cQB+AOpxAH4BVnNxAH4AL3NxAH4ADD9AAAAA
-AAAMdwgAAAAQAAAAAnEAfgB5cQB+AVNxAH4AcHNxAH4ANAABAAAABgAAAAVzcQB+ACMAAAABdwQA
-AAABcQB+AP14cQB+ANdxAH4BNXhxAH4A0HEAfgFYeHNxAH4AJAAAAAV3BAAAAAdxAH4BOnEAfgFT
-cQB+AVpxAH4BM3EAfgEPeHEAfgEPc3EAfgAkAAAAAHcEAAAAAXhxAH4AzXEAfgAicQB+ARF4c3EA
-fgC4dXEAfgC7AAAAAXNxAH4A+gAAAAN1cQB+AE0AAAAAcQB+AUFxAH4BS3EAfgEPeHEAfgDvcQB+
-ATV4c3EAfgC4dXEAfgC7AAAAAXNxAH4A+gAAAAF1cQB+AE0AAAAAcQB+AT9xAH4BWnEAfgEzcQB+
-ADdxAH4BAnEAfgEmcQB+ARR4cQB+AKhxAH4AKXhxAH4AqHEAfgAxeHNxAH4AJAAAAAF3BAAAAAFx
-AH4AN3hxAH4BGHNxAH4AJAAAAAR3BAAAAARxAH4A83EAfgEGcQB+ASpxAH4BGHhxAH4AsHEAfgAi
-c3EAfgAMP0AAAAAAAAx3CAAAABAAAAADcQB+ALBxAH4AKXEAfgDNcQB+ATVxAH4A4HEAfgFGeHNy
-ACZvcmcuZHJvb2xzLnNwaS5DbGFzc09iamVjdFR5cGVSZXNvbHZlcgKE2PxwsbDrAgABTAAKb2Jq
-ZWN0VHlwZXQAQ0xvcmcvZHJvb2xzL3NwaS9DbGFzc09iamVjdFR5cGVSZXNvbHZlciRNb2RpZmll
-YWJsZUNsYXNzT2JqZWN0VHlwZTt4cHNyAEFvcmcuZHJvb2xzLnNwaS5DbGFzc09iamVjdFR5cGVS
-ZXNvbHZlciRNb2RpZmllYWJsZUNsYXNzT2JqZWN0VHlwZUSlq5QCN/s1AgAAeHEAfgBxAAABLHBz
-cgAfb3JnLmRyb29scy5yZXRlb28uUmV0ZW9vQnVpbGRlchgdWfuPyAPwAgAJSQAXY3VycmVudE9m
-ZnNldEFkanVzdG1lbnRJAAJpZEwADWF0dGFjaGVkTm9kZXNxAH4AD0wADGRlY2xhcmF0aW9uc3EA
-fgAPTAAMb2JqZWN0U291cmNlcQB+ADZMAApvYmplY3RUeXBlcQB+AA9MAAhyZXNvbHZlcnEAfgAe
-TAAFcnVsZXNxAH4AD0wAC3R1cGxlU291cmNlcQB+ADx4cAAAAAAAAAApc3EAfgAMP0AAAAAAADB3
-CAAAAEAAAAAccQB+AQZxAH4BBnEAfgERcQB+ARFxAH4BI3EAfgEjcQB+ATVxAH4BNXEAfgDzcQB+
-APNxAH4BRnEAfgFGcQB+AURxAH4BRHEAfgEzcQB+ATNxAH4BP3EAfgE/cQB+ASFxAH4BIXEAfgFT
-cQB+AVNxAH4BGHEAfgEYcQB+AD5xAH4APnEAfgEPcQB+AQ9xAH4AKXEAfgApcQB+AP1xAH4A/XEA
-fgFLcQB+AUtxAH4BPXEAfgE9cQB+ATpxAH4BOnEAfgA3cQB+ADdxAH4BKnEAfgEqcQB+AVpxAH4B
-WnEAfgEUcQB+ARRxAH4A/3EAfgD/cQB+AL1xAH4AvXEAfgECcQB+AQJxAH4BJnEAfgEmcQB+AUFx
-AH4BQXhzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAFxAH4AWHEAfgBReHEAfgApc3IAF2phdmEudXRp
-bC5MaW5rZWRIYXNoTWFwNMBOXBBswPsCAAFaAAthY2Nlc3NPcmRlcnhxAH4ADD9AAAAAAAAMdwgA
-AAAQAAAAA3EAfgByc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBq
-YXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAVxAH4AjnNxAH4BdAAAAARxAH4AtnNxAH4B
-dAAAAAZ4AHEAfgFrc3EAfgAMP0AAAAAAAAx3CAAAABAAAAACcQB+AMB1cgAdW0xvcmcuZHJvb2xz
-LnJldGVvby5CYXNlTm9kZTsL58mTQ5yz6gIAAHhwAAAABHEAfgC/cQB+AQFxAH4BJXEAfgETcQB+
-AEl1cQB+AXoAAAAIcQB+AEJxAH4A9XEAfgEEcQB+AQhxAH4BKHEAfgEscQB+ARZxAH4BGnhxAH4B
-GA==</byte-array>
+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
+AAAAAAx3CAAAABAAAAACcQB+AKJxAH4BF3EAfgBwcQB+AT94cQB+AOpxAH4BYnNxAH4AL3NxAH4A
+DD9AAAAAAAAMdwgAAAAQAAAAAnEAfgB5cQB+AV9xAH4AcHNxAH4ANAABAAAABgAAAAVzcQB+ACMA
+AAABdwQAAAABcQB+AQF4cQB+ANdxAH4BQXhxAH4A0HEAfgFkeHNxAH4AJAAAAAV3BAAAAAdxAH4B
+RnEAfgFfcQB+AWZxAH4BP3EAfgEXeHEAfgEXc3EAfgAkAAAAAHcEAAAAAXhxAH4AzXEAfgAicQB+
+ARl4c3EAfgC4dXEAfgC7AAAAAXNxAH4A+gAAAAN1cQB+AE0AAAAAcQB+AU1xAH4BV3EAfgEXeHEA
+fgDvcQB+AUF4c3EAfgC4dXEAfgC7AAAAAnNxAH4A+gAAAAB1cQB+AE0AAAAAc3EAfgD6AAAAAXVx
+AH4ATQAAAABxAH4BS3EAfgFmcQB+AT9xAH4AN3EAfgEGcQB+ATBxAH4BHHhxAH4AqHEAfgApeHEA
+fgCocQB+ADF4c3EAfgAkAAAAAXcEAAAAAXEAfgA3eHEAfgEgc3EAfgAkAAAABHcEAAAABHEAfgDz
+cQB+AQpxAH4BNHEAfgEgeHEAfgCwcQB+ACJzcQB+AAw/QAAAAAAADHcIAAAAEAAAAANxAH4AsHEA
+fgApcQB+AM1xAH4BQXEAfgDgcQB+AVJ4c3IAJm9yZy5kcm9vbHMuc3BpLkNsYXNzT2JqZWN0VHlw
+ZVJlc29sdmVyAoTY/HCxsOsCAAFMAApvYmplY3RUeXBldABDTG9yZy9kcm9vbHMvc3BpL0NsYXNz
+T2JqZWN0VHlwZVJlc29sdmVyJE1vZGlmaWVhYmxlQ2xhc3NPYmplY3RUeXBlO3hwc3IAQW9yZy5k
+cm9vbHMuc3BpLkNsYXNzT2JqZWN0VHlwZVJlc29sdmVyJE1vZGlmaWVhYmxlQ2xhc3NPYmplY3RU
+eXBlRKWrlAI3+zUCAAB4cQB+AHEAAAEscHNyAB9vcmcuZHJvb2xzLnJldGVvby5SZXRlb29CdWls
+ZGVyGB1Z+4/IA/ACAAhJABdjdXJyZW50T2Zmc2V0QWRqdXN0bWVudEkAAmlkTAAMZGVjbGFyYXRp
+b25zcQB+AA9MAAxvYmplY3RTb3VyY2VxAH4ANkwACm9iamVjdFR5cGVxAH4AD0wACHJlc29sdmVy
+cQB+AB5MAAVydWxlc3EAfgAPTAALdHVwbGVTb3VyY2VxAH4APHhwAAAAAAAAAClzcQB+AAw/QAAA
+AAAADHcIAAAAEAAAAAFxAH4AWHEAfgBReHEAfgApc3IAF2phdmEudXRpbC5MaW5rZWRIYXNoTWFw
+NMBOXBBswPsCAAFaAAthY2Nlc3NPcmRlcnhxAH4ADD9AAAAAAAAMdwgAAAAQAAAAA3EAfgByc3EA
+fgAkAAAAA3cEAAAACnNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQ
+amF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAAAc3EAfgGCAAAAAXNxAH4BggAAAAV4cQB+
+AI5zcQB+ACQAAAACdwQAAAAKc3EAfgGCAAAAA3NxAH4BggAAAAR4cQB+ALZzcQB+ACQAAAABdwQA
+AAAKc3EAfgGCAAAABnh4AHEAfgF5c3EAfgAMP0AAAAAAAAx3CAAAABAAAAACcQB+AMB1cgAdW0xv
+cmcuZHJvb2xzLnJldGVvby5CYXNlTm9kZTsL58mTQ5yz6gIAAHhwAAAABHEAfgC/cQB+AQVxAH4B
+L3EAfgEbcQB+AEl1cQB+AY0AAAAIcQB+AEJxAH4A9XEAfgEIcQB+AQxxAH4BMnEAfgE2cQB+AR5x
+AH4BInhxAH4BIA==</byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2007-04-16 23:30:04 UTC (rev 11048)
@@ -47,10 +47,10 @@
 ZWFtDAAvADABAAdwcmludGxuAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAGZHJvb2xzAQAgTG9y
 Zy9kcm9vbHMvc3BpL0tub3dsZWRnZUhlbHBlcjsBAApTb3VyY2VGaWxlAQAsUnVsZV90aHJlZV9j
 b2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8wLmphdmEAIQABAAMAAAABABoABQAGAAEABwAAAAIA
-CAADAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAABgABAAAABgAQAAAADAABAAAA
+CAADAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAABgABAAAABQAQAAAADAABAAAA
 BQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAAQwACAAIAAAAPK7YAGCq2ABigAAUErAOsAAAA
-AgAPAAAABgABAAAACQAQAAAAFgACAAAADwAeAB8AAAAAAA8AIAAfAAEACQAhACIAAgAVAAAABAAB
-ABYADAAAADcAAgABAAAACbIAIxIptgArsQAAAAIADwAAAAoAAgAAAAwACAAPABAAAAAMAAEAAAAJ
+AgAPAAAABgABAAAACAAQAAAAFgACAAAADwAeAB8AAAAAAA8AIAAfAAEACQAhACIAAgAVAAAABAAB
+ABYADAAAADcAAgABAAAACbIAIxIptgArsQAAAAIADwAAAAoAAgAAAAsACAAOABAAAAAMAAEAAAAJ
 ADEAMgAAAAEAMwAAAAIANA==</byte-array>
             </entry>
             <entry>
@@ -227,10 +227,10 @@
 ZWFtDAAvADABAAdwcmludGxuAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAGZHJvb2xzAQAgTG9y
 Zy9kcm9vbHMvc3BpL0tub3dsZWRnZUhlbHBlcjsBAApTb3VyY2VGaWxlAQAsUnVsZV90aHJlZV9j
 b2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8wLmphdmEAIQABAAMAAAABABoABQAGAAEABwAAAAIA
-CAADAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAABgABAAAABgAQAAAADAABAAAA
+CAADAAEACgALAAEADAAAAC8AAQABAAAABSq3AA2xAAAAAgAPAAAABgABAAAABQAQAAAADAABAAAA
 BQARABIAAAAJABMAFAACABUAAAAEAAEAFgAMAAAAQwACAAIAAAAPK7YAGCq2ABigAAUErAOsAAAA
-AgAPAAAABgABAAAACQAQAAAAFgACAAAADwAeAB8AAAAAAA8AIAAfAAEACQAhACIAAgAVAAAABAAB
-ABYADAAAADcAAgABAAAACbIAIxIptgArsQAAAAIADwAAAAoAAgAAAAwACAAOABAAAAAMAAEAAAAJ
+AgAPAAAABgABAAAACAAQAAAAFgACAAAADwAeAB8AAAAAAA8AIAAfAAEACQAhACIAAgAVAAAABAAB
+ABYADAAAADcAAgABAAAACbIAIxIptgArsQAAAAIADwAAAAoAAgAAAAsACAANABAAAAAMAAEAAAAJ
 ADEAMgAAAAEAMwAAAAIANA==</byte-array>
             </entry>
             <entry>
@@ -336,7 +336,6 @@
           <string>org.drools.Cheese</string>
           <string>org.drools.Person</string>
           <string>org.drools.compiler.*</string>
-          <string>java.lang.*</string>
         </list>
         <map/>
         <byte-array>rO0ABXNyABdqYXZhLnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4
@@ -475,8 +474,8 @@
 U3dpdGNocQB+AA9MAAtoYXNoZWRTaW5rc3QAEExqYXZhL3V0aWwvTGlzdDtMAA5sYXN0T2JqZWN0
 U2lua3QAHkxvcmcvZHJvb2xzL3JldGVvby9PYmplY3RTaW5rO0wACm90aGVyU2lua3NxAH4AK3hw
 c3EAfgAMP0AAAAAAAAx3CAAAABAAAAAAeHNxAH4AJAAAAAB3BAAAAAF4c3IAGm9yZy5kcm9vbHMu
-cmV0ZW9vLkpvaW5Ob2RlOJAvLr93zdoCAAB4cgAab3JnLmRyb29scy5yZXRlb28uQmV0YU5vZGU7
-CkqOh7JiWwIAA0wADmpvaW5Ob2RlQmluZGVydAAiTG9yZy9kcm9vbHMvY29tbW9uL0JldGFOb2Rl
+cmV0ZW9vLkpvaW5Ob2RlOJAvLr93zdoCAAB4cgAab3JnLmRyb29scy5yZXRlb28uQmV0YU5vZGXh
+wjs1TrpStQIAA0wADmpvaW5Ob2RlQmluZGVydAAiTG9yZy9kcm9vbHMvY29tbW9uL0JldGFOb2Rl
 QmluZGVyO0wACWxlZnRJbnB1dHQAH0xvcmcvZHJvb2xzL3JldGVvby9UdXBsZVNvdXJjZTtMAApy
 aWdodElucHV0dAAgTG9yZy9kcm9vbHMvcmV0ZW9vL09iamVjdFNvdXJjZTt4cgAdb3JnLmRyb29s
 cy5yZXRlb28uVHVwbGVTb3VyY2WfIRfrqmKjkAIAAUwACnR1cGxlU2lua3NxAH4AK3hxAH4AIQAA
@@ -564,16 +563,15 @@
 AApvYmplY3RUeXBldABDTG9yZy9kcm9vbHMvc3BpL0NsYXNzT2JqZWN0VHlwZVJlc29sdmVyJE1v
 ZGlmaWVhYmxlQ2xhc3NPYmplY3RUeXBlO3hwc3IAQW9yZy5kcm9vbHMuc3BpLkNsYXNzT2JqZWN0
 VHlwZVJlc29sdmVyJE1vZGlmaWVhYmxlQ2xhc3NPYmplY3RUeXBlRKWrlAI3+zUCAAB4cQB+AFQA
-AAEscHNyAB9vcmcuZHJvb2xzLnJldGVvby5SZXRlb29CdWlsZGVyGB1Z+4/IA/ACAAlJABdjdXJy
-ZW50T2Zmc2V0QWRqdXN0bWVudEkAAmlkTAANYXR0YWNoZWROb2Rlc3EAfgAPTAAMZGVjbGFyYXRp
-b25zcQB+AA9MAAxvYmplY3RTb3VyY2VxAH4ANEwACm9iamVjdFR5cGVxAH4AD0wACHJlc29sdmVy
-cQB+AB5MAAVydWxlc3EAfgAPTAALdHVwbGVTb3VyY2VxAH4AM3hwAAAAAAAAAAlzcQB+AAw/QAAA
-AAAADHcIAAAAEAAAAAZxAH4AKXEAfgApcQB+AJNxAH4Ak3EAfgA2cQB+ADZxAH4AxnEAfgDGcQB+
-AL5xAH4AvnEAfgDEcQB+AMR4c3EAfgAMP0AAAAAAAAx3CAAAABAAAAAFcQB+AJtxAH4AmnEAfgCf
-cQB+AJxxAH4AoXEAfgCgcQB+AKNxAH4AonEAfgCncQB+AKR4cQB+AMZzcgAXamF2YS51dGlsLkxp
-bmtlZEhhc2hNYXA0wE5cEGzA+wIAAVoAC2FjY2Vzc09yZGVyeHEAfgAMP0AAAAAAAAx3CAAAABAA
-AAABcQB+AKZzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEu
-bGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXgAcQB+ANNzcQB+AAw/QAAAAAAADHcIAAAAEAAA
-AAJxAH4AQXVyAB1bTG9yZy5kcm9vbHMucmV0ZW9vLkJhc2VOb2RlOwvnyZNDnLPqAgAAeHAAAAAB
-cQB+ADpxAH4AlnVxAH4A4AAAAAFxAH4AlXhxAH4Akw==</byte-array>
+AAEscHNyAB9vcmcuZHJvb2xzLnJldGVvby5SZXRlb29CdWlsZGVyGB1Z+4/IA/ACAAhJABdjdXJy
+ZW50T2Zmc2V0QWRqdXN0bWVudEkAAmlkTAAMZGVjbGFyYXRpb25zcQB+AA9MAAxvYmplY3RTb3Vy
+Y2VxAH4ANEwACm9iamVjdFR5cGVxAH4AD0wACHJlc29sdmVycQB+AB5MAAVydWxlc3EAfgAPTAAL
+dHVwbGVTb3VyY2VxAH4AM3hwAAAAAAAAAAlzcQB+AAw/QAAAAAAADHcIAAAAEAAAAAVxAH4Am3EA
+fgCacQB+AJ9xAH4AnHEAfgChcQB+AKBxAH4Ao3EAfgCicQB+AKdxAH4ApHhxAH4AxnNyABdqYXZh
+LnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4cQB+AAw/QAAAAAAA
+DHcIAAAAEAAAAAFxAH4ApnNxAH4AJAAAAAJ3BAAAAApzcgARamF2YS5sYW5nLkludGVnZXIS4qCk
+94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAHNxAH4A
+3AAAAAF4eABxAH4A03NxAH4ADD9AAAAAAAAMdwgAAAAQAAAAAnEAfgBBdXIAHVtMb3JnLmRyb29s
+cy5yZXRlb28uQmFzZU5vZGU7C+fJk0Ocs+oCAAB4cAAAAAFxAH4AOnEAfgCWdXEAfgDhAAAAAXEA
+fgCVeHEAfgCT</byte-array>
 </org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Modified: labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2007-04-16 22:36:09 UTC (rev 11047)
+++ labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2007-04-16 23:30:04 UTC (rev 11048)
@@ -26,6 +26,7 @@
 
 import org.drools.InitialFact;
 import org.drools.RuleIntegrationException;
+import org.drools.RuntimeDroolsException;
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
 import org.drools.base.DroolsQuery;
@@ -81,8 +82,8 @@
 
     private final ObjectTypeResolver        resolver;
 
-    /** Nodes that have been attached. */
-    private final Map                       attachedNodes;
+    //    /** Nodes that have been attached. */
+    //    private final Map                       attachedNodes;
 
     private TupleSource                     tupleSource;
 
@@ -114,7 +115,7 @@
         this.ruleBase = ruleBase;
         this.rete = this.ruleBase.getRete();
         this.resolver = resolver;
-        this.attachedNodes = new HashMap();
+        //        this.attachedNodes = new HashMap();
         this.rules = new HashMap();
 
         //Set to 1 as Rete node is set to 0
@@ -247,9 +248,9 @@
             if ( object instanceof EvalCondition ) {
                 final EvalCondition eval = (EvalCondition) object;
                 checkUnboundDeclarations( eval.getRequiredDeclarations() );
-                this.tupleSource = attachNode( new EvalConditionNode( this.id++,
-                                                                      this.tupleSource,
-                                                                      eval ) );
+                this.tupleSource = (TupleSource) attachNode( new EvalConditionNode( this.id++,
+                                                                                    this.tupleSource,
+                                                                                    eval ) );
                 continue;
             }
 
@@ -267,9 +268,9 @@
                 // into
                 // a TupleSource using LeftInputAdapterNode
                 if ( this.tupleSource == null ) {
-                    this.tupleSource = attachNode( new LeftInputAdapterNode( this.id++,
-                                                                             this.objectSource,
-                                                                             binder ) );
+                    this.tupleSource = (TupleSource) attachNode( new LeftInputAdapterNode( this.id++,
+                                                                                           this.objectSource,
+                                                                                           binder ) );
 
                     // objectSource is created by the attachColumn method, if we
                     // adapt this to
@@ -291,13 +292,14 @@
                     // adjusting offset as all tuples will now contain initial-fact at index 0
                     this.currentOffsetAdjustment = 1;
 
-                    final ObjectSource objectSource = attachNode( new ObjectTypeNode( this.id++,
-                                                                                      this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
-                                                                                      new ClassObjectType( InitialFact.class ),
-                                                                                      this.rete ) );
+                    this.objectSource = (ObjectSource) attachNode( new ObjectTypeNode( this.id++,
+                                                                                       this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
+                                                                                       new ClassObjectType( InitialFact.class ),
+                                                                                       this.rete ) );
 
-                    this.tupleSource = attachNode( new LeftInputAdapterNode( this.id++,
-                                                                             objectSource ) );
+                    this.tupleSource = (TupleSource) attachNode( new LeftInputAdapterNode( this.id++,
+                                                                                           this.objectSource ) );
+                    this.objectSource = null;
                 }
 
                 binder = attachColumn( column,
@@ -318,10 +320,10 @@
                               binder,
                               column );
             } else if ( this.objectSource != null ) {
-                this.tupleSource = attachNode( new JoinNode( this.id++,
-                                                             this.tupleSource,
-                                                             this.objectSource,
-                                                             binder ) );
+                this.tupleSource = (TupleSource) attachNode( new JoinNode( this.id++,
+                                                                           this.tupleSource,
+                                                                           this.objectSource,
+                                                                           binder ) );
             }
         }
     }
@@ -335,10 +337,10 @@
         // first column
         this.currentOffsetAdjustment += 1;
 
-        final ObjectSource objectTypeSource = attachNode( new ObjectTypeNode( this.id++,
-                                                                              this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
-                                                                              new ClassObjectType( DroolsQuery.class ),
-                                                                              this.rete ) );
+        this.objectSource = (ObjectSource) attachNode( new ObjectTypeNode( this.id++,
+                                                                           this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
+                                                                           new ClassObjectType( DroolsQuery.class ),
+                                                                           this.rete ) );
 
         final ClassFieldExtractor extractor = new ClassFieldExtractor( DroolsQuery.class,
                                                                        "name" );
@@ -352,13 +354,14 @@
                                                                     extractor,
                                                                     evaluator );
 
-        final ObjectSource alphaNodeSource = attachNode( new AlphaNode( this.id++,
-                                                                        this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
-                                                                        constraint,
-                                                                        objectTypeSource ) );
+        this.objectSource = (ObjectSource) attachNode( new AlphaNode( this.id++,
+                                                                      this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
+                                                                      constraint,
+                                                                      this.objectSource ) );
 
-        this.tupleSource = attachNode( new LeftInputAdapterNode( this.id++,
-                                                                 alphaNodeSource ) );
+        this.tupleSource = (TupleSource) attachNode( new LeftInputAdapterNode( this.id++,
+                                                                               this.objectSource ) );
+        this.objectSource = null;
     }
 
     private BetaNodeBinder attachColumn(final Column column,
@@ -395,10 +398,10 @@
 
         final Class thisClass = ((ClassObjectType) column.getObjectType()).getClassType();
 
-        this.objectSource = attachNode( new ObjectTypeNode( this.id++,
-                                                            this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
-                                                            column.getObjectType(),
-                                                            this.rete ) );
+        this.objectSource = (ObjectSource) attachNode( new ObjectTypeNode( this.id++,
+                                                                           this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
+                                                                           column.getObjectType(),
+                                                                           this.rete ) );
 
         final List predicateConstraints = new ArrayList();
 
@@ -416,7 +419,7 @@
                     }
                 }
             }
-            if( otherIndexes == null ) {
+            if ( otherIndexes == null ) {
                 otherIndexes = new ArrayList();
             }
             otherIndexes.add( new Integer( column.getFactIndex() ) );
@@ -439,10 +442,10 @@
 
             final FieldConstraint fieldConstraint = (FieldConstraint) object;
             if ( fieldConstraint instanceof LiteralConstraint ) {
-                this.objectSource = attachNode( new AlphaNode( this.id++,
-                                                               this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
-                                                               fieldConstraint,
-                                                               this.objectSource ) );
+                this.objectSource = (ObjectSource) attachNode( new AlphaNode( this.id++,
+                                                                              this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
+                                                                              fieldConstraint,
+                                                                              this.objectSource ) );
             } else {
                 checkUnboundDeclarations( fieldConstraint.getRequiredDeclarations() );
                 predicateConstraints.add( fieldConstraint );
@@ -536,64 +539,76 @@
      * @param leafNodes
      *            The list to which the newly added node will be added.
      */
-    private TupleSource attachNode(final TupleSource candidate) {
-        TupleSource node = (TupleSource) this.attachedNodes.get( candidate );
-
-        if ( node == null ) {
-            if ( this.workingMemories.length == 0 ) {
-                candidate.attach();
-            } else {
-                candidate.attach( this.workingMemories );
+    private BaseNode attachNode(final BaseNode candidate) {
+        BaseNode node = null;
+        if ( candidate instanceof ObjectTypeNode ) {
+            ObjectTypeNode otn = (ObjectTypeNode) candidate;
+            otn = this.rete.getObjectTypeNode( otn.getObjectType() );
+            if ( otn != null ) {
+                node = otn;
+                node.addShare();
+                this.id--;
             }
-
-            this.attachedNodes.put( candidate,
-                                    candidate );
-
-            node = candidate;
-        } else {
-            if( !node.isInUse() ) {
-                if ( this.workingMemories.length == 0 ) {
-                    node.attach();
-                } else {
-                    node.attach( this.workingMemories );
+        } else if ( (this.tupleSource != null) && (candidate instanceof TupleSink) ) {
+            int idx = this.tupleSource.getTupleSinks().indexOf( candidate );
+            if ( idx > -1 ) {
+                node = (BaseNode) this.tupleSource.getTupleSinks().get( idx );
+                node.addShare();
+                this.id--;
+            }
+        } else if ( (this.objectSource != null) && (candidate instanceof ObjectSink) ) {
+            for ( Iterator it = this.objectSource.getObjectSinks().iterator(); it.hasNext(); ) {
+                ObjectSink sink = (ObjectSink) it.next();
+                if ( candidate.equals( sink ) ) {
+                    node = (BaseNode) sink;
+                    node.addShare();
+                    this.id--;
                 }
             }
-            node.addShare();
-            this.id--;
+        } else {
+            throw new RuntimeDroolsException( "This is a bug on node sharing verification. Please report to development team." );
         }
 
-        return node;
-    }
-
-    private ObjectSource attachNode(final ObjectSource candidate) {
-        ObjectSource node = (ObjectSource) this.attachedNodes.get( candidate );
-
         if ( node == null ) {
+            // only attach() if it is a new node
+            node = candidate;
             if ( this.workingMemories.length == 0 ) {
-                candidate.attach();
+                node.attach();
             } else {
-                candidate.attach( this.workingMemories );
+                node.attach( this.workingMemories );
             }
-
-            this.attachedNodes.put( candidate,
-                                    candidate );
-
-            node = candidate;
-        } else {
-            if( !node.isInUse() ) {
-                if ( this.workingMemories.length == 0 ) {
-                    node.attach();
-                } else {
-                    node.attach( this.workingMemories );
-                }
-            }
-            node.addShare();
-            this.id--;
         }
-
         return node;
     }
 
+    //    private ObjectSource attachNode(final ObjectSource candidate) {
+    //        ObjectSource node = candidate;
+    //        if( this.tupleSource != null ) {
+    //            int idx = this.tupleSource.getTupleSinks().indexOf( candidate );
+    //            if( idx > -1 ) {
+    //                node = (ObjectSource) this.tupleSource.getTupleSinks().get( idx );
+    //                node.addShare();
+    //                this.id--;
+    //            }
+    //        } else if( this.objectSource != null ) {
+    //            for( Iterator it = this.objectSource.getObjectSinks().iterator(); it.hasNext(); ) {
+    //                ObjectSink sink = (ObjectSink) it.next();
+    //                if( candidate.equals( sink ) ) {
+    //                    node = (ObjectSource) sink;
+    //                    node.addShare();
+    //                    this.id--;
+    //                }
+    //            }
+    //        }
+    //
+    //        if ( this.workingMemories.length == 0 ) {
+    //            node.attach();
+    //        } else {
+    //            node.attach( this.workingMemories );
+    //        }
+    //        return node;
+    //    }
+
     public void removeRule(final Rule rule) {
         // reset working memories for potential propagation
         this.workingMemories = (ReteooWorkingMemory[]) this.ruleBase.getWorkingMemories().toArray( new ReteooWorkingMemory[this.ruleBase.getWorkingMemories().size()] );




More information about the jboss-svn-commits mailing list