You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(233) |
Sep
(199) |
Oct
(206) |
Nov
(185) |
Dec
(270) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(232) |
Feb
(426) |
Mar
(623) |
Apr
(592) |
May
(506) |
Jun
(389) |
Jul
(160) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2007 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(5) |
Oct
(9) |
Nov
(6) |
Dec
(6) |
2008 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(5) |
Jul
(10) |
Aug
(2) |
Sep
(12) |
Oct
(10) |
Nov
(54) |
Dec
(49) |
2009 |
Jan
(19) |
Feb
(13) |
Mar
(20) |
Apr
(24) |
May
(44) |
Jun
(29) |
Jul
(32) |
Aug
(10) |
Sep
(7) |
Oct
(10) |
Nov
(4) |
Dec
(17) |
2010 |
Jan
(14) |
Feb
(5) |
Mar
(23) |
Apr
(50) |
May
(31) |
Jun
(9) |
Jul
(5) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(12) |
Feb
(5) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <jbo...@li...> - 2006-05-01 00:58:02
|
Author: mar...@jb... Date: 2006-04-30 20:57:40 -0400 (Sun, 30 Apr 2006) New Revision: 4019 Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java Log: -JCI is now fixed, so we dont need to maintain our own MemoryResourceReader Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-05-01 00:19:10 UTC (rev 4018) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-05-01 00:57:40 UTC (rev 4019) @@ -28,6 +28,7 @@ import org.apache.commons.jci.compilers.JavaCompiler; import org.apache.commons.jci.compilers.JavaCompilerFactory; import org.apache.commons.jci.readers.ResourceReader; +import org.apache.commons.jci.readers.MemoryResourceReader; import org.apache.commons.jci.stores.ResourceStore; import org.drools.lang.descr.FunctionDescr; import org.drools.lang.descr.PackageDescr; @@ -400,45 +401,4 @@ } } - - public class MemoryResourceReader implements ResourceReader { - - private Map resources; - - public boolean isAvailable(final String pResourceName) { - if (resources == null) { - return false; - } - - return resources.containsKey( pResourceName ); - } - - public void add(final String pResourceName, final byte[] pContent) { - if (resources == null) { - resources = new HashMap(); - } - - resources.put(pResourceName, pContent); - } - - public void remove(final String pResourceName) { - if (resources != null) { - resources.remove(pResourceName); - } - } - - - public byte[] getBytes(final String pResourceName) - { - return (byte[]) resources.get(pResourceName); - } - - public String[] list() { - if (resources == null) { - return new String[0]; - } - return (String[]) resources.keySet().toArray(new String[resources.size()]); - } - } - } \ No newline at end of file |
From: <jbo...@li...> - 2006-05-01 00:19:19
|
Author: mar...@jb... Date: 2006-04-30 20:19:10 -0400 (Sun, 30 Apr 2006) New Revision: 4018 Removed: labs/jbossrules/trunk/drools-examples/pom.xml Log: -removed -drools-examples is now a standalone eclipse project Deleted: labs/jbossrules/trunk/drools-examples/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-examples/pom.xml 2006-05-01 00:18:19 UTC (rev 4017) +++ labs/jbossrules/trunk/drools-examples/pom.xml 2006-05-01 00:19:10 UTC (rev 4018) @@ -1,60 +0,0 @@ -<project> - <parent> - <artifactId>drools</artifactId> - <groupId>org.drools</groupId> - <version>3.0-RC-2</version> - </parent> - - <modelVersion>4.0.0</modelVersion> - - <artifactId>drools-examples</artifactId> - - <name>Drools :: Examples</name> - <version>3.0-RC-2</version> - - <repositories> - <repository> - <id>basedir</id> - <url>file://${basedir}/../repository</url> - </repository> - </repositories> - - <dependencies> - <dependency> - <groupId>org.drools</groupId> - <artifactId>drools-compiler</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>foxtrot</groupId> - <artifactId>foxtrot</artifactId> - <version>2.0</version> - </dependency> - <dependency> - <groupId>jgoodies</groupId> - <artifactId>forms</artifactId> - <version>1.0.4</version> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/rules</directory> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <configuration> - <tasks> - <java fork="true" classname="org.drools.examples.conway.ui.ConwayGUI"> - <classpath refid="maven.runtime.classpath"/> - </java> - </tasks> - </configuration> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file |
From: <jbo...@li...> - 2006-05-01 00:18:25
|
Author: mar...@jb... Date: 2006-04-30 20:18:19 -0400 (Sun, 30 Apr 2006) New Revision: 4017 Added: labs/jbossrules/trunk/drools-examples/lib/ labs/jbossrules/trunk/drools-examples/lib/foxtrot-2.0.jar labs/jbossrules/trunk/drools-examples/lib/jgoodies-forms-1.0.4.jar Modified: labs/jbossrules/trunk/drools-examples/.classpath labs/jbossrules/trunk/drools-examples/.project Log: -drools-examples is now a standalone eclipse project Modified: labs/jbossrules/trunk/drools-examples/.classpath =================================================================== --- labs/jbossrules/trunk/drools-examples/.classpath 2006-04-30 23:26:57 UTC (rev 4016) +++ labs/jbossrules/trunk/drools-examples/.classpath 2006-05-01 00:18:19 UTC (rev 4017) @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src/main/java"/> - <classpathentry output="target/test-classes" kind="src" path="src/test/resources"/> - <classpathentry output="target/test-classes" kind="src" path="src/test/java"/> <classpathentry kind="src" path="src/main/resources"/> <classpathentry kind="src" path="src/main/rules"/> + <classpathentry output="target/test-classes" kind="src" path="src/test/java"/> + <classpathentry output="target/test-classes" kind="src" path="src/test/resources"/> + <classpathentry kind="con" path="DROOLS/JBoss Rules"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="DROOLS/JBoss Rules"/> <classpathentry kind="var" path="M2_REPO/jgoodies/forms/1.0.4/forms-1.0.4.jar"/> <classpathentry kind="var" path="M2_REPO/foxtrot/foxtrot/2.0/foxtrot-2.0.jar"/> <classpathentry kind="output" path="target/classes"/> Modified: labs/jbossrules/trunk/drools-examples/.project =================================================================== --- labs/jbossrules/trunk/drools-examples/.project 2006-04-30 23:26:57 UTC (rev 4016) +++ labs/jbossrules/trunk/drools-examples/.project 2006-05-01 00:18:19 UTC (rev 4017) @@ -1,22 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>drools-examples</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.drools.ide.droolsbuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> +<projectDescription> + <name>drools-examples</name> + <comment/> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments/> + </buildCommand> + <buildCommand> + <name>org.drools.ide.droolsbuilder</name> + <arguments/> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> \ No newline at end of file Added: labs/jbossrules/trunk/drools-examples/lib/foxtrot-2.0.jar =================================================================== (Binary files differ) Property changes on: labs/jbossrules/trunk/drools-examples/lib/foxtrot-2.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/jbossrules/trunk/drools-examples/lib/jgoodies-forms-1.0.4.jar =================================================================== (Binary files differ) Property changes on: labs/jbossrules/trunk/drools-examples/lib/jgoodies-forms-1.0.4.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
Author: mar...@jb... Date: 2006-04-30 19:26:57 -0400 (Sun, 30 Apr 2006) New Revision: 4016 Added: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/ labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/ labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/conway.properties labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/liveCellImage.gif Removed: labs/jbossrules/trunk/drools-examples/src/main/resources/conway/ labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/conway.properties labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/liveCellImage.gif Modified: labs/jbossrules/trunk/drools-compiler/.classpath labs/jbossrules/trunk/drools-core/.classpath labs/jbossrules/trunk/drools-decisiontables/.classpath labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetLoadTest.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetPerformanceTest.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNode2CEPerformanceTest.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNodePerformanceTest.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Account.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Address.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/GroupTransaction.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/SubTransaction.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Transaction.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayApplicationProperties.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ui/CellGridCanvas.java labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellGridTest.java labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellTest.java labs/jbossrules/trunk/drools-jsr94/.classpath labs/jbossrules/trunk/drools-jsr94/.project labs/jbossrules/trunk/pom.xml Log: -removed erroneous junit imports, as they are now java examples. -fixed paths on conways unit tests Modified: labs/jbossrules/trunk/drools-compiler/.classpath =================================================================== --- labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-30 23:26:57 UTC (rev 4016) @@ -5,24 +5,24 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="src" path="/drools-core"/> + <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> - <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-core/.classpath =================================================================== --- labs/jbossrules/trunk/drools-core/.classpath 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-core/.classpath 2006-04-30 23:26:57 UTC (rev 4016) @@ -5,11 +5,11 @@ <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-decisiontables/.classpath =================================================================== --- labs/jbossrules/trunk/drools-decisiontables/.classpath 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-decisiontables/.classpath 2006-04-30 23:26:57 UTC (rev 4016) @@ -5,26 +5,26 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> + <classpathentry kind="src" path="/drools-compiler"/> <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> - <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar"/> <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> - <classpathentry kind="src" path="/drools-compiler"/> - <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> + <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="src" path="/drools-core"/> <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetLoadTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetLoadTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetLoadTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -14,8 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import junit.framework.TestCase; - import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetPerformanceTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetPerformanceTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/RuleSetPerformanceTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -14,8 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import junit.framework.TestCase; - import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; @@ -26,6 +24,7 @@ import org.drools.RuleBase; import org.drools.RuleIntegrationException; import org.drools.WorkingMemory; +import org.drools.benchmark.models.Account; import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsParserException; import org.drools.compiler.PackageBuilder; @@ -34,8 +33,6 @@ import org.drools.rule.InvalidPatternException; import org.drools.rule.Package; -import org.drools.benchmark.models.Account; - /** * @author Peter Lin * Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNode2CEPerformanceTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNode2CEPerformanceTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNode2CEPerformanceTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -14,8 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import junit.framework.TestCase; - import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; @@ -26,6 +24,8 @@ import org.drools.RuleBase; import org.drools.RuleIntegrationException; import org.drools.WorkingMemory; +import org.drools.benchmark.models.Account; +import org.drools.benchmark.models.Address; import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsParserException; import org.drools.compiler.PackageBuilder; @@ -34,9 +34,6 @@ import org.drools.rule.InvalidPatternException; import org.drools.rule.Package; -import org.drools.benchmark.models.Account; -import org.drools.benchmark.models.Address; - /** * @author Peter Lin * Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNodePerformanceTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNodePerformanceTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/SharedNodePerformanceTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -14,8 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import junit.framework.TestCase; - import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; @@ -26,6 +24,7 @@ import org.drools.RuleBase; import org.drools.RuleIntegrationException; import org.drools.WorkingMemory; +import org.drools.benchmark.models.Address; import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsParserException; import org.drools.compiler.PackageBuilder; @@ -34,8 +33,6 @@ import org.drools.rule.InvalidPatternException; import org.drools.rule.Package; -import org.drools.benchmark.models.Address; - /** * @author Peter Lin * Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -15,7 +15,6 @@ import org.drools.RuleBase; import org.drools.RuleBaseFactory; import org.drools.WorkingMemory; -import org.drools.benchmark.waltz.WaltzBenchmark; import org.drools.compiler.PackageBuilder; import org.drools.rule.Package; Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Account.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Account.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Account.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -1,7 +1,7 @@ package org.drools.benchmark.models; +import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeEvent; import java.io.Serializable; import java.util.ArrayList; Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Address.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Address.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Address.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -1,7 +1,7 @@ package org.drools.benchmark.models; +import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeEvent; import java.io.Serializable; import java.util.ArrayList; Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/GroupTransaction.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/GroupTransaction.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/GroupTransaction.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -2,7 +2,6 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.io.Serializable; import java.util.ArrayList; /** Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/SubTransaction.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/SubTransaction.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/SubTransaction.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -2,7 +2,6 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.io.Serializable; import java.util.ArrayList; /** Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Transaction.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Transaction.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/models/Transaction.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -2,7 +2,6 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.io.Serializable; import java.util.ArrayList; /** Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -18,27 +18,15 @@ import java.io.BufferedReader; -import java.io.FileReader; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; -import java.io.Reader; import java.util.regex.Matcher; import java.util.regex.Pattern; -import junit.framework.TestCase; - -import org.drools.PackageIntegrationException; import org.drools.RuleBase; import org.drools.RuleBaseFactory; -import org.drools.RuleIntegrationException; import org.drools.WorkingMemory; -import org.drools.compiler.DrlParser; -import org.drools.compiler.DroolsParserException; import org.drools.compiler.PackageBuilder; -import org.drools.lang.descr.PackageDescr; -import org.drools.reteoo.RuleBaseImpl; -import org.drools.rule.InvalidPatternException; import org.drools.rule.Package; /** Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayApplicationProperties.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayApplicationProperties.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayApplicationProperties.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -17,7 +17,7 @@ private final ResourceBundle resources; private ConwayApplicationProperties() { - this.resources = ResourceBundle.getBundle( "conway.conway" ); + this.resources = ResourceBundle.getBundle( "org.drools.examples.conway.conway" ); } public static String getProperty(final String propertyName) { Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ConwayRuleBaseFactory.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -30,10 +30,10 @@ */ // private static RuleBase readRule() throws Exception { // read in the source - final Reader source = new InputStreamReader( ConwayRuleBaseFactory.class.getResourceAsStream( "/conway/conway.drl" ) ); + 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( "/conway/conway.dsl" ) ); + 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 Modified: labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ui/CellGridCanvas.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ui/CellGridCanvas.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/main/java/org/drools/examples/conway/ui/CellGridCanvas.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -23,7 +23,7 @@ private Image backgroundImage; private final int cellSize; private final CellGrid cellGrid; - private final Image liveCellImage = new ImageIcon( CellGridCanvas.class.getResource( "/conway/liveCellImage.gif" ) ).getImage(); + private final Image liveCellImage = new ImageIcon( CellGridCanvas.class.getResource( "/org/drools/examples/conway/liveCellImage.gif" ) ).getImage(); private static final Color BACKGROUND_COLOR = Color.gray; private static final Color GRID_COLOR = CellGridCanvas.BACKGROUND_COLOR.brighter(); Copied: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway (from rev 4014, labs/jbossrules/trunk/drools-examples/src/main/resources/conway) Deleted: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/conway.properties =================================================================== --- labs/jbossrules/trunk/drools-examples/src/main/resources/conway/conway.properties 2006-04-30 14:43:45 UTC (rev 4014) +++ labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/conway.properties 2006-04-30 23:26:57 UTC (rev 4016) @@ -1,24 +0,0 @@ -app.title=Conway's Game Of Life -next.generation.label=Next Generation -start.label=Start -stop.label=Stop -clear.label=Clear -pattern.label=Pattern : -app.description=<html>\ -Conway's Game Of Life is a cellular automaton originally<br>\ -conceived by John Conway in the early 1970's. This particular<br>\ -implemenation happens to use the Drools Java Rules Engine<br>\ -to impose the "business rules" that constrain the game.<br><br>\ -Select a predefined pattern from the list below or use the mouse<br>\ -to interactively define a starting grid by clicking on cells in<br>\ -the grid to bring them to life.<br><br>\ -Click the "Next Generation" button to iterate through generations<br>\ -one at a time or click the "Start" button to let the system evolve<br>\ -itself.</html> - -conway.pattern.classnames= \ - org.drools.examples.conway.patterns.Border \ - org.drools.examples.conway.patterns.Hi \ - org.drools.examples.conway.patterns.Pentadecathalon \ - org.drools.examples.conway.patterns.Pulsar \ - org.drools.examples.conway.patterns.SimpleGlider Copied: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/conway.properties (from rev 4015, labs/jbossrules/trunk/drools-examples/src/main/resources/conway/conway.properties) Deleted: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/liveCellImage.gif =================================================================== (Binary files differ) Copied: labs/jbossrules/trunk/drools-examples/src/main/resources/org/drools/examples/conway/liveCellImage.gif (from rev 4015, labs/jbossrules/trunk/drools-examples/src/main/resources/conway/liveCellImage.gif) Modified: labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellGridTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellGridTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellGridTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -1,9 +1,5 @@ package org.drools.examples.conway; -import org.drools.examples.conway.Cell; -import org.drools.examples.conway.CellGrid; -import org.drools.examples.conway.CellState; - import junit.framework.TestCase; /** Modified: labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellTest.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellTest.java 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-examples/src/test/java/org/drools/examples/conway/CellTest.java 2006-04-30 23:26:57 UTC (rev 4016) @@ -1,8 +1,5 @@ package org.drools.examples.conway; -import org.drools.examples.conway.Cell; -import org.drools.examples.conway.CellState; - import junit.framework.TestCase; /** Modified: labs/jbossrules/trunk/drools-jsr94/.classpath =================================================================== --- labs/jbossrules/trunk/drools-jsr94/.classpath 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-jsr94/.classpath 2006-04-30 23:26:57 UTC (rev 4016) @@ -4,29 +4,29 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> - <classpathentry kind="src" path="/drools-compiler"/> - <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> - <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> - <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> + <classpathentry kind="src" path="/drools-core"/> <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> + <classpathentry kind="src" path="/drools-compiler"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-jsr94/.project =================================================================== --- labs/jbossrules/trunk/drools-jsr94/.project 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/drools-jsr94/.project 2006-04-30 23:26:57 UTC (rev 4016) @@ -2,8 +2,8 @@ <name>drools-jsr94</name> <comment/> <projects> + <project>drools-core</project> <project>drools-compiler</project> - <project>drools-core</project> </projects> <buildSpec> <buildCommand> Modified: labs/jbossrules/trunk/pom.xml =================================================================== --- labs/jbossrules/trunk/pom.xml 2006-04-30 22:41:53 UTC (rev 4015) +++ labs/jbossrules/trunk/pom.xml 2006-04-30 23:26:57 UTC (rev 4016) @@ -241,13 +241,7 @@ <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> - </dependency> - <dependency> - <groupId>xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.1.3</version> - <scope>runtime</scope> - </dependency> + </dependency> </dependencies> <reporting> |
From: <jbo...@li...> - 2006-04-30 22:41:58
|
Author: mar...@jb... Date: 2006-04-30 18:41:53 -0400 (Sun, 30 Apr 2006) New Revision: 4015 Modified: labs/jbossrules/trunk/drools-ide/.classpath labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF Log: -updated the classpath for the new jci jars. Modified: labs/jbossrules/trunk/drools-ide/.classpath =================================================================== --- labs/jbossrules/trunk/drools-ide/.classpath 2006-04-30 14:43:45 UTC (rev 4014) +++ labs/jbossrules/trunk/drools-ide/.classpath 2006-04-30 22:41:53 UTC (rev 4015) @@ -9,7 +9,7 @@ <classpathentry kind="lib" path="lib/drools-core.jar"/> <classpathentry kind="lib" path="lib/commons-lang-2.1.jar"/> <classpathentry kind="lib" path="lib/junit-3.8.1.jar"/> - <classpathentry kind="lib" path="lib/jci-SNAPSHOT-378493+patch4.jar"/> <classpathentry kind="lib" path="lib/antlr-3.0ea8.jar"/> + <classpathentry kind="lib" path="lib/commons-jci-core-1.0-SNAPSHOT.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF =================================================================== --- labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-04-30 14:43:45 UTC (rev 4014) +++ labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-04-30 22:41:53 UTC (rev 4015) @@ -40,10 +40,15 @@ lib/core-3.2.0.658.jar, lib/drools-compiler.jar, lib/drools-core.jar, - lib/jci-SNAPSHOT-378493+patch4.jar, lib/jung-1.7.2.jar, lib/stringtemplate-2.3b6.jar, lib/xercesImpl-2.6.2.jar, lib/xml-apis-1.0.b2.jar, lib/xpp3-1.1.3.4.O.jar, - lib/xstream-1.1.3.jar + lib/xstream-1.1.3.jar, + lib/commons-jci-core-1.0-SNAPSHOT.jar, + lib/commons-jci-eclipse-3.2.0.658.jar, + lib/commons-jci-janino-2.4.1.jar, + lib/drools-jsr94.jar, + lib/janino-2.4.1.jar, + lib/jsr94-1.1.jar |
Author: mar...@jb... Date: 2006-04-30 10:43:45 -0400 (Sun, 30 Apr 2006) New Revision: 4014 Modified: labs/jbossrules/trunk/drools-compiler/.classpath labs/jbossrules/trunk/drools-compiler/pom.xml labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java labs/jbossrules/trunk/drools-decisiontables/.classpath labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/wizard/project/NewDroolsProjectWizard.java labs/jbossrules/trunk/drools-jsr94/.classpath labs/jbossrules/trunk/drools-jsr94/.project labs/jbossrules/trunk/pom.xml Log: -JCI snapshot is now on cvs.apache.org so update for that. Modified: labs/jbossrules/trunk/drools-compiler/.classpath =================================================================== --- labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-30 14:43:45 UTC (rev 4014) @@ -6,20 +6,23 @@ <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/jci/jci/SNAPSHOT-378493+patch4/jci-SNAPSHOT-378493+patch4.jar"/> - <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> + <classpathentry kind="src" path="/drools-core"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-compiler/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-compiler/pom.xml 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-compiler/pom.xml 2006-04-30 14:43:45 UTC (rev 4014) @@ -26,24 +26,24 @@ <version>${project.version}</version> </dependency> - <!-- will keep JCI local for now. Move to ibiblio when its updated --> + <!-- will keep JCI local for now. Move to ibiblio when its updated --> <dependency> - <groupId>jci</groupId> - <artifactId>jci</artifactId> - <version>SNAPSHOT-378493+patch4</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-jci-janino</artifactId> + <version>2.4.1</version> </dependency> <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-jci-eclipse</artifactId> + <version>3.2.0.658</version> + </dependency> + + <dependency> <groupId>janino</groupId> <artifactId>janino</artifactId> <version>2.4.1</version> </dependency> - - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging-api</artifactId> - <version>1.0.4</version> - </dependency> <!-- only needed for the default expander in parser/lang.. to remove when it is refactored into another module. --> <dependency> Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-04-30 14:43:45 UTC (rev 4014) @@ -1,4 +1,5 @@ package org.drools.compiler; + /* * Copyright 2005 JBoss Inc * @@ -15,11 +16,10 @@ * limitations under the License. */ - - import java.io.IOException; import java.io.Reader; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -27,7 +27,6 @@ import org.apache.commons.jci.compilers.CompilationResult; import org.apache.commons.jci.compilers.JavaCompiler; import org.apache.commons.jci.compilers.JavaCompilerFactory; -import org.apache.commons.jci.readers.MemoryResourceReader; import org.apache.commons.jci.readers.ResourceReader; import org.apache.commons.jci.stores.ResourceStore; import org.drools.lang.descr.FunctionDescr; @@ -45,15 +44,15 @@ import org.xml.sax.SAXException; public class PackageBuilder { - private JavaCompiler compiler; + private JavaCompiler compiler; - private Package pkg; + private Package pkg; - private List results; + private List results; - private PackageStore packageStoreWrapper; + private PackageStore packageStoreWrapper; - private MemoryResourceReader src; + private MemoryResourceReader src; private PackageBuilderConfiguration configuration; @@ -72,21 +71,20 @@ if ( configuration == null ) { configuration = new PackageBuilderConfiguration(); } - - this.compiler = JavaCompilerFactory.getInstance().createCompiler( configuration.getCompiler() ); - - this.configuration = configuration; - + + this.compiler = getCompiler( configuration.getCompiler() ); + + this.configuration = configuration; + this.src = new MemoryResourceReader(); this.results = new ArrayList(); this.pkg = pkg; - if ( pkg != null ) { this.packageStoreWrapper = new PackageStore( pkg.getPackageCompilationData() ); - } + } } /** @@ -95,20 +93,22 @@ * @throws DroolsParserException * @throws IOException */ - public void addPackageFromDrl(Reader reader) throws DroolsParserException, IOException { + public void addPackageFromDrl(Reader reader) throws DroolsParserException, + IOException { DrlParser parser = new DrlParser(); PackageDescr pkg = parser.parse( reader ); this.results.addAll( parser.getErrors() ); addPackage( pkg ); } - + /** * Load a rule package from XML source. * @param reader * @throws DroolsParserException * @throws IOException */ - public void addPackageFromXml(Reader reader) throws DroolsParserException, IOException { + public void addPackageFromXml(Reader reader) throws DroolsParserException, + IOException { XmlPackageReader xmlReader = new XmlPackageReader(); try { @@ -118,7 +118,7 @@ } addPackage( xmlReader.getPackageDescr() ); - } + } /** * Load a rule package from DRL source using the supplied DSL configuration. @@ -128,20 +128,22 @@ * @throws IOException */ public void addPackageFromDrl(Reader source, - Reader dsl) throws DroolsParserException, IOException { + Reader dsl) throws DroolsParserException, + IOException { DrlParser parser = new DrlParser(); - PackageDescr pkg = parser.parse( source, dsl ); + PackageDescr pkg = parser.parse( source, + dsl ); this.results.addAll( parser.getErrors() ); addPackage( pkg ); - } - + } + public void addPackage(PackageDescr packageDescr) { - if (packageDescr.getName() == null || "".equals(packageDescr.getName())) { - - throw new MissingPackageNameException("Missing package name for rule package."); + if ( packageDescr.getName() == null || "".equals( packageDescr.getName() ) ) { + + throw new MissingPackageNameException( "Missing package name for rule package." ); } - + if ( this.pkg != null ) { //mergePackage( packageDescr ) ; mergePackage( this.pkg, @@ -192,7 +194,7 @@ try { clazz = typeResolver.resolveType( className ); pkg.addGlobal( identifier, - clazz ); + clazz ); } catch ( ClassNotFoundException e ) { new GlobalError( identifier ); } @@ -203,9 +205,9 @@ String text, MemoryResourceReader src, ResourceStore dst) { - src.addFile( className.replace( '.', - '/' ) + ".java", - text.toCharArray() ); + src.add( className.replace( '.', + '/' ) + ".java", + text.getBytes() ); CompilationResult result = compiler.compile( new String[]{className}, src, dst, @@ -217,15 +219,16 @@ private void addFunction(FunctionDescr functionDescr) { FunctionBuilder buidler = new FunctionBuilder(); CompilationResult result = compile( this.pkg.getName() + "." + ucFirst( functionDescr.getName() ), - buidler.build( this.pkg, functionDescr ), + buidler.build( this.pkg, + functionDescr ), src, this.packageStoreWrapper ); - + if ( result.getErrors().length > 0 ) { this.results.add( new FunctionError( functionDescr, result.getErrors(), "Function Compilation error" ) ); - } + } } private void addRule(RuleDescr ruleDescr) { @@ -247,16 +250,17 @@ // Check if there is any code to compile. If so compile it. if ( builder.getRuleClass() != null ) { - compileRule( builder, - rule, + compileRule( builder, + rule, ruleDescr ); } - this.pkg.addRule( rule ); } - - public void compileRule(RuleBuilder builder, Rule rule, RuleDescr ruleDescr) { + + public void compileRule(RuleBuilder builder, + Rule rule, + RuleDescr ruleDescr) { // The compilation result is for th entire rule, so difficult to associate with any descr CompilationResult result = compile( this.pkg.getName() + "." + ruleDescr.getClassName(), builder.getRuleClass(), @@ -269,10 +273,10 @@ result.getErrors(), "Rule Compilation error" ) ); } else { - + for ( Iterator it = builder.getInvokers().keySet().iterator(); it.hasNext(); ) { String className = (String) it.next(); - + // Check if an invoker - returnvalue, predicate, eval or consequence has been associated // If so we add it to the PackageCompilationData as it will get wired up on compilation Object invoker = builder.getInvokerLookups().get( className ); @@ -281,14 +285,14 @@ invoker ); } String text = (String) builder.getInvokers().get( className ); - + //System.out.println( className + ":\n" + text ); - + result = compile( className, text, src, this.packageStoreWrapper ); - + if ( result.getErrors().length > 0 ) { PatternDescr descr = (PatternDescr) builder.getDescrLookups().get( className ); this.results.add( new RuleError( rule, @@ -296,8 +300,8 @@ result.getErrors(), "Rule Compilation error for Invoker" ) ); } - } - } + } + } } /** @@ -308,7 +312,7 @@ * Compiled packages are serializable. */ public Package getPackage() { - if (hasErrors()) { + if ( hasErrors() ) { this.pkg.setError( this.printErrors() ); } return this.pkg; @@ -334,12 +338,12 @@ StringBuffer buf = new StringBuffer(); for ( Iterator iter = this.results.iterator(); iter.hasNext(); ) { DroolsError err = (DroolsError) iter.next(); - buf.append(err.getMessage()); + buf.append( err.getMessage() ); buf.append( "\n" ); } return buf.toString(); } - + /** * Takes a given name and makes sure that its legal and doesn't already exist. If the file exists it increases counter appender untill it is unique. * @@ -353,7 +357,8 @@ String ext, ResourceReader src) { // replaces all non alphanumeric or $ chars with _ - String newName = "Rule_" + name.replaceAll( "[^\\w$]", "_" ); + String newName = "Rule_" + name.replaceAll( "[^\\w$]", + "_" ); // make sure the class name does not exist, if it does increase the counter int counter = -1; @@ -374,6 +379,16 @@ return newName; } + private JavaCompiler getCompiler(int compiler) { + switch ( compiler ) { + case PackageBuilderConfiguration.JANINO : + return JavaCompilerFactory.getInstance().createCompiler( "janino" ); + case PackageBuilderConfiguration.ECLIPSE : + default : + return JavaCompilerFactory.getInstance().createCompiler( "eclipse" ); + } + } + private String ucFirst(String name) { return name.toUpperCase().charAt( 0 ) + name.substring( 1 ); } @@ -381,9 +396,49 @@ public static class MissingPackageNameException extends IllegalArgumentException { public MissingPackageNameException(String message) { - super(message); + super( message ); } - + } + public class MemoryResourceReader implements ResourceReader { + + private Map resources; + + public boolean isAvailable(final String pResourceName) { + if (resources == null) { + return false; + } + + return resources.containsKey( pResourceName ); + } + + public void add(final String pResourceName, final byte[] pContent) { + if (resources == null) { + resources = new HashMap(); + } + + resources.put(pResourceName, pContent); + } + + public void remove(final String pResourceName) { + if (resources != null) { + resources.remove(pResourceName); + } + } + + + public byte[] getBytes(final String pResourceName) + { + return (byte[]) resources.get(pResourceName); + } + + public String[] list() { + if (resources == null) { + return new String[0]; + } + return (String[]) resources.keySet().toArray(new String[resources.size()]); + } + } + } \ No newline at end of file Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-04-30 14:43:45 UTC (rev 4014) @@ -30,8 +30,8 @@ * The valid values are "ECLIPSE" and "JANINO" only. */ public class PackageBuilderConfiguration { - public static final int ECLIPSE = JavaCompilerFactory.ECLIPSE; - public static final int JANINO = JavaCompilerFactory.JANINO; + public static final int ECLIPSE = 0; + public static final int JANINO = 1; /** This will be only setup once. It tries to look for a system property */ private static final int CONFIGURED_COMPILER = getDefaultCompiler(); @@ -59,10 +59,10 @@ public void setCompiler(int compiler) { switch ( compiler ) { case PackageBuilderConfiguration.ECLIPSE : - this.compiler = JavaCompilerFactory.ECLIPSE; + this.compiler = PackageBuilderConfiguration.ECLIPSE; break; case PackageBuilderConfiguration.JANINO : - this.compiler = JavaCompilerFactory.JANINO; + this.compiler = PackageBuilderConfiguration.JANINO; break; default : throw new RuntimeDroolsException( "value '" + compiler + "' is not a valid compiler" ); Modified: labs/jbossrules/trunk/drools-decisiontables/.classpath =================================================================== --- labs/jbossrules/trunk/drools-decisiontables/.classpath 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-decisiontables/.classpath 2006-04-30 14:43:45 UTC (rev 4014) @@ -5,23 +5,26 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/jci/jci/SNAPSHOT-378493+patch4/jci-SNAPSHOT-378493+patch4.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="src" path="/drools-compiler"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> - <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> - <classpathentry kind="var" path="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr3/3.0ea8/antlr3-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> + <classpathentry kind="var" path="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar"/> <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> + <classpathentry kind="src" path="/drools-core"/> <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> - <classpathentry kind="src" path="/drools-compiler"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/wizard/project/NewDroolsProjectWizard.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/wizard/project/NewDroolsProjectWizard.java 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/wizard/project/NewDroolsProjectWizard.java 2006-04-30 14:43:45 UTC (rev 4014) @@ -210,8 +210,8 @@ private void addSourceFolders(IJavaProject project, IProgressMonitor monitor) throws JavaModelException, CoreException { List list = new ArrayList(); list.addAll(Arrays.asList(project.getRawClasspath())); - addSourceFolder(project, list, "src/java", monitor); - addSourceFolder(project, list, "src/rules", monitor); + addSourceFolder(project, list, "src/main/java", monitor); + addSourceFolder(project, list, "src/main/rules", monitor); project.setRawClasspath((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]), null); } Modified: labs/jbossrules/trunk/drools-jsr94/.classpath =================================================================== --- labs/jbossrules/trunk/drools-jsr94/.classpath 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-jsr94/.classpath 2006-04-30 14:43:45 UTC (rev 4014) @@ -4,26 +4,29 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="src" path="/drools-core"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> <classpathentry kind="src" path="/drools-compiler"/> - <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-SNAPSHOT/commons-jci-core-1.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-eclipse/3.2.0.658/commons-jci-eclipse-3.2.0.658.jar"/> + <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/> <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr3/3.0ea8/antlr3-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> + <classpathentry kind="src" path="/drools-core"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/> <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/> <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="var" path="M2_REPO/jci/jci/SNAPSHOT-378493+patch4/jci-SNAPSHOT-378493+patch4.jar"/> - <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> + <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-janino/2.4.1/commons-jci-janino-2.4.1.jar"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-jsr94/.project =================================================================== --- labs/jbossrules/trunk/drools-jsr94/.project 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/drools-jsr94/.project 2006-04-30 14:43:45 UTC (rev 4014) @@ -2,8 +2,8 @@ <name>drools-jsr94</name> <comment/> <projects> + <project>drools-compiler</project> <project>drools-core</project> - <project>drools-compiler</project> </projects> <buildSpec> <buildCommand> Modified: labs/jbossrules/trunk/pom.xml =================================================================== --- labs/jbossrules/trunk/pom.xml 2006-04-30 14:39:20 UTC (rev 4013) +++ labs/jbossrules/trunk/pom.xml 2006-04-30 14:43:45 UTC (rev 4014) @@ -204,6 +204,11 @@ <repositories> <repository> + <id>apache</id> + <url>http://cvs.apache.org/maven-snapshot-repository/</url> + </repository> + + <repository> <id>ibiblio</id> <url>http://www.ibiblio.org/maven2/</url> </repository> @@ -216,7 +221,7 @@ <repository> <id>basedir</id> <url>file://${basedir}/repository</url> - </repository> + </repository> <repository> <id>Maven Snapshots</id> |
From: <jbo...@li...> - 2006-04-30 14:39:25
|
Author: mar...@jb... Date: 2006-04-30 10:39:20 -0400 (Sun, 30 Apr 2006) New Revision: 4013 Removed: labs/jbossrules/trunk/repository/jci/ Log: -deleting as jci snapshot now available on cvs.apache.org |
From: <jbo...@li...> - 2006-04-30 11:17:40
|
Author: mar...@jb... Date: 2006-04-30 07:17:35 -0400 (Sun, 30 Apr 2006) New Revision: 4012 Removed: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/attrs/package.html labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/commons/package.html labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/package.html labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/tree/ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckAnnotationAdapter.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckClassAdapter.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckFieldAdapter.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckMethodAdapter.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceAbstractVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceAnnotationVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceClassVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceFieldVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceMethodVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/TraceSignatureVisitor.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/package.html Log: -Started to remove unused ASM packages/classes Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/attrs/package.html =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/attrs/package.html 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/attrs/package.html 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,48 +0,0 @@ -<html> -<!-- - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. ---> -<body> -Provides an implementation for optional class, field and method attributes. - -<p> - -By default ASM strips optional attributes, in order to keep them in -the bytecode that is being readed you should pass an array of required attribute -instances to {@link org.objectweb.asm.ClassReader#accept(org.objectweb.asm.ClassVisitor, org.objectweb.asm.Attribute[], boolean) ClassReader.accept()} method. -In order to add custom attributes to the manually constructed bytecode concrete -subclasses of the {@link org.objectweb.asm.Attribute Attribute} can be passed to -the visitAttribute methods of the -{@link org.objectweb.asm.ClassVisitor ClassVisitor}, -{@link org.objectweb.asm.FieldVisitor FieldVisitor} and -{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces. - -@since ASM 1.4.1 -</body> -</html> Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/commons/package.html =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/commons/package.html 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/commons/package.html 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,33 +0,0 @@ -<html> -<!-- - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. ---> -<body> -Provides some useful class and method adapters. -</body> \ No newline at end of file Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/package.html =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/package.html 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/package.html 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,87 +0,0 @@ -<html> -<!-- - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. ---> -<body> -Provides a small and fast bytecode manipulation framework. - -<p> -The <a href="http://www.objectweb.org/asm">ASM</a> framework is organized -around the {@link org.objectweb.asm.ClassVisitor ClassVisitor}, -{@link org.objectweb.asm.FieldVisitor FieldVisitor} and -{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces, which allow -one to visit the fields and methods of a class, including the bytecode -instructions of each method. - -<p> -In addition to these main interfaces, ASM provides a {@link -org.objectweb.asm.ClassReader ClassReader} class, that can parse an -existing class and make a given visitor visit it. ASM also provides -a {@link org.objectweb.asm.ClassWriter ClassWriter} class, which is -a visitor that generates Java class files. - -<p> -In order to generate a class from scratch, only the {@link -org.objectweb.asm.ClassWriter ClassWriter} class is necessary. Indeed, -in order to generate a class, one must just call its visit<i>XXX</i> -methods with the appropriate arguments to generate the desired fields -and methods. See the "helloworld" example in the ASM distribution for -more details about class generation. - -<p> -In order to modify existing classes, one must use a {@link -org.objectweb.asm.ClassReader ClassReader} class to analyze -the original class, a class modifier, and a {@link org.objectweb.asm.ClassWriter -ClassWriter} to construct the modified class. The class modifier -is just a {@link org.objectweb.asm.ClassVisitor ClassVisitor} -that delegates most of the work to another {@link org.objectweb.asm.ClassVisitor -ClassVisitor}, but that sometimes changes some parameter values, -or call additional methods, in order to implement the desired -modification process. In order to make it easier to implement such -class modifiers, ASM provides the {@link org.objectweb.asm.ClassAdapter -ClassAdapter} and {@link org.objectweb.asm.MethodAdapter MethodAdapter} -classes, which implement the {@link org.objectweb.asm.ClassVisitor ClassVisitor} -and {@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces by -delegating all work to other visitors. See the "adapt" example in the ASM -distribution for more details about class modification. - -<p> -The size of the core ASM library, <tt>asm.jar</tt>, is only 31KB, which is much -more smaller than -the size of the <a href="http://jakarta.apache.org/bcel">BCEL</a> library (350KB -without the class verifier), and than the size of the -<a href="http://serp.sourceforge.net">SERP</a> library (150KB). ASM is also -much more faster than these tools. Indeed the overhead of a load time class -transformation process is of the order of 60% with ASM, 700% or more with BCEL, -and 1100% or more with SERP (see the <tt>test/perf</tt> directory in the ASM -distribution)! - -@since ASM 1.3 -</body> -</html> Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckAnnotationAdapter.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckAnnotationAdapter.java 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckAnnotationAdapter.java 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,125 +0,0 @@ -/*** - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ -package org.drools.asm.util; - -import org.drools.asm.AnnotationVisitor; -import org.drools.asm.Type; - -/** - * An {@link AnnotationVisitor} that checks that its methods are properly used. - * - * @author Eric Bruneton - */ -public class CheckAnnotationAdapter implements AnnotationVisitor { - - private AnnotationVisitor av; - - private boolean named; - - private boolean end; - - public CheckAnnotationAdapter(final AnnotationVisitor av) { - this(av, true); - } - - CheckAnnotationAdapter( - final AnnotationVisitor av, - final boolean named) - { - this.av = av; - this.named = named; - } - - public void visit(final String name, final Object value) { - checkEnd(); - checkName(name); - if (!(value instanceof Byte || value instanceof Boolean - || value instanceof Character || value instanceof Short - || value instanceof Integer || value instanceof Long - || value instanceof Float || value instanceof Double - || value instanceof String || value instanceof Type - || value instanceof byte[] || value instanceof boolean[] - || value instanceof char[] || value instanceof short[] - || value instanceof int[] || value instanceof long[] - || value instanceof float[] || value instanceof double[])) - { - throw new IllegalArgumentException("Invalid annotation value"); - } - av.visit(name, value); - } - - public void visitEnum( - final String name, - final String desc, - final String value) - { - checkEnd(); - checkName(name); - CheckMethodAdapter.checkDesc(desc, false); - if (value == null) { - throw new IllegalArgumentException("Invalid enum value"); - } - av.visitEnum(name, desc, value); - } - - public AnnotationVisitor visitAnnotation( - final String name, - final String desc) - { - checkEnd(); - checkName(name); - CheckMethodAdapter.checkDesc(desc, false); - return new CheckAnnotationAdapter(av.visitAnnotation(name, desc)); - } - - public AnnotationVisitor visitArray(final String name) { - checkEnd(); - checkName(name); - return new CheckAnnotationAdapter(av.visitArray(name), false); - } - - public void visitEnd() { - checkEnd(); - end = true; - av.visitEnd(); - } - - private void checkEnd() { - if (end) { - throw new IllegalStateException("Cannot call a visit method after visitEnd has been called"); - } - } - - private void checkName(final String name) { - if (named && name == null) { - throw new IllegalArgumentException("Annotation value name must not be null"); - } - } -} Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckClassAdapter.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckClassAdapter.java 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckClassAdapter.java 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,416 +0,0 @@ -/*** - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ -package org.drools.asm.util; - -import java.io.FileInputStream; -import java.io.PrintWriter; -import java.util.List; - -import org.drools.asm.AnnotationVisitor; -import org.drools.asm.Attribute; -import org.drools.asm.ClassAdapter; -import org.drools.asm.ClassReader; -import org.drools.asm.ClassVisitor; -import org.drools.asm.FieldVisitor; -import org.drools.asm.MethodVisitor; -import org.drools.asm.Opcodes; -import org.drools.asm.Type; -import org.drools.asm.tree.AbstractInsnNode; -import org.drools.asm.tree.ClassNode; -import org.drools.asm.tree.MethodNode; -import org.drools.asm.tree.TryCatchBlockNode; -import org.drools.asm.tree.analysis.Analyzer; -import org.drools.asm.tree.analysis.Frame; -import org.drools.asm.tree.analysis.SimpleVerifier; - -/** - * A {@link ClassAdapter} that checks that its methods are properly used. More - * precisely this class adapter checks each method call individually, based - * <i>only</i> on its arguments, but does <i>not</i> check the <i>sequence</i> - * of method calls. For example, the invalid sequence - * <tt>visitField(ACC_PUBLIC, "i", "I", null)</tt> <tt>visitField(ACC_PUBLIC, - * "i", "D", null)</tt> - * will <i>not</i> be detected by this class adapter. - * - * @author Eric Bruneton - */ -public class CheckClassAdapter extends ClassAdapter { - - /** - * <tt>true</tt> if the visit method has been called. - */ - private boolean start; - - /** - * <tt>true</tt> if the visitSource method has been called. - */ - private boolean source; - - /** - * <tt>true</tt> if the visitOuterClass method has been called. - */ - private boolean outer; - - /** - * <tt>true</tt> if the visitEnd method has been called. - */ - private boolean end; - - /** - * Checks a given class. <p> Usage: CheckClassAdapter <fully qualified - * class name or class file name> - * - * @param args the command line arguments. - * - * @throws Exception if the class cannot be found, or if an IO exception - * occurs. - */ - public static void main(final String[] args) throws Exception { - if (args.length != 1) { - System.err.println("Verifies the given class."); - System.err.println("Usage: CheckClassAdapter " - + "<fully qualified class name or class file name>"); - return; - } - ClassReader cr; - if (args[0].endsWith(".class")) { - cr = new ClassReader(new FileInputStream(args[0])); - } else { - cr = new ClassReader(args[0]); - } - - verify(cr, false, new PrintWriter(System.err)); - } - - /** - * Checks a given class - * - * @param cr a <code>ClassReader</code> that contains bytecode for the analysis. - * @param dump true if bytecode should be printed out not only when errors are found. - * @param pw write where results going to be printed - */ - public static void verify(ClassReader cr, boolean dump, PrintWriter pw) { - ClassNode cn = new ClassNode(); - cr.accept(new CheckClassAdapter(cn), true); - - List methods = cn.methods; - for (int i = 0; i < methods.size(); ++i) { - MethodNode method = (MethodNode) methods.get(i); - if (method.instructions.size() > 0) { - Analyzer a = new Analyzer(new SimpleVerifier(Type.getType("L" - + cn.name + ";"), - Type.getType("L" + cn.superName + ";"), - (cn.access & Opcodes.ACC_INTERFACE) != 0)); - try { - a.analyze(cn.name, method); - if (!dump) { - continue; - } - } catch (Exception e) { - e.printStackTrace(); - } - Frame[] frames = a.getFrames(); - - TraceMethodVisitor mv = new TraceMethodVisitor(); - - pw.println(method.name + method.desc); - for (int j = 0; j < method.instructions.size(); ++j) { - ((AbstractInsnNode) method.instructions.get(j)).accept(mv); - - StringBuffer s = new StringBuffer(); - Frame f = frames[j]; - if (f == null) { - s.append('?'); - } else { - for (int k = 0; k < f.getLocals(); ++k) { - s.append(getShortName(f.getLocal(k).toString())) - .append(' '); - } - s.append(" : "); - for (int k = 0; k < f.getStackSize(); ++k) { - s.append(getShortName(f.getStack(k).toString())) - .append(' '); - } - } - while (s.length() < method.maxStack + method.maxLocals + 1) - { - s.append(' '); - } - pw.print(Integer.toString(j + 100000).substring(1)); - pw.print(" " + s + " : " + mv.buf); // mv.text.get(j)); - } - for (int j = 0; j < method.tryCatchBlocks.size(); ++j) { - ((TryCatchBlockNode) method.tryCatchBlocks.get(j)).accept(mv); - pw.print(" " + mv.buf); - } - pw.println(); - } - } - } - - private static String getShortName(String name) { - int n = name.lastIndexOf('/'); - int k = name.length(); - if(name.charAt(k-1)==';') k--; - return n==-1 ? name : name.substring(n+1, k); - } - - /** - * Constructs a new {@link CheckClassAdapter}. - * - * @param cv the class visitor to which this adapter must delegate calls. - */ - public CheckClassAdapter(final ClassVisitor cv) { - super(cv); - } - - // ------------------------------------------------------------------------ - // Implementation of the ClassVisitor interface - // ------------------------------------------------------------------------ - - public void visit( - final int version, - final int access, - final String name, - final String signature, - final String superName, - final String[] interfaces) - { - if (start) { - throw new IllegalStateException("visit must be called only once"); - } else { - start = true; - } - checkState(); - checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL - + Opcodes.ACC_SUPER + Opcodes.ACC_INTERFACE - + Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC - + Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM - + Opcodes.ACC_DEPRECATED); - CheckMethodAdapter.checkInternalName(name, "class name"); - if ("java/lang/Object".equals(name)) { - if (superName != null) { - throw new IllegalArgumentException("The super class name of the Object class must be 'null'"); - } - } else { - CheckMethodAdapter.checkInternalName(superName, "super class name"); - } - if (signature != null) { - // TODO - } - if ((access & Opcodes.ACC_INTERFACE) != 0) { - if (!"java/lang/Object".equals(superName)) { - throw new IllegalArgumentException("The super class name of interfaces must be 'java/lang/Object'"); - } - } - if (interfaces != null) { - for (int i = 0; i < interfaces.length; ++i) { - CheckMethodAdapter.checkInternalName(interfaces[i], - "interface name at index " + i); - } - } - cv.visit(version, access, name, signature, superName, interfaces); - } - - public void visitSource(final String file, final String debug) { - checkState(); - if (source) { - throw new IllegalStateException("visitSource can be called only once."); - } - source = true; - cv.visitSource(file, debug); - } - - public void visitOuterClass( - final String owner, - final String name, - final String desc) - { - checkState(); - if (outer) { - throw new IllegalStateException("visitSource can be called only once."); - } - outer = true; - if (owner == null) { - throw new IllegalArgumentException("Illegal outer class owner"); - } - if (desc != null) { - CheckMethodAdapter.checkMethodDesc(desc); - } - cv.visitOuterClass(owner, name, desc); - } - - public void visitInnerClass( - final String name, - final String outerName, - final String innerName, - final int access) - { - checkState(); - CheckMethodAdapter.checkInternalName(name, "class name"); - if (outerName != null) { - CheckMethodAdapter.checkInternalName(outerName, "outer class name"); - } - if (innerName != null) { - CheckMethodAdapter.checkIdentifier(innerName, "inner class name"); - } - checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE - + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC - + Opcodes.ACC_FINAL + Opcodes.ACC_INTERFACE - + Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC - + Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM); - cv.visitInnerClass(name, outerName, innerName, access); - } - - public FieldVisitor visitField( - final int access, - final String name, - final String desc, - final String signature, - final Object value) - { - checkState(); - checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE - + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC - + Opcodes.ACC_FINAL + Opcodes.ACC_VOLATILE - + Opcodes.ACC_TRANSIENT + Opcodes.ACC_SYNTHETIC - + Opcodes.ACC_ENUM + Opcodes.ACC_DEPRECATED); - CheckMethodAdapter.checkIdentifier(name, "field name"); - CheckMethodAdapter.checkDesc(desc, false); - if (signature != null) { - // TODO - } - if (value != null) { - CheckMethodAdapter.checkConstant(value); - } - FieldVisitor av = cv.visitField(access, name, desc, signature, value); - return new CheckFieldAdapter(av); - } - - public MethodVisitor visitMethod( - final int access, - final String name, - final String desc, - final String signature, - final String[] exceptions) - { - checkState(); - checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE - + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC - + Opcodes.ACC_FINAL + Opcodes.ACC_SYNCHRONIZED - + Opcodes.ACC_BRIDGE + Opcodes.ACC_VARARGS + Opcodes.ACC_NATIVE - + Opcodes.ACC_ABSTRACT + Opcodes.ACC_STRICT - + Opcodes.ACC_SYNTHETIC + Opcodes.ACC_DEPRECATED); - CheckMethodAdapter.checkMethodIdentifier(name, "method name"); - CheckMethodAdapter.checkMethodDesc(desc); - if (signature != null) { - // TODO - } - if (exceptions != null) { - for (int i = 0; i < exceptions.length; ++i) { - CheckMethodAdapter.checkInternalName(exceptions[i], - "exception name at index " + i); - } - } - return new CheckMethodAdapter(cv.visitMethod(access, - name, - desc, - signature, - exceptions)); - } - - public AnnotationVisitor visitAnnotation( - final String desc, - final boolean visible) - { - checkState(); - CheckMethodAdapter.checkDesc(desc, false); - return new CheckAnnotationAdapter(cv.visitAnnotation(desc, visible)); - } - - public void visitAttribute(final Attribute attr) { - checkState(); - if (attr == null) { - throw new IllegalArgumentException("Invalid attribute (must not be null)"); - } - cv.visitAttribute(attr); - } - - public void visitEnd() { - checkState(); - end = true; - cv.visitEnd(); - } - - // ------------------------------------------------------------------------ - // Utility methods - // ------------------------------------------------------------------------ - - /** - * Checks that the visit method has been called and that visitEnd has not - * been called. - */ - private void checkState() { - if (!start) { - throw new IllegalStateException("Cannot visit member before visit has been called."); - } - if (end) { - throw new IllegalStateException("Cannot visit member after visitEnd has been called."); - } - } - - /** - * Checks that the given access flags do not contain invalid flags. This - * method also checks that mutually incompatible flags are not set - * simultaneously. - * - * @param access the access flags to be checked - * @param possibleAccess the valid access flags. - */ - static void checkAccess(final int access, final int possibleAccess) { - if ((access & ~possibleAccess) != 0) { - throw new IllegalArgumentException("Invalid access flags: " - + access); - } - int pub = ((access & Opcodes.ACC_PUBLIC) != 0 ? 1 : 0); - int pri = ((access & Opcodes.ACC_PRIVATE) != 0 ? 1 : 0); - int pro = ((access & Opcodes.ACC_PROTECTED) != 0 ? 1 : 0); - if (pub + pri + pro > 1) { - throw new IllegalArgumentException("public private and protected are mutually exclusive: " - + access); - } - int fin = ((access & Opcodes.ACC_FINAL) != 0 ? 1 : 0); - int abs = ((access & Opcodes.ACC_ABSTRACT) != 0 ? 1 : 0); - if (fin + abs > 1) { - throw new IllegalArgumentException("final and abstract are mutually exclusive: " - + access); - } - } -} Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckFieldAdapter.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckFieldAdapter.java 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckFieldAdapter.java 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,75 +0,0 @@ -/*** - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ -package org.drools.asm.util; - -import org.drools.asm.AnnotationVisitor; -import org.drools.asm.Attribute; -import org.drools.asm.FieldVisitor; - -/** - * A {@link FieldVisitor} that checks that its methods are properly used. - */ -public class CheckFieldAdapter implements FieldVisitor { - - private FieldVisitor fv; - - private boolean end; - - public CheckFieldAdapter(final FieldVisitor fv) { - this.fv = fv; - } - - public AnnotationVisitor visitAnnotation(final String desc, boolean visible) - { - checkEnd(); - CheckMethodAdapter.checkDesc(desc, false); - return new CheckAnnotationAdapter(fv.visitAnnotation(desc, visible)); - } - - public void visitAttribute(final Attribute attr) { - checkEnd(); - if (attr == null) { - throw new IllegalArgumentException("Invalid attribute (must not be null)"); - } - fv.visitAttribute(attr); - } - - public void visitEnd() { - checkEnd(); - end = true; - fv.visitEnd(); - } - - private void checkEnd() { - if (end) { - throw new IllegalStateException("Cannot call a visit method after visitEnd has been called"); - } - } -} Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckMethodAdapter.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckMethodAdapter.java 2006-04-30 11:06:25 UTC (rev 4011) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/util/CheckMethodAdapter.java 2006-04-30 11:17:35 UTC (rev 4012) @@ -1,942 +0,0 @@ -/*** - * ASM: a very small and fast Java bytecode manipulation framework - * Copyright (c) 2000-2005 INRIA, France Telecom - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ -package org.drools.asm.util; - -import org.drools.asm.AnnotationVisitor; -import org.drools.asm.Attribute; -import org.drools.asm.Label; -import org.drools.asm.MethodAdapter; -import org.drools.asm.MethodVisitor; -import org.drools.asm.Opcodes; -import org.drools.asm.Type; - -import java.util.HashMap; - -/** - * A {@link MethodAdapter} that checks that its methods are properly used. More - * precisely this code adapter checks each instruction individually (i.e., each - * visit method checks some preconditions based <i>only</i> on its arguments - - * such as the fact that the given opcode is correct for a given visit method), - * but does <i>not</i> check the <i>sequence</i> of instructions. For example, - * in a method whose signature is <tt>void m ()</tt>, the invalid instruction - * IRETURN, or the invalid sequence IADD L2I will <i>not</i> be detected by - * this code adapter. - * - * @author Eric Bruneton - */ -public class CheckMethodAdapter extends MethodAdapter { - - /** - * <tt>true</tt> if the visitCode method has been called. - */ - private boolean startCode; - - /** - * <tt>true</tt> if the visitMaxs method has been called. - */ - private boolean endCode; - - /** - * <tt>true</tt> if the visitEnd method has been called. - */ - private boolean endMethod; - - /** - * The already visited labels. This map associate Integer values to Label - * keys. - */ - private HashMap labels; - - /** - * Code of the visit method to be used for each opcode. - */ - private final static int[] TYPE; - - static { - String s = "BBBBBBBBBBBBBBBBCCIAADDDDDAAAAAAAAAAAAAAAAAAAABBBBBBBBDD" - + "DDDAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - + "BBBBBBBBBBBBBBBBBBBJBBBBBBBBBBBBBBBBBBBBHHHHHHHHHHHHHHHHD" - + "KLBBBBBBFFFFGGGGAECEBBEEBBAMHHAA"; - TYPE = new int[s.length()]; - for (int i = 0; i < TYPE.length; ++i) { - TYPE[i] = (s.charAt(i) - 'A' - 1); - } - } - - // code to generate the above string - // public static void main (String[] args) { - // int[] TYPE = new int[] { - // 0, //NOP - // 0, //ACONST_NULL - // 0, //ICONST_M1 - // 0, //ICONST_0 - // 0, //ICONST_1 - // 0, //ICONST_2 - // 0, //ICONST_3 - // 0, //ICONST_4 - // 0, //ICONST_5 - // 0, //LCONST_0 - // 0, //LCONST_1 - // 0, //FCONST_0 - // 0, //FCONST_1 - // 0, //FCONST_2 - // 0, //DCONST_0 - // 0, //DCONST_1 - // 1, //BIPUSH - // 1, //SIPUSH - // 7, //LDC - // -1, //LDC_W - // -1, //LDC2_W - // 2, //ILOAD - // 2, //LLOAD - // 2, //FLOAD - // 2, //DLOAD - // 2, //ALOAD - // -1, //ILOAD_0 - // -1, //ILOAD_1 - // -1, //ILOAD_2 - // -1, //ILOAD_3 - // -1, //LLOAD_0 - // -1, //LLOAD_1 - // -1, //LLOAD_2 - // -1, //LLOAD_3 - // -1, //FLOAD_0 - // -1, //FLOAD_1 - // -1, //FLOAD_2 - // -1, //FLOAD_3 - // -1, //DLOAD_0 - // -1, //DLOAD_1 - // -1, //DLOAD_2 - // -1, //DLOAD_3 - // -1, //ALOAD_0 - // -1, //ALOAD_1 - // -1, //ALOAD_2 - // -1, //ALOAD_3 - // 0, //IALOAD - // 0, //LALOAD - // 0, //FALOAD - // 0, //DALOAD - // 0, //AALOAD - // 0, //BALOAD - // 0, //CALOAD - // 0, //SALOAD - // 2, //ISTORE - // 2, //LSTORE - // 2, //FSTORE - // 2, //DSTORE - // 2, //ASTORE - // -1, //ISTORE_0 - // -1, //ISTORE_1 - // -1, //ISTORE_2 - // -1, //ISTORE_3 - // -1, //LSTORE_0 - // -1, //LSTORE_1 - // -1, //LSTORE_2 - // -1, //LSTORE_3 - // -1, //FSTORE_0 - // -1, //FSTORE_1 - // -1, //FSTORE_2 - // -1, //FSTORE_3 - // -1, //DSTORE_0 - // -1, //DSTORE_1 - // -1, //DSTORE_2 - // -1, //DSTORE_3 - // -1, //ASTORE_0 - // -1, //ASTORE_1 - // -1, //ASTORE_2 - // -1, //ASTORE_3 - // 0, //IASTORE - // 0, //LASTORE - // 0, //FASTORE - // 0, //DASTORE - // 0, //AASTORE - // 0, //BASTORE - // 0, //CASTORE - // 0, //SASTORE - // 0, //POP - // 0, //POP2 - // 0, //DUP - // 0, //DUP_X1 - // 0, //DUP_X2 - // 0, //DUP2 - // 0, //DUP2_X1 - // 0, //DUP2_X2 - // 0, //SWAP - // 0, //IADD - // 0, //LADD - // 0, //FADD - // 0, //DADD - // 0, //ISUB - // 0, //LSUB - // 0, //FSUB - // 0, //DSUB - // 0, //IMUL - // 0, //LMUL - // 0, //FMUL - // 0, //DMUL - // 0, //IDIV - // 0, //LDIV - // 0, //FDIV - // 0, //DDIV - // 0, //IREM - // 0, //LREM - // 0, //FREM - // 0, //DREM - // 0, //INEG - // 0, //LNEG - // 0, //FNEG - // 0, //DNEG - // 0, //ISHL - // 0, //LSHL - // 0, //ISHR - // 0, //LSHR - // 0, //IUSHR - // 0, //LUSHR - // 0, //IAND - // 0, //LAND - // 0, //IOR - // 0, //LOR - // 0, //IXOR - // 0, //LXOR - // 8, //IINC - // 0, //I2L - // 0, //I2F - // 0, //I2D - // 0, //L2I - // 0, //L2F - // 0, //L2D - // 0, //F2I - // 0, //F2L - // 0, //F2D - // 0, //D2I - // 0, //D2L - // 0, //D2F - // 0, //I2B - // 0, //I2C - // 0, //I2S - // 0, //LCMP - // 0, //FCMPL - // 0, //FCMPG - // 0, //DCMPL - // 0, //DCMPG - // 6, //IFEQ - // 6, //IFNE - // 6, //IFLT - // 6, //IFGE - // 6, //IFGT - // 6, //IFLE - // 6, //IF_ICMPEQ - // 6, //IF_ICMPNE - // 6, //IF_ICMPLT - // 6, //IF_ICMPGE - // 6, //IF_ICMPGT - // 6, //IF_ICMPLE - // 6, //IF_ACMPEQ - // 6, //IF_ACMPNE - // 6, //GOTO - // 6, //JSR - // 2, //RET - // 9, //TABLESWITCH - // 10, //LOOKUPSWITCH - // 0, //IRETURN - // 0, //LRETURN - // 0, //FRETURN - // 0, //DRETURN - // 0, //ARETURN - // 0, //RETURN - // 4, //GETSTATIC - // 4, //PUTSTATIC - // 4, //GETFIELD - // 4, //PUTFIELD - // 5, //INVOKEVIRTUAL - // 5, //INVOKESPECIAL - // 5, //INVOKESTATIC - // 5, //INVOKEINTERFACE - // -1, //UNUSED - // 3, //NEW - // 1, //NEWARRAY - // 3, //ANEWARRAY - // 0, //ARRAYLENGTH - // 0, //ATHROW - // 3, //CHECKCAST - // 3, //INSTANCEOF - // 0, //MONITORENTER - // 0, //MONITOREXIT - // -1, //WIDE - // 11, //MULTIANEWARRAY - // 6, //IFNULL - // 6, //IFNONNULL - // -1, //GOTO_W - // -1 //JSR_W - // }; - // for (int i = 0; i < TYPE.length; ++i) { - // System.out.print((char)(TYPE[i] + 1 + 'A')); - // } - // System.out.println(); - // } - - /** - * Constructs a new {@link CheckMethodAdapter} object. - * - * @param cv the code visitor to which this adapter must delegate calls. - */ - public CheckMethodAdapter(final MethodVisitor cv) { - super(cv); - this.labels = new HashMap(); - } - - public AnnotationVisitor visitAnnotation( - final String desc, - final boolean visible) - { - checkEndMethod(); - checkDesc(desc, false); - return new CheckAnnotationAdapter(mv.visitAnnotation(desc, visible)); - } - - public AnnotationVisitor visitAnnotationDefault() { - checkEndMethod(); - return new CheckAnnotationAdapter(mv.visitAnnotationDefault(), false); - } - - public AnnotationVisitor visitParameterAnnotation( - final int parameter, - final String desc, - final boolean visible) - { - checkEndMethod(); - checkDesc(desc, false); - return new CheckAnnotationAdapter(mv.visitParameterAnnotation(parameter, - desc, - visible)); - } - - public void visitAttribute(final Attribute attr) { - checkEndMethod(); - if (attr == null) { - throw new IllegalArgumentException("Invalid attribute (must not be null)"); - } - mv.visitAttribute(attr); - } - - public void visitCode() { - startCode = true; - mv.visitCode(); - } - - public void visitInsn(final int opcode) { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 0); - mv.visitInsn(opcode); - } - - public void visitIntInsn(final int opcode, final int operand) { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 1); - switch (opcode) { - case Opcodes.BIPUSH: - checkSignedByte(operand, "Invalid operand"); - break; - case Opcodes.SIPUSH: - checkSignedShort(operand, "Invalid operand"); - break; - // case Constants.NEWARRAY: - default: - if (operand < Opcodes.T_BOOLEAN || operand > Opcodes.T_LONG) { - throw new IllegalArgumentException("Invalid operand (must be an array type code T_...): " - + operand); - } - } - mv.visitIntInsn(opcode, operand); - } - - public void visitVarInsn(final int opcode, final int var) { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 2); - checkUnsignedShort(var, "Invalid variable index"); - mv.visitVarInsn(opcode, var); - } - - public void visitTypeInsn(final int opcode, final String desc) { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 3); - if (desc != null && desc.length() > 0 && desc.charAt(0) == '[') { - checkDesc(desc, false); - } else { - checkInternalName(desc, "type"); - } - if (opcode == Opcodes.NEW && desc.charAt(0) == '[') { - throw new IllegalArgumentException("NEW cannot be used to create arrays: " - + desc); - } - mv.visitTypeInsn(opcode, desc); - } - - public void visitFieldInsn( - final int opcode, - final String owner, - final String name, - final String desc) - { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 4); - checkInternalName(owner, "owner"); - checkIdentifier(name, "name"); - checkDesc(desc, false); - mv.visitFieldInsn(opcode, owner, name, desc); - } - - public void visitMethodInsn( - final int opcode, - final String owner, - final String name, - final String desc) - { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 5); - checkMethodIdentifier(name, "name"); - if (!name.equals("clone")) { - // In JDK1.5, clone method can be called on array class descriptors - checkInternalName(owner, "owner"); - } - checkMethodDesc(desc); - mv.visitMethodInsn(opcode, owner, name, desc); - } - - public void visitJumpInsn(final int opcode, final Label label) { - checkStartCode(); - checkEndCode(); - checkOpcode(opcode, 6); - checkLabel(label, false, "label"); - mv.visitJumpInsn(opcode, label); - } - - public void visitLabel(final Label label) { - checkStartCode(); - checkEndCode(); - checkLabel(label, false, "label"); - if (labels.get(label) != null) { - throw new IllegalArgumentException("Already visited label"); - } else { - labels.put(label, new Integer(labels.size())); - } - mv.visitLabel(label); - } - - public void visitLdcInsn(final Object cst) { - checkStartCode(); - checkEndCode(); - if (!(cst instanceof Type)) { - checkConstant(cst); - } - mv.visitLdcInsn(cst); - } - - public void visitIincInsn(final int var, final int increment) { - checkStartCode(); - checkEndCode(); - checkUnsignedShort(var, "Invalid variable index"); - checkSignedShort(increment, "Invalid increment"); - mv.visitIincInsn(var, increment); - } - - public void visitTableSwitchInsn( - final int min, - final int max, - final Label dflt, - final Label labels[]) - { - checkStartCode(); - checkEndCode(); - if (max < min) { - throw new IllegalArgumentException("Max = " + max - + " must be greater than or equal to min = " + min); - } - checkLabel(dflt, false, "default label"); - if (labels == null || labels.length != max - min + 1) { - throw new IllegalArgumentException("There must be max - min + 1 labels"); - } - for (int i = 0; i < labels.length; ++i) { - checkLabel(labels[i], false, "label at index " + i); - } - mv.visitTableSwitchInsn(min, max, dflt, labels); - } - - public void visitLookupSwitchInsn( - final Label dflt, - final int keys[], - final Label labels[]) - { - checkEndCode(); - checkStartCode(); - checkLabel(dflt, false, "default label"); - if (keys == null || labels == null || keys.length != labels.length) { - throw new IllegalArgumentException("There must be the same number of keys and labels"); - } - for (int i = 0; i < labels.length; ++i) { - checkLabel(labels[i], false, "label at index " + i); - } - mv.visitLookupSwitchInsn(dflt, keys, labels); - } - - public void visitMultiANewArrayInsn(final String desc, final int dims) { - checkStartCode(); - checkEndCode(); - checkDesc(desc, false); - if (desc.charAt(0) != '[') { - throw new IllegalArgumentException("Invalid descriptor (must be an array type descriptor): " - + desc); - } - if (dims < 1) { - throw new IllegalArgumentException("Invalid dimensions (must be greater than 0): " - + dims); - } - if (dims > desc.lastIndexOf('[') + 1) { - throw new IllegalArgumentException("Invalid dimensions (must not be greater than dims(desc)): " - + dims); - } - mv.visitMultiANewArrayInsn(desc, dims); - } - - public void visitTryCatchBlock( - final Label start, - final Label end, - final Label handler, - final String type) - { - checkStartCode(); - checkEndCode(); - if (type != null) { - checkInternalName(type, "type"); - } - mv.visitTryCatchBlock(start, end, handler, type); - } - - public void visitLocalVariable( - final String name, - final String desc, - final String signature, - final Label start, - final Label end, - final int index) - { - checkStartCode(); - checkEndCode(); - checkIdentifier(name, "name"); - checkDesc(desc, false); - checkLabel(start, true, "start label"); - checkLabel(end, true, "end label"); - checkUnsignedShort(index, "Invalid variable index"); - int s = ((Integer) labels.get(start)).intValue(); - int e = ((Integer) labels.get(end)).intValue(); - if (e < s) { - throw new IllegalArgumentException("Invalid start and end labels (end must be greater than start)"); - } - mv.visitLocalVariable(name, desc, signature, start, end, index); - } - - public void visitLineNumber(final int line, final Label start) { - checkStartCode(); - checkEndCode(); - checkUnsignedShort(line, "Invalid line number"); - checkLabel(start, true, "start label"); - mv.visitLineNumber(line, start); - } - - public void visitMaxs(final int maxStack, final int maxLocals) { - checkStartCode(); - checkEndCode(); - endCode = true; - checkUnsignedShort(maxStack, "Invalid max stack"); - checkUnsignedShort(maxLocals, "Invalid max locals"); - mv.visitMaxs(maxStack, maxLocals); - } - - public void visitEnd() { - checkEndMethod(); - endMethod = true; - mv.visitEnd(); - } - - // ------------------------------------------------------------------------- - - /** - * Checks that the visitCode method has been called. - */ - void checkStartCode() { - if (!startCode) { - throw new IllegalStateException("Cannot visit instructions before visitCode has been called."); - } - } - - /** - * Checks that the visitMaxs method has not been called. - */ - void checkEndCode() { - if (endCode) { - throw new IllegalStateException("Cannot visit instructions after visitMaxs has been called."); - } - } - - /** - * Checks that the visitEnd method has not been called. - */ - void checkEndMethod() { - if (endMethod) { - throw new IllegalStateException("Cannot visit elements after visitEnd has been called."); - } - } - - /** - * Checks that the type of the given opcode is equal to the given type. - * - * @param opcode the opcode to be checked. - * @param type the expected opcode type. - */ - static void checkOpcode(final int opcode, final int type) { - if (opcode < 0 || opcode > 199 || TYPE[opcode] != type) { - throw new IllegalArgumentException("Invalid opcode: " + opcode); - } - } - - /** - * Checks that the given value is a signed byte. - * - * @param value the value to be checked. - * @param msg an message to be used in case of error. - */ - static void checkSignedByte(final int value, final String msg) { - if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) { - throw new IllegalArgumentException(msg - + " (must be a signed byte): " + value); - } - } - - /** - * Checks that the given value is a signed short. - * - * @param value the value to be checked. - * @param msg an message to be used in case of error. - */ - static void checkSignedShort(final int value, final String msg) { - if (value < Short.MIN_VALUE || value > Short.MAX_VALUE) { - throw new IllegalArgumentException(msg - + " (must be a signed short): " + value); - } - } - - /** - * Checks that the given value is an unsigned short. - * - * @param value the value to be checked. - * @param msg an message to be used in case of error. - */ - static void checkUnsignedShort(final int value, final String msg) { - if (value < 0 || value > 65535) { - throw new IllegalArgumentException(msg - + " (must be an unsigned short): " + value); - } - } - - /** - * Checks that the given value is an {@link Integer}, a{@link Float}, a - * {@link Long}, a {@link Double} or a {@link String}. - * - * @param cst the value to be checked. - */ - static void checkConstant(final Object cst) { - if (!(cst instanceof Integer) && !(cst instanceof Float) - && !(cst instanceof Long) && !(cst instanceof Double) - && !(cst instanceof String)) - { - throw new IllegalArgumentException("Invalid constant: " + cst); - } - } - - /** - * Checks that the given string is a valid Java identifier. - * - * @param name the string to be checked. - * @param msg a message to be used in case of error. - */ - static void checkIdentifier(final String name, final String msg) { - checkIdentifier(name, 0, -1, msg); - } - - /** - * Checks that the given substring is a valid Java identifier. - * - * @param name the string to be checked. - * @param start index of the first character of the identifier (inclusive). - * @param end index of the last character of the identifier (exclusive). -1 - * is equivalent to <tt>name.length()</tt> if name is not - * <tt>null</tt>. - * @param msg a message to be used in case of error. - */ - static void checkIdentifier( - final String name, - final int start, - final int end, - final String msg) - { - if (name == null || (end == -1 ? name.length() <= start : end <= start)) - { - throw new IllegalArgumentException("Invalid " + msg - + " (must not be null or empty)"); - } - if (!Character.isJavaIdentifierStart(name.charAt(start))) { - throw new IllegalArgumentException("Invalid " + msg - + " (must be a valid Java identifier): " + name); - } - int max = (end == -1 ? name.length() : end); - for (int i = start + 1; i < max; ++i) { - if (!Character.isJavaIdentifierPart(name.charAt(i))) { - throw new IllegalArgumentException("Invalid " + msg - + " (must be a valid Java identifier): " + name); - } - } - } - - /** - * Checks that the given string is a valid Java identifier or is equal to - * '<init>' or '<clinit>'. - * - * @param name the string to be checked. - * @param msg a message to be used in case of error. - */ - static void checkMethodIdentifier(final String name, final String msg) { - if (name == null || name.length() == 0) { - throw new IllegalArgumentException("Invalid " + msg - + " (must not be null or empty)"); - } - if (name.equals("<init>") || name.equals("<clinit>")) { - return; - } - if (!Character.isJavaIdentifierStart(name.charAt(0))) { - throw new IllegalArgumentException("Invalid " - + msg - + " (must be a '<init>', '<clinit>' or a valid Java identifier): " - + name); - } - for (int i = 1; i < name.length(); ++i) { - if (!Character.isJavaIdentifierPart(name.charAt(i))) { - throw new IllegalArgumentException("Invalid " - + msg - + " (must be '<init>' or '<clinit>' or a valid Java ide... [truncated message content] |
From: <jbo...@li...> - 2006-04-30 11:06:32
|
Author: mar...@jb... Date: 2006-04-30 07:06:25 -0400 (Sun, 30 Apr 2006) New Revision: 4011 Removed: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/optimizer/ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/asm/xml/ Log: -Started to remove unused ASM packages/classes |
Author: mar...@jb... Date: 2006-04-29 21:10:30 -0400 (Sat, 29 Apr 2006) New Revision: 4009 Removed: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/waltz/waltz12.dat Modified: labs/jbossrules/trunk/drools-compiler/.classpath labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java Log: JBRULES-247 Automatically import classes from current package Modified: labs/jbossrules/trunk/drools-compiler/.classpath =================================================================== --- labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-29 20:53:11 UTC (rev 4008) +++ labs/jbossrules/trunk/drools-compiler/.classpath 2006-04-30 01:10:30 UTC (rev 4009) @@ -5,21 +5,21 @@ <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="var" path="M2_REPO/antlr/antlr3/3.0ea8/antlr3-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> + <classpathentry kind="src" path="/drools-core"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.0.658/core-3.2.0.658.jar"/> <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> + <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> + <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> <classpathentry kind="var" path="M2_REPO/jci/jci/SNAPSHOT-378493+patch4/jci-SNAPSHOT-378493+patch4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0ea8/antlr-3.0ea8.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> + <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/> <classpathentry kind="var" path="M2_REPO/jung/jung/1.7.2/jung-1.7.2.jar"/> - <classpathentry kind="var" path="M2_REPO/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar"/> - <classpathentry kind="var" path="M2_REPO/colt/colt/1.2.0/colt-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar"/> - <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/> - <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/2.3b6/stringtemplate-2.3b6.jar"/> - <classpathentry kind="var" path="M2_REPO/janino/janino/2.4.1/janino-2.4.1.jar"/> - <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> - <classpathentry kind="src" path="/drools-core"/> </classpath> \ No newline at end of file Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java 2006-04-29 20:53:11 UTC (rev 4008) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java 2006-04-30 01:10:30 UTC (rev 4009) @@ -156,6 +156,8 @@ this.typeResolver = new ClassTypeResolver( pkg.getImports(), pkg.getPackageCompilationData().getClassLoader() ); + // make an automatic import for the current package + this.typeResolver.addImport( pkg.getName() + ".*" ); this.ruleDescr = ruleDescr; Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-29 20:53:11 UTC (rev 4008) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-30 01:10:30 UTC (rev 4009) @@ -41,7 +41,6 @@ import org.drools.RuleBase; import org.drools.Sensor; import org.drools.WorkingMemory; -import org.drools.audit.WorkingMemoryFileLogger; import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsError; import org.drools.compiler.PackageBuilder; Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/waltz/waltz12.dat =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/waltz/waltz12.dat 2006-04-29 20:53:11 UTC (rev 4008) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/waltz/waltz12.dat 2006-04-30 01:10:30 UTC (rev 4009) @@ -1,985 +0,0 @@ -(make stage ^value duplicate) -(make line ^p1 50003 ^p2 60003) -(make line ^p1 30005 ^p2 30006) -(make line ^p1 80005 ^p2 80006) -(make line ^p1 50008 ^p2 60008) -(make line ^p1 0 ^p2 20000) -(make line ^p1 20000 ^p2 30000) -(make line ^p1 30000 ^p2 40000) -(make line ^p1 0 ^p2 2) -(make line ^p1 2 ^p2 3) -(make line ^p1 3 ^p2 4) -(make line ^p1 4 ^p2 40004) -(make line ^p1 40004 ^p2 40000) -(make line ^p1 40000 ^p2 50001) -(make line ^p1 50001 ^p2 50002) -(make line ^p1 50002 ^p2 50003) -(make line ^p1 50003 ^p2 50005) -(make line ^p1 50005 ^p2 40004) -(make line ^p1 50005 ^p2 30005) -(make line ^p1 30005 ^p2 20005) -(make line ^p1 20005 ^p2 10005) -(make line ^p1 10005 ^p2 4) -(make line ^p1 60000 ^p2 80000) -(make line ^p1 80000 ^p2 90000) -(make line ^p1 90000 ^p2 100000) -(make line ^p1 60000 ^p2 60002) -(make line ^p1 60002 ^p2 60003) -(make line ^p1 60003 ^p2 60004) -(make line ^p1 60004 ^p2 100004) -(make line ^p1 100004 ^p2 100000) -(make line ^p1 100000 ^p2 110001) -(make line ^p1 110001 ^p2 110002) -(make line ^p1 110002 ^p2 110003) -(make line ^p1 110003 ^p2 110005) -(make line ^p1 110005 ^p2 100004) -(make line ^p1 110005 ^p2 90005) -(make line ^p1 90005 ^p2 80005) -(make line ^p1 80005 ^p2 70005) -(make line ^p1 70005 ^p2 60004) -(make line ^p1 6 ^p2 20006) -(make line ^p1 20006 ^p2 30006) -(make line ^p1 30006 ^p2 40006) -(make line ^p1 6 ^p2 8) -(make line ^p1 8 ^p2 9) -(make line ^p1 9 ^p2 10) -(make line ^p1 10 ^p2 40010) -(make line ^p1 40010 ^p2 40006) -(make line ^p1 40006 ^p2 50007) -(make line ^p1 50007 ^p2 50008) -(make line ^p1 50008 ^p2 50009) -(make line ^p1 50009 ^p2 50011) -(make line ^p1 50011 ^p2 40010) -(make line ^p1 50011 ^p2 30011) -(make line ^p1 30011 ^p2 20011) -(make line ^p1 20011 ^p2 10011) -(make line ^p1 10011 ^p2 10) -(make line ^p1 60006 ^p2 80006) -(make line ^p1 80006 ^p2 90006) -(make line ^p1 90006 ^p2 100006) -(make line ^p1 60006 ^p2 60008) -(make line ^p1 60008 ^p2 60009) -(make line ^p1 60009 ^p2 60010) -(make line ^p1 60010 ^p2 100010) -(make line ^p1 100010 ^p2 100006) -(make line ^p1 100006 ^p2 110007) -(make line ^p1 110007 ^p2 110008) -(make line ^p1 110008 ^p2 110009) -(make line ^p1 110009 ^p2 110011) -(make line ^p1 110011 ^p2 100010) -(make line ^p1 110011 ^p2 90011) -(make line ^p1 90011 ^p2 80011) -(make line ^p1 80011 ^p2 70011) -(make line ^p1 70011 ^p2 60010) -(make line ^p1 170003 ^p2 180003) -(make line ^p1 150005 ^p2 150006) -(make line ^p1 200005 ^p2 200006) -(make line ^p1 170008 ^p2 180008) -(make line ^p1 120000 ^p2 140000) -(make line ^p1 140000 ^p2 150000) -(make line ^p1 150000 ^p2 160000) -(make line ^p1 120000 ^p2 120002) -(make line ^p1 120002 ^p2 120003) -(make line ^p1 120003 ^p2 120004) -(make line ^p1 120004 ^p2 160004) -(make line ^p1 160004 ^p2 160000) -(make line ^p1 160000 ^p2 170001) -(make line ^p1 170001 ^p2 170002) -(make line ^p1 170002 ^p2 170003) -(make line ^p1 170003 ^p2 170005) -(make line ^p1 170005 ^p2 160004) -(make line ^p1 170005 ^p2 150005) -(make line ^p1 150005 ^p2 140005) -(make line ^p1 140005 ^p2 130005) -(make line ^p1 130005 ^p2 120004) -(make line ^p1 180000 ^p2 200000) -(make line ^p1 200000 ^p2 210000) -(make line ^p1 210000 ^p2 220000) -(make line ^p1 180000 ^p2 180002) -(make line ^p1 180002 ^p2 180003) -(make line ^p1 180003 ^p2 180004) -(make line ^p1 180004 ^p2 220004) -(make line ^p1 220004 ^p2 220000) -(make line ^p1 220000 ^p2 230001) -(make line ^p1 230001 ^p2 230002) -(make line ^p1 230002 ^p2 230003) -(make line ^p1 230003 ^p2 230005) -(make line ^p1 230005 ^p2 220004) -(make line ^p1 230005 ^p2 210005) -(make line ^p1 210005 ^p2 200005) -(make line ^p1 200005 ^p2 190005) -(make line ^p1 190005 ^p2 180004) -(make line ^p1 120006 ^p2 140006) -(make line ^p1 140006 ^p2 150006) -(make line ^p1 150006 ^p2 160006) -(make line ^p1 120006 ^p2 120008) -(make line ^p1 120008 ^p2 120009) -(make line ^p1 120009 ^p2 120010) -(make line ^p1 120010 ^p2 160010) -(make line ^p1 160010 ^p2 160006) -(make line ^p1 160006 ^p2 170007) -(make line ^p1 170007 ^p2 170008) -(make line ^p1 170008 ^p2 170009) -(make line ^p1 170009 ^p2 170011) -(make line ^p1 170011 ^p2 160010) -(make line ^p1 170011 ^p2 150011) -(make line ^p1 150011 ^p2 140011) -(make line ^p1 140011 ^p2 130011) -(make line ^p1 130011 ^p2 120010) -(make line ^p1 180006 ^p2 200006) -(make line ^p1 200006 ^p2 210006) -(make line ^p1 210006 ^p2 220006) -(make line ^p1 180006 ^p2 180008) -(make line ^p1 180008 ^p2 180009) -(make line ^p1 180009 ^p2 180010) -(make line ^p1 180010 ^p2 220010) -(make line ^p1 220010 ^p2 220006) -(make line ^p1 220006 ^p2 230007) -(make line ^p1 230007 ^p2 230008) -(make line ^p1 230008 ^p2 230009) -(make line ^p1 230009 ^p2 230011) -(make line ^p1 230011 ^p2 220010) -(make line ^p1 230011 ^p2 210011) -(make line ^p1 210011 ^p2 200011) -(make line ^p1 200011 ^p2 190011) -(make line ^p1 190011 ^p2 180010) -(make line ^p1 110003 ^p2 120003) -(make line ^p1 90005 ^p2 90006) -(make line ^p1 140005 ^p2 140006) -(make line ^p1 110008 ^p2 120008) -(make line ^p1 290003 ^p2 300003) -(make line ^p1 270005 ^p2 270006) -(make line ^p1 320005 ^p2 320006) -(make line ^p1 290008 ^p2 300008) -(make line ^p1 240000 ^p2 260000) -(make line ^p1 260000 ^p2 270000) -(make line ^p1 270000 ^p2 280000) -(make line ^p1 240000 ^p2 240002) -(make line ^p1 240002 ^p2 240003) -(make line ^p1 240003 ^p2 240004) -(make line ^p1 240004 ^p2 280004) -(make line ^p1 280004 ^p2 280000) -(make line ^p1 280000 ^p2 290001) -(make line ^p1 290001 ^p2 290002) -(make line ^p1 290002 ^p2 290003) -(make line ^p1 290003 ^p2 290005) -(make line ^p1 290005 ^p2 280004) -(make line ^p1 290005 ^p2 270005) -(make line ^p1 270005 ^p2 260005) -(make line ^p1 260005 ^p2 250005) -(make line ^p1 250005 ^p2 240004) -(make line ^p1 300000 ^p2 320000) -(make line ^p1 320000 ^p2 330000) -(make line ^p1 330000 ^p2 340000) -(make line ^p1 300000 ^p2 300002) -(make line ^p1 300002 ^p2 300003) -(make line ^p1 300003 ^p2 300004) -(make line ^p1 300004 ^p2 340004) -(make line ^p1 340004 ^p2 340000) -(make line ^p1 340000 ^p2 350001) -(make line ^p1 350001 ^p2 350002) -(make line ^p1 350002 ^p2 350003) -(make line ^p1 350003 ^p2 350005) -(make line ^p1 350005 ^p2 340004) -(make line ^p1 350005 ^p2 330005) -(make line ^p1 330005 ^p2 320005) -(make line ^p1 320005 ^p2 310005) -(make line ^p1 310005 ^p2 300004) -(make line ^p1 240006 ^p2 260006) -(make line ^p1 260006 ^p2 270006) -(make line ^p1 270006 ^p2 280006) -(make line ^p1 240006 ^p2 240008) -(make line ^p1 240008 ^p2 240009) -(make line ^p1 240009 ^p2 240010) -(make line ^p1 240010 ^p2 280010) -(make line ^p1 280010 ^p2 280006) -(make line ^p1 280006 ^p2 290007) -(make line ^p1 290007 ^p2 290008) -(make line ^p1 290008 ^p2 290009) -(make line ^p1 290009 ^p2 290011) -(make line ^p1 290011 ^p2 280010) -(make line ^p1 290011 ^p2 270011) -(make line ^p1 270011 ^p2 260011) -(make line ^p1 260011 ^p2 250011) -(make line ^p1 250011 ^p2 240010) -(make line ^p1 300006 ^p2 320006) -(make line ^p1 320006 ^p2 330006) -(make line ^p1 330006 ^p2 340006) -(make line ^p1 300006 ^p2 300008) -(make line ^p1 300008 ^p2 300009) -(make line ^p1 300009 ^p2 300010) -(make line ^p1 300010 ^p2 340010) -(make line ^p1 340010 ^p2 340006) -(make line ^p1 340006 ^p2 350007) -(make line ^p1 350007 ^p2 350008) -(make line ^p1 350008 ^p2 350009) -(make line ^p1 350009 ^p2 350011) -(make line ^p1 350011 ^p2 340010) -(make line ^p1 350011 ^p2 330011) -(make line ^p1 330011 ^p2 320011) -(make line ^p1 320011 ^p2 310011) -(make line ^p1 310011 ^p2 300010) -(make line ^p1 230003 ^p2 240003) -(make line ^p1 210005 ^p2 210006) -(make line ^p1 260005 ^p2 260006) -(make line ^p1 230008 ^p2 240008) -(make line ^p1 410003 ^p2 420003) -(make line ^p1 390005 ^p2 390006) -(make line ^p1 440005 ^p2 440006) -(make line ^p1 410008 ^p2 420008) -(make line ^p1 360000 ^p2 380000) -(make line ^p1 380000 ^p2 390000) -(make line ^p1 390000 ^p2 400000) -(make line ^p1 360000 ^p2 360002) -(make line ^p1 360002 ^p2 360003) -(make line ^p1 360003 ^p2 360004) -(make line ^p1 360004 ^p2 400004) -(make line ^p1 400004 ^p2 400000) -(make line ^p1 400000 ^p2 410001) -(make line ^p1 410001 ^p2 410002) -(make line ^p1 410002 ^p2 410003) -(make line ^p1 410003 ^p2 410005) -(make line ^p1 410005 ^p2 400004) -(make line ^p1 410005 ^p2 390005) -(make line ^p1 390005 ^p2 380005) -(make line ^p1 380005 ^p2 370005) -(make line ^p1 370005 ^p2 360004) -(make line ^p1 420000 ^p2 440000) -(make line ^p1 440000 ^p2 450000) -(make line ^p1 450000 ^p2 460000) -(make line ^p1 420000 ^p2 420002) -(make line ^p1 420002 ^p2 420003) -(make line ^p1 420003 ^p2 420004) -(make line ^p1 420004 ^p2 460004) -(make line ^p1 460004 ^p2 460000) -(make line ^p1 460000 ^p2 470001) -(make line ^p1 470001 ^p2 470002) -(make line ^p1 470002 ^p2 470003) -(make line ^p1 470003 ^p2 470005) -(make line ^p1 470005 ^p2 460004) -(make line ^p1 470005 ^p2 450005) -(make line ^p1 450005 ^p2 440005) -(make line ^p1 440005 ^p2 430005) -(make line ^p1 430005 ^p2 420004) -(make line ^p1 360006 ^p2 380006) -(make line ^p1 380006 ^p2 390006) -(make line ^p1 390006 ^p2 400006) -(make line ^p1 360006 ^p2 360008) -(make line ^p1 360008 ^p2 360009) -(make line ^p1 360009 ^p2 360010) -(make line ^p1 360010 ^p2 400010) -(make line ^p1 400010 ^p2 400006) -(make line ^p1 400006 ^p2 410007) -(make line ^p1 410007 ^p2 410008) -(make line ^p1 410008 ^p2 410009) -(make line ^p1 410009 ^p2 410011) -(make line ^p1 410011 ^p2 400010) -(make line ^p1 410011 ^p2 390011) -(make line ^p1 390011 ^p2 380011) -(make line ^p1 380011 ^p2 370011) -(make line ^p1 370011 ^p2 360010) -(make line ^p1 420006 ^p2 440006) -(make line ^p1 440006 ^p2 450006) -(make line ^p1 450006 ^p2 460006) -(make line ^p1 420006 ^p2 420008) -(make line ^p1 420008 ^p2 420009) -(make line ^p1 420009 ^p2 420010) -(make line ^p1 420010 ^p2 460010) -(make line ^p1 460010 ^p2 460006) -(make line ^p1 460006 ^p2 470007) -(make line ^p1 470007 ^p2 470008) -(make line ^p1 470008 ^p2 470009) -(make line ^p1 470009 ^p2 470011) -(make line ^p1 470011 ^p2 460010) -(make line ^p1 470011 ^p2 450011) -(make line ^p1 450011 ^p2 440011) -(make line ^p1 440011 ^p2 430011) -(make line ^p1 430011 ^p2 420010) -(make line ^p1 350003 ^p2 360003) -(make line ^p1 330005 ^p2 330006) -(make line ^p1 380005 ^p2 380006) -(make line ^p1 350008 ^p2 360008) -(make line ^p1 530003 ^p2 540003) -(make line ^p1 510005 ^p2 510006) -(make line ^p1 560005 ^p2 560006) -(make line ^p1 530008 ^p2 540008) -(make line ^p1 480000 ^p2 500000) -(make line ^p1 500000 ^p2 510000) -(make line ^p1 510000 ^p2 520000) -(make line ^p1 480000 ^p2 480002) -(make line ^p1 480002 ^p2 480003) -(make line ^p1 480003 ^p2 480004) -(make line ^p1 480004 ^p2 520004) -(make line ^p1 520004 ^p2 520000) -(make line ^p1 520000 ^p2 530001) -(make line ^p1 530001 ^p2 530002) -(make line ^p1 530002 ^p2 530003) -(make line ^p1 530003 ^p2 530005) -(make line ^p1 530005 ^p2 520004) -(make line ^p1 530005 ^p2 510005) -(make line ^p1 510005 ^p2 500005) -(make line ^p1 500005 ^p2 490005) -(make line ^p1 490005 ^p2 480004) -(make line ^p1 540000 ^p2 560000) -(make line ^p1 560000 ^p2 570000) -(make line ^p1 570000 ^p2 580000) -(make line ^p1 540000 ^p2 540002) -(make line ^p1 540002 ^p2 540003) -(make line ^p1 540003 ^p2 540004) -(make line ^p1 540004 ^p2 580004) -(make line ^p1 580004 ^p2 580000) -(make line ^p1 580000 ^p2 590001) -(make line ^p1 590001 ^p2 590002) -(make line ^p1 590002 ^p2 590003) -(make line ^p1 590003 ^p2 590005) -(make line ^p1 590005 ^p2 580004) -(make line ^p1 590005 ^p2 570005) -(make line ^p1 570005 ^p2 560005) -(make line ^p1 560005 ^p2 550005) -(make line ^p1 550005 ^p2 540004) -(make line ^p1 480006 ^p2 500006) -(make line ^p1 500006 ^p2 510006) -(make line ^p1 510006 ^p2 520006) -(make line ^p1 480006 ^p2 480008) -(make line ^p1 480008 ^p2 480009) -(make line ^p1 480009 ^p2 480010) -(make line ^p1 480010 ^p2 520010) -(make line ^p1 520010 ^p2 520006) -(make line ^p1 520006 ^p2 530007) -(make line ^p1 530007 ^p2 530008) -(make line ^p1 530008 ^p2 530009) -(make line ^p1 530009 ^p2 530011) -(make line ^p1 530011 ^p2 520010) -(make line ^p1 530011 ^p2 510011) -(make line ^p1 510011 ^p2 500011) -(make line ^p1 500011 ^p2 490011) -(make line ^p1 490011 ^p2 480010) -(make line ^p1 540006 ^p2 560006) -(make line ^p1 560006 ^p2 570006) -(make line ^p1 570006 ^p2 580006) -(make line ^p1 540006 ^p2 540008) -(make line ^p1 540008 ^p2 540009) -(make line ^p1 540009 ^p2 540010) -(make line ^p1 540010 ^p2 580010) -(make line ^p1 580010 ^p2 580006) -(make line ^p1 580006 ^p2 590007) -(make line ^p1 590007 ^p2 590008) -(make line ^p1 590008 ^p2 590009) -(make line ^p1 590009 ^p2 590011) -(make line ^p1 590011 ^p2 580010) -(make line ^p1 590011 ^p2 570011) -(make line ^p1 570011 ^p2 560011) -(make line ^p1 560011 ^p2 550011) -(make line ^p1 550011 ^p2 540010) -(make line ^p1 470003 ^p2 480003) -(make line ^p1 450005 ^p2 450006) -(make line ^p1 500005 ^p2 500006) -(make line ^p1 470008 ^p2 480008) -(make line ^p1 650003 ^p2 660003) -(make line ^p1 630005 ^p2 630006) -(make line ^p1 680005 ^p2 680006) -(make line ^p1 650008 ^p2 660008) -(make line ^p1 600000 ^p2 620000) -(make line ^p1 620000 ^p2 630000) -(make line ^p1 630000 ^p2 640000) -(make line ^p1 600000 ^p2 600002) -(make line ^p1 600002 ^p2 600003) -(make line ^p1 600003 ^p2 600004) -(make line ^p1 600004 ^p2 640004) -(make line ^p1 640004 ^p2 640000) -(make line ^p1 640000 ^p2 650001) -(make line ^p1 650001 ^p2 650002) -(make line ^p1 650002 ^p2 650003) -(make line ^p1 650003 ^p2 650005) -(make line ^p1 650005 ^p2 640004) -(make line ^p1 650005 ^p2 630005) -(make line ^p1 630005 ^p2 620005) -(make line ^p1 620005 ^p2 610005) -(make line ^p1 610005 ^p2 600004) -(make line ^p1 660000 ^p2 680000) -(make line ^p1 680000 ^p2 690000) -(make line ^p1 690000 ^p2 700000) -(make line ^p1 660000 ^p2 660002) -(make line ^p1 660002 ^p2 660003) -(make line ^p1 660003 ^p2 660004) -(make line ^p1 660004 ^p2 700004) -(make line ^p1 700004 ^p2 700000) -(make line ^p1 700000 ^p2 710001) -(make line ^p1 710001 ^p2 710002) -(make line ^p1 710002 ^p2 710003) -(make line ^p1 710003 ^p2 710005) -(make line ^p1 710005 ^p2 700004) -(make line ^p1 710005 ^p2 690005) -(make line ^p1 690005 ^p2 680005) -(make line ^p1 680005 ^p2 670005) -(make line ^p1 670005 ^p2 660004) -(make line ^p1 600006 ^p2 620006) -(make line ^p1 620006 ^p2 630006) -(make line ^p1 630006 ^p2 640006) -(make line ^p1 600006 ^p2 600008) -(make line ^p1 600008 ^p2 600009) -(make line ^p1 600009 ^p2 600010) -(make line ^p1 600010 ^p2 640010) -(make line ^p1 640010 ^p2 640006) -(make line ^p1 640006 ^p2 650007) -(make line ^p1 650007 ^p2 650008) -(make line ^p1 650008 ^p2 650009) -(make line ^p1 650009 ^p2 650011) -(make line ^p1 650011 ^p2 640010) -(make line ^p1 650011 ^p2 630011) -(make line ^p1 630011 ^p2 620011) -(make line ^p1 620011 ^p2 610011) -(make line ^p1 610011 ^p2 600010) -(make line ^p1 660006 ^p2 680006) -(make line ^p1 680006 ^p2 690006) -(make line ^p1 690006 ^p2 700006) -(make line ^p1 660006 ^p2 660008) -(make line ^p1 660008 ^p2 660009) -(make line ^p1 660009 ^p2 660010) -(make line ^p1 660010 ^p2 700010) -(make line ^p1 700010 ^p2 700006) -(make line ^p1 700006 ^p2 710007) -(make line ^p1 710007 ^p2 710008) -(make line ^p1 710008 ^p2 710009) -(make line ^p1 710009 ^p2 710011) -(make line ^p1 710011 ^p2 700010) -(make line ^p1 710011 ^p2 690011) -(make line ^p1 690011 ^p2 680011) -(make line ^p1 680011 ^p2 670011) -(make line ^p1 670011 ^p2 660010) -(make line ^p1 590003 ^p2 600003) -(make line ^p1 570005 ^p2 570006) -(make line ^p1 620005 ^p2 620006) -(make line ^p1 590008 ^p2 600008) -(make line ^p1 770003 ^p2 780003) -(make line ^p1 750005 ^p2 750006) -(make line ^p1 800005 ^p2 800006) -(make line ^p1 770008 ^p2 780008) -(make line ^p1 720000 ^p2 740000) -(make line ^p1 740000 ^p2 750000) -(make line ^p1 750000 ^p2 760000) -(make line ^p1 720000 ^p2 720002) -(make line ^p1 720002 ^p2 720003) -(make line ^p1 720003 ^p2 720004) -(make line ^p1 720004 ^p2 760004) -(make line ^p1 760004 ^p2 760000) -(make line ^p1 760000 ^p2 770001) -(make line ^p1 770001 ^p2 770002) -(make line ^p1 770002 ^p2 770003) -(make line ^p1 770003 ^p2 770005) -(make line ^p1 770005 ^p2 760004) -(make line ^p1 770005 ^p2 750005) -(make line ^p1 750005 ^p2 740005) -(make line ^p1 740005 ^p2 730005) -(make line ^p1 730005 ^p2 720004) -(make line ^p1 780000 ^p2 800000) -(make line ^p1 800000 ^p2 810000) -(make line ^p1 810000 ^p2 820000) -(make line ^p1 780000 ^p2 780002) -(make line ^p1 780002 ^p2 780003) -(make line ^p1 780003 ^p2 780004) -(make line ^p1 780004 ^p2 820004) -(make line ^p1 820004 ^p2 820000) -(make line ^p1 820000 ^p2 830001) -(make line ^p1 830001 ^p2 830002) -(make line ^p1 830002 ^p2 830003) -(make line ^p1 830003 ^p2 830005) -(make line ^p1 830005 ^p2 820004) -(make line ^p1 830005 ^p2 810005) -(make line ^p1 810005 ^p2 800005) -(make line ^p1 800005 ^p2 790005) -(make line ^p1 790005 ^p2 780004) -(make line ^p1 720006 ^p2 740006) -(make line ^p1 740006 ^p2 750006) -(make line ^p1 750006 ^p2 760006) -(make line ^p1 720006 ^p2 720008) -(make line ^p1 720008 ^p2 720009) -(make line ^p1 720009 ^p2 720010) -(make line ^p1 720010 ^p2 760010) -(make line ^p1 760010 ^p2 760006) -(make line ^p1 760006 ^p2 770007) -(make line ^p1 770007 ^p2 770008) -(make line ^p1 770008 ^p2 770009) -(make line ^p1 770009 ^p2 770011) -(make line ^p1 770011 ^p2 760010) -(make line ^p1 770011 ^p2 750011) -(make line ^p1 750011 ^p2 740011) -(make line ^p1 740011 ^p2 730011) -(make line ^p1 730011 ^p2 720010) -(make line ^p1 780006 ^p2 800006) -(make line ^p1 800006 ^p2 810006) -(make line ^p1 810006 ^p2 820006) -(make line ^p1 780006 ^p2 780008) -(make line ^p1 780008 ^p2 780009) -(make line ^p1 780009 ^p2 780010) -(make line ^p1 780010 ^p2 820010) -(make line ^p1 820010 ^p2 820006) -(make line ^p1 820006 ^p2 830007) -(make line ^p1 830007 ^p2 830008) -(make line ^p1 830008 ^p2 830009) -(make line ^p1 830009 ^p2 830011) -(make line ^p1 830011 ^p2 820010) -(make line ^p1 830011 ^p2 810011) -(make line ^p1 810011 ^p2 800011) -(make line ^p1 800011 ^p2 790011) -(make line ^p1 790011 ^p2 780010) -(make line ^p1 710003 ^p2 720003) -(make line ^p1 690005 ^p2 690006) -(make line ^p1 740005 ^p2 740006) -(make line ^p1 710008 ^p2 720008) -(make line ^p1 890003 ^p2 900003) -(make line ^p1 870005 ^p2 870006) -(make line ^p1 920005 ^p2 920006) -(make line ^p1 890008 ^p2 900008) -(make line ^p1 840000 ^p2 860000) -(make line ^p1 860000 ^p2 870000) -(make line ^p1 870000 ^p2 880000) -(make line ^p1 840000 ^p2 840002) -(make line ^p1 840002 ^p2 840003) -(make line ^p1 840003 ^p2 840004) -(make line ^p1 840004 ^p2 880004) -(make line ^p1 880004 ^p2 880000) -(make line ^p1 880000 ^p2 890001) -(make line ^p1 890001 ^p2 890002) -(make line ^p1 890002 ^p2 890003) -(make line ^p1 890003 ^p2 890005) -(make line ^p1 890005 ^p2 880004) -(make line ^p1 890005 ^p2 870005) -(make line ^p1 870005 ^p2 860005) -(make line ^p1 860005 ^p2 850005) -(make line ^p1 850005 ^p2 840004) -(make line ^p1 900000 ^p2 920000) -(make line ^p1 920000 ^p2 930000) -(make line ^p1 930000 ^p2 940000) -(make line ^p1 900000 ^p2 900002) -(make line ^p1 900002 ^p2 900003) -(make line ^p1 900003 ^p2 900004) -(make line ^p1 900004 ^p2 940004) -(make line ^p1 940004 ^p2 940000) -(make line ^p1 940000 ^p2 950001) -(make line ^p1 950001 ^p2 950002) -(make line ^p1 950002 ^p2 950003) -(make line ^p1 950003 ^p2 950005) -(make line ^p1 950005 ^p2 940004) -(make line ^p1 950005 ^p2 930005) -(make line ^p1 930005 ^p2 920005) -(make line ^p1 920005 ^p2 910005) -(make line ^p1 910005 ^p2 900004) -(make line ^p1 840006 ^p2 860006) -(make line ^p1 860006 ^p2 870006) -(make line ^p1 870006 ^p2 880006) -(make line ^p1 840006 ^p2 840008) -(make line ^p1 840008 ^p2 840009) -(make line ^p1 840009 ^p2 840010) -(make line ^p1 840010 ^p2 880010) -(make line ^p1 880010 ^p2 880006) -(make line ^p1 880006 ^p2 890007) -(make line ^p1 890007 ^p2 890008) -(make line ^p1 890008 ^p2 890009) -(make line ^p1 890009 ^p2 890011) -(make line ^p1 890011 ^p2 880010) -(make line ^p1 890011 ^p2 870011) -(make line ^p1 870011 ^p2 860011) -(make line ^p1 860011 ^p2 850011) -(make line ^p1 850011 ^p2 840010) -(make line ^p1 900006 ^p2 920006) -(make line ^p1 920006 ^p2 930006) -(make line ^p1 930006 ^p2 940006) -(make line ^p1 900006 ^p2 900008) -(make line ^p1 900008 ^p2 900009) -(make line ^p1 900009 ^p2 900010) -(make line ^p1 900010 ^p2 940010) -(make line ^p1 940010 ^p2 940006) -(make line ^p1 940006 ^p2 950007) -(make line ^p1 950007 ^p2 950008) -(make line ^p1 950008 ^p2 950009) -(make line ^p1 950009 ^p2 950011) -(make line ^p1 950011 ^p2 940010) -(make line ^p1 950011 ^p2 930011) -(make line ^p1 930011 ^p2 920011) -(make line ^p1 920011 ^p2 910011) -(make line ^p1 910011 ^p2 900010) -(make line ^p1 830003 ^p2 840003) -(make line ^p1 810005 ^p2 810006) -(make line ^p1 860005 ^p2 860006) -(make line ^p1 830008 ^p2 840008) -(make line ^p1 1010003 ^p2 1020003) -(make line ^p1 990005 ^p2 990006) -(make line ^p1 1040005 ^p2 1040006) -(make line ^p1 1010008 ^p2 1020008) -(make line ^p1 960000 ^p2 980000) -(make line ^p1 980000 ^p2 990000) -(make line ^p1 990000 ^p2 1000000) -(make line ^p1 960000 ^p2 960002) -(make line ^p1 960002 ^p2 960003) -(make line ^p1 960003 ^p2 960004) -(make line ^p1 960004 ^p2 1000004) -(make line ^p1 1000004 ^p2 1000000) -(make line ^p1 1000000 ^p2 1010001) -(make line ^p1 1010001 ^p2 1010002) -(make line ^p1 1010002 ^p2 1010003) -(make line ^p1 1010003 ^p2 1010005) -(make line ^p1 1010005 ^p2 1000004) -(make line ^p1 1010005 ^p2 990005) -(make line ^p1 990005 ^p2 980005) -(make line ^p1 980005 ^p2 970005) -(make line ^p1 970005 ^p2 960004) -(make line ^p1 1020000 ^p2 1040000) -(make line ^p1 1040000 ^p2 1050000) -(make line ^p1 1050000 ^p2 1060000) -(make line ^p1 1020000 ^p2 1020002) -(make line ^p1 1020002 ^p2 1020003) -(make line ^p1 1020003 ^p2 1020004) -(make line ^p1 1020004 ^p2 1060004) -(make line ^p1 1060004 ^p2 1060000) -(make line ^p1 1060000 ^p2 1070001) -(make line ^p1 1070001 ^p2 1070002) -(make line ^p1 1070002 ^p2 1070003) -(make line ^p1 1070003 ^p2 1070005) -(make line ^p1 1070005 ^p2 1060004) -(make line ^p1 1070005 ^p2 1050005) -(make line ^p1 1050005 ^p2 1040005) -(make line ^p1 1040005 ^p2 1030005) -(make line ^p1 1030005 ^p2 1020004) -(make line ^p1 960006 ^p2 980006) -(make line ^p1 980006 ^p2 990006) -(make line ^p1 990006 ^p2 1000006) -(make line ^p1 960006 ^p2 960008) -(make line ^p1 960008 ^p2 960009) -(make line ^p1 960009 ^p2 960010) -(make line ^p1 960010 ^p2 1000010) -(make line ^p1 1000010 ^p2 1000006) -(make line ^p1 1000006 ^p2 1010007) -(make line ^p1 1010007 ^p2 1010008) -(make line ^p1 1010008 ^p2 1010009) -(make line ^p1 1010009 ^p2 1010011) -(make line ^p1 1010011 ^p2 1000010) -(make line ^p1 1010011 ^p2 990011) -(make line ^p1 990011 ^p2 980011) -(make line ^p1 980011 ^p2 970011) -(make line ^p1 970011 ^p2 960010) -(make line ^p1 1020006 ^p2 1040006) -(make line ^p1 1040006 ^p2 1050006) -(make line ^p1 1050006 ^p2 1060006) -(make line ^p1 1020006 ^p2 1020008) -(make line ^p1 1020008 ^p2 1020009) -(make line ^p1 1020009 ^p2 1020010) -(make line ^p1 1020010 ^p2 1060010) -(make line ^p1 1060010 ^p2 1060006) -(make line ^p1 1060006 ^p2 1070007) -(make line ^p1 1070007 ^p2 1070008) -(make line ^p1 1070008 ^p2 1070009) -(make line ^p1 1070009 ^p2 1070011) -(make line ^p1 1070011 ^p2 1060010) -(make line ^p1 1070011 ^p2 1050011) -(make line ^p1 1050011 ^p2 1040011) -(make line ^p1 1040011 ^p2 1030011) -(make line ^p1 1030011 ^p2 1020010) -(make line ^p1 950003 ^p2 960003) -(make line ^p1 930005 ^p2 930006) -(make line ^p1 980005 ^p2 980006) -(make line ^p1 950008 ^p2 960008) -(make line ^p1 1130003 ^p2 1140003) -(make line ^p1 1110005 ^p2 1110006) -(make line ^p1 1160005 ^p2 1160006) -(make line ^p1 1130008 ^p2 1140008) -(make line ^p1 1080000 ^p2 1100000) -(make line ^p1 1100000 ^p2 1110000) -(make line ^p1 1110000 ^p2 1120000) -(make line ^p1 1080000 ^p2 1080002) -(make line ^p1 1080002 ^p2 1080003) -(make line ^p1 1080003 ^p2 1080004) -(make line ^p1 1080004 ^p2 1120004) -(make line ^p1 1120004 ^p2 1120000) -(make line ^p1 1120000 ^p2 1130001) -(make line ^p1 1130001 ^p2 1130002) -(make line ^p1 1130002 ^p2 1130003) -(make line ^p1 1130003 ^p2 1130005) -(make line ^p1 1130005 ^p2 1120004) -(make line ^p1 1130005 ^p2 1110005) -(make line ^p1 1110005 ^p2 1100005) -(make line ^p1 1100005 ^p2 1090005) -(make line ^p1 1090005 ^p2 1080004) -(make line ^p1 1140000 ^p2 1160000) -(make line ^p1 1160000 ^p2 1170000) -(make line ^p1 1170000 ^p2 1180000) -(make line ^p1 1140000 ^p2 1140002) -(make line ^p1 1140002 ^p2 1140003) -(make line ^p1 1140003 ^p2 1140004) -(make line ^p1 1140004 ^p2 1180004) -(make line ^p1 1180004 ^p2 1180000) -(make line ^p1 1180000 ^p2 1190001) -(make line ^p1 1190001 ^p2 1190002) -(make line ^p1 1190002 ^p2 1190003) -(make line ^p1 1190003 ^p2 1190005) -(make line ^p1 1190005 ^p2 1180004) -(make line ^p1 1190005 ^p2 1170005) -(make line ^p1 1170005 ^p2 1160005) -(make line ^p1 1160005 ^p2 1150005) -(make line ^p1 1150005 ^p2 1140004) -(make line ^p1 1080006 ^p2 1100006) -(make line ^p1 1100006 ^p2 1110006) -(make line ^p1 1110006 ^p2 1120006) -(make line ^p1 1080006 ^p2 1080008) -(make line ^p1 1080008 ^p2 1080009) -(make line ^p1 1080009 ^p2 1080010) -(make line ^p1 1080010 ^p2 1120010) -(make line ^p1 1120010 ^p2 1120006) -(make line ^p1 1120006 ^p2 1130007) -(make line ^p1 1130007 ^p2 1130008) -(make line ^p1 1130008 ^p2 1130009) -(make line ^p1 1130009 ^p2 1130011) -(make line ^p1 1130011 ^p2 1120010) -(make line ^p1 1130011 ^p2 1110011) -(make line ^p1 1110011 ^p2 1100011) -(make line ^p1 1100011 ^p2 1090011) -(make line ^p1 1090011 ^p2 1080010) -(make line ^p1 1140006 ^p2 1160006) -(make line ^p1 1160006 ^p2 1170006) -(make line ^p1 1170006 ^p2 1180006) -(make line ^p1 1140006 ^p2 1140008) -(make line ^p1 1140008 ^p2 1140009) -(make line ^p1 1140009 ^p2 1140010) -(make line ^p1 1140010 ^p2 1180010) -(make line ^p1 1180010 ^p2 1180006) -(make line ^p1 1180006 ^p2 1190007) -(make line ^p1 1190007 ^p2 1190008) -(make line ^p1 1190008 ^p2 1190009) -(make line ^p1 1190009 ^p2 1190011) -(make line ^p1 1190011 ^p2 1180010) -(make line ^p1 1190011 ^p2 1170011) -(make line ^p1 1170011 ^p2 1160011) -(make line ^p1 1160011 ^p2 1150011) -(make line ^p1 1150011 ^p2 1140010) -(make line ^p1 1070003 ^p2 1080003) -(make line ^p1 1050005 ^p2 1050006) -(make line ^p1 1100005 ^p2 1100006) -(make line ^p1 1070008 ^p2 1080008) -(make line ^p1 1250003 ^p2 1260003) -(make line ^p1 1230005 ^p2 1230006) -(make line ^p1 1280005 ^p2 1280006) -(make line ^p1 1250008 ^p2 1260008) -(make line ^p1 1200000 ^p2 1220000) -(make line ^p1 1220000 ^p2 1230000) -(make line ^p1 1230000 ^p2 1240000) -(make line ^p1 1200000 ^p2 1200002) -(make line ^p1 1200002 ^p2 1200003) -(make line ^p1 1200003 ^p2 1200004) -(make line ^p1 1200004 ^p2 1240004) -(make line ^p1 1240004 ^p2 1240000) -(make line ^p1 1240000 ^p2 1250001) -(make line ^p1 1250001 ^p2 1250002) -(make line ^p1 1250002 ^p2 1250003) -(make line ^p1 1250003 ^p2 1250005) -(make line ^p1 1250005 ^p2 1240004) -(make line ^p1 1250005 ^p2 1230005) -(make line ^p1 1230005 ^p2 1220005) -(make line ^p1 1220005 ^p2 1210005) -(make line ^p1 1210005 ^p2 1200004) -(make line ^p1 1260000 ^p2 1280000) -(make line ^p1 1280000 ^p2 1290000) -(make line ^p1 1290000 ^p2 1300000) -(make line ^p1 1260000 ^p2 1260002) -(make line ^p1 1260002 ^p2 1260003) -(make line ^p1 1260003 ^p2 1260004) -(make line ^p1 1260004 ^p2 1300004) -(make line ^p1 1300004 ^p2 1300000) -(make line ^p1 1300000 ^p2 1310001) -(make line ^p1 1310001 ^p2 1310002) -(make line ^p1 1310002 ^p2 1310003) -(make line ^p1 1310003 ^p2 1310005) -(make line ^p1 1310005 ^p2 1300004) -(make line ^p1 1310005 ^p2 1290005) -(make line ^p1 1290005 ^p2 1280005) -(make line ^p1 1280005 ^p2 1270005) -(make line ^p1 1270005 ^p2 1260004) -(make line ^p1 1200006 ^p2 1220006) -(make line ^p1 1220006 ^p2 1230006) -(make line ^p1 1230006 ^p2 1240006) -(make line ^p1 1200006 ^p2 1200008) -(make line ^p1 1200008 ^p2 1200009) -(make line ^p1 1200009 ^p2 1200010) -(make line ^p1 1200010 ^p2 1240010) -(make line ^p1 1240010 ^p2 1240006) -(make line ^p1 1240006 ^p2 1250007) -(make line ^p1 1250007 ^p2 1250008) -(make line ^p1 1250008 ^p2 1250009) -(make line ^p1 1250009 ^p2 1250011) -(make line ^p1 1250011 ^p2 1240010) -(make line ^p1 1250011 ^p2 1230011) -(make line ^p1 1230011 ^p2 1220011) -(make line ^p1 1220011 ^p2 1210011) -(make line ^p1 1210011 ^p2 1200010) -(make line ^p1 1260006 ^p2 1280006) -(make line ^p1 1280006 ^p2 1290006) -(make line ^p1 1290006 ^p2 1300006) -(make line ^p1 1260006 ^p2 1260008) -(make line ^p1 1260008 ^p2 1260009) -(make line ^p1 1260009 ^p2 1260010) -(make line ^p1 1260010 ^p2 1300010) -(make line ^p1 1300010 ^p2 1300006) -(make line ^p1 1300006 ^p2 1310007) -(make line ^p1 1310007 ^p2 1310008) -(make line ^p1 1310008 ^p2 1310009) -(make line ^p1 1310009 ^p2 1310011) -(make line ^p1 1310011 ^p2 1300010) -(make line ^p1 1310011 ^p2 1290011) -(make line ^p1 1290011 ^p2 1280011) -(make line ^p1 1280011 ^p2 1270011) -(make line ^p1 1270011 ^p2 1260010) -(make line ^p1 1190003 ^p2 1200003) -(make line ^p1 1170005 ^p2 1170006) -(make line ^p1 1220005 ^p2 1220006) -(make line ^p1 1190008 ^p2 1200008) -(make line ^p1 1370003 ^p2 1380003) -(make line ^p1 1350005 ^p2 1350006) -(make line ^p1 1400005 ^p2 1400006) -(make line ^p1 1370008 ^p2 1380008) -(make line ^p1 1320000 ^p2 1340000) -(make line ^p1 1340000 ^p2 1350000) -(make line ^p1 1350000 ^p2 1360000) -(make line ^p1 1320000 ^p2 1320002) -(make line ^p1 1320002 ^p2 1320003) -(make line ^p1 1320003 ^p2 1320004) -(make line ^p1 1320004 ^p2 1360004) -(make line ^p1 1360004 ^p2 1360000) -(make line ^p1 1360000 ^p2 1370001) -(make line ^p1 1370001 ^p2 1370002) -(make line ^p1 1370002 ^p2 1370003) -(make line ^p1 1370003 ^p2 1370005) -(make line ^p1 1370005 ^p2 1360004) -(make line ^p1 1370005 ^p2 1350005) -(make line ^p1 1350005 ^p2 1340005) -(make line ^p1 1340005 ^p2 1330005) -(make line ^p1 1330005 ^p2 1320004) -(make line ^p1 1380000 ^p2 1400000) -(make line ^p1 1400000 ^p2 1410000) -(make line ^p1 1410000 ^p2 1420000) -(make line ^p1 1380000 ^p2 1380002) -(make line ^p1 1380002 ^p2 1380003) -(make line ^p1 1380003 ^p2 1380004) -(make line ^p1 1380004 ^p2 1420004) -(make line ^p1 1420004 ^p2 1420000) -(make line ^p1 1420000 ^p2 1430001) -(make line ^p1 1430001 ^p2 1430002) -(make line ^p1 1430002 ^p2 1430003) -(make line ^p1 1430003 ^p2 1430005) -(make line ^p1 1430005 ^p2 1420004) -(make line ^p1 1430005 ^p2 1410005) -(make line ^p1 1410005 ^p2 1400005) -(make line ^p1 1400005 ^p2 1390005) -(make line ^p1 1390005 ^p2 1380004) -(make line ^p1 1320006 ^p2 1340006) -(make line ^p1 1340006 ^p2 1350006) -(make line ^p1 1350006 ^p2 1360006) -(make line ^p1 1320006 ^p2 1320008) -(make line ^p1 1320008 ^p2 1320009) -(make line ^p1 1320009 ^p2 1320010) -(make line ^p1 1320010 ^p2 1360010) -(make line ^p1 1360010 ^p2 1360006) -(make line ^p1 1360006 ^p2 1370007) -(make line ^p1 1370007 ^p2 1370008) -(make line ^p1 1370008 ^p2 1370009) -(make line ^p1 1370009 ^p2 1370011) -(make line ^p1 1370011 ^p2 1360010) -(make line ^p1 1370011 ^p2 1350011) -(make line ^p1 1350011 ^p2 1340011) -(make line ^p1 1340011 ^p2 1330011) -(make line ^p1 1330011 ^p2 1320010) -(make line ^p1 1380006 ^p2 1400006) -(make line ^p1 1400006 ^p2 1410006) -(make line ^p1 1410006 ^p2 1420006) -(make line ^p1 1380006 ^p2 1380008) -(make line ^p1 1380008 ^p2 1380009) -(make line ^p1 1380009 ^p2 1380010) -(make line ^p1 1380010 ^p2 1420010) -(make line ^p1 1420010 ^p2 1420006) -(make line ^p1 1420006 ^p2 1430007) -(make line ^p1 1430007 ^p2 1430008) -(make line ^p1 1430008 ^p2 1430009) -(make line ^p1 1430009 ^p2 1430011) -(make line ^p1 1430011 ^p2 1420010) -(make line ^p1 1430011 ^p2 1410011) -(make line ^p1 1410011 ^p2 1400011) -(make line ^p1 1400011 ^p2 1390011) -(make line ^p1 1390011 ^p2 1380010) -(make line ^p1 1310003 ^p2 1320003) -(make line ^p1 1290005 ^p2 1290006) -(make line ^p1 1340005 ^p2 1340006) -(make line ^p1 1310008 ^p2 1320008) -(make line ^p1 1490003 ^p2 1500003) -(make line ^p1 1470005 ^p2 1470006) -(make line ^p1 1520005 ^p2 1520006) -(make line ^p1 1490008 ^p2 1500008) -(make line ^p1 1440000 ^p2 1460000) -(make line ^p1 1460000 ^p2 1470000) -(make line ^p1 1470000 ^p2 1480000) -(make line ^p1 1440000 ^p2 1440002) -(make line ^p1 1440002 ^p2 1440003) -(make line ^p1 1440003 ^p2 1440004) -(make line ^p1 1440004 ^p2 1480004) -(make line ^p1 1480004 ^p2 1480000) -(make line ^p1 1480000 ^p2 1490001) -(make line ^p1 1490001 ^p2 1490002) -(make line ^p1 1490002 ^p2 1490003) -(make line ^p1 1490003 ^p2 1490005) -(make line ^p1 1490005 ^p2 1480004) -(make line ^p1 1490005 ^p2 1470005) -(make line ^p1 1470005 ^p2 1460005) -(make line ^p1 1460005 ^p2 1450005) -(make line ^p1 1450005 ^p2 1440004) -(make line ^p1 1500000 ^p2 1520000) -(make line ^p1 1520000 ^p2 1530000) -(make line ^p1 1530000 ^p2 1540000) -(make line ^p1 1500000 ^p2 1500002) -(make line ^p1 1500002 ^p2 1500003) -(make line ^p1 1500003 ^p2 1500004) -(make line ^p1 1500004 ^p2 1540004) -(make line ^p1 1540004 ^p2 1540000) -(make line ^p1 1540000 ^p2 1550001) -(make line ^p1 1550001 ^p2 1550002) -(make line ^p1 1550002 ^p2 1550003) -(make line ^p1 1550003 ^p2 1550005) -(make line ^p1 1550005 ^p2 1540004) -(make line ^p1 1550005 ^p2 1530005) -(make line ^p1 1530005 ^p2 1520005) -(make line ^p1 1520005 ^p2 1510005) -(make line ^p1 1510005 ^p2 1500004) -(make line ^p1 1440006 ^p2 1460006) -(make line ^p1 1460006 ^p2 1470006) -(make line ^p1 1470006 ^p2 1480006) -(make line ^p1 1440006 ^p2 1440008) -(make line ^p1 1440008 ^p2 1440009) -(make line ^p1 1440009 ^p2 1440010) -(make line ^p1 1440010 ^p2 1480010) -(make line ^p1 1480010 ^p2 1480006) -(make line ^p1 1480006 ^p2 1490007) -(make line ^p1 1490007 ^p2 1490008) -(make line ^p1 1490008 ^p2 1490009) -(make line ^p1 1490009 ^p2 1490011) -(make line ^p1 1490011 ^p2 1480010) -(make line ^p1 1490011 ^p2 1470011) -(make line ^p1 1470011 ^p2 1460011) -(make line ^p1 1460011 ^p2 1450011) -(make line ^p1 1450011 ^p2 1440010) -(make line ^p1 1500006 ^p2 1520006) -(make line ^p1 1520006 ^p2 1530006) -(make line ^p1 1530006 ^p2 1540006) -(make line ^p1 1500006 ^p2 1500008) -(make line ^p1 1500008 ^p2 1500009) -(make line ^p1 1500009 ^p2 1500010) -(make line ^p1 1500010 ^p2 1540010) -(make line ^p1 1540010 ^p2 1540006) -(make line ^p1 1540006 ^p2 1550007) -(make line ^p1 1550007 ^p2 1550008) -(make line ^p1 1550008 ^p2 1550009) -(make line ^p1 1550009 ^p2 1550011) -(make line ^p1 1550011 ^p2 1540010) -(make line ^p1 1550011 ^p2 1530011) -(make line ^p1 1530011 ^p2 1520011) -(make line ^p1 1520011 ^p2 1510011) -(make line ^p1 1510011 ^p2 1500010) -(make line ^p1 1430003 ^p2 1440003) -(make line ^p1 1410005 ^p2 1410006) -(make line ^p1 1460005 ^p2 1460006) -(make line ^p1 1430008 ^p2 1440008) |
From: <jbo...@li...> - 2006-04-29 20:53:16
|
Author: mar...@jb... Date: 2006-04-29 16:53:11 -0400 (Sat, 29 Apr 2006) New Revision: 4008 Removed: labs/jbossrules/trunk/drools-examples/src/main/java/com/ Log: -removed com.sample as its all moved to org.drools. |
From: <jbo...@li...> - 2006-04-28 14:04:41
|
Author: wrzep Date: 2006-04-28 10:04:34 -0400 (Fri, 28 Apr 2006) New Revision: 4006 Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForge.jsp labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForgeNew.jsp Log: JBLAB-599 Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForge.jsp =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForge.jsp 2006-04-28 14:03:29 UTC (rev 4005) +++ labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForge.jsp 2006-04-28 14:04:34 UTC (rev 4006) @@ -20,7 +20,7 @@ <link rel="stylesheet" href="/file-access/default/theme/css/jboss-forge.css" type="text/css" media="all" /> <link rel="stylesheet" href="/file-access/default/theme/css/jboss-forge-forums.css" type="text/css" media="all" /> <link rel="stylesheet" href="/file-access/default/theme/css/portlet.css" type="text/css" media="all" /> -<link rel="stylesheet" href="/file-access/default/theme/css/graphs.css" type="text/css" media="all" /> +<!-- <link rel="stylesheet" href="/file-access/default/theme/css/graphs.css" type="text/css" media="all" /> --> <link rel="stylesheet" href="/file-access/default/theme/css/podcasts.css" type="text/css" media="all" /> <link rel="stylesheet" href="/file-access/default/theme/css/primates.css" type="text/css" media="all" /> Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForgeNew.jsp =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForgeNew.jsp 2006-04-28 14:03:29 UTC (rev 4005) +++ labs/jbosslabs/trunk/portal-extensions/forge-theme/jbossForgeLayout.war/layouts/jbossForgeNew.jsp 2006-04-28 14:04:34 UTC (rev 4006) @@ -20,7 +20,7 @@ <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/jboss-forge.css" type="text/css" media="all" /> <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/jboss-forge-forums.css" type="text/css" media="all" /> <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/portlet.css" type="text/css" media="all" /> -<link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/graphs.css" type="text/css" media="all" /> +<!-- <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/graphs.css" type="text/css" media="all" /> --> <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/podcasts.css" type="text/css" media="all" /> <link rel="stylesheet" href="/jbossForge/repo-access/default/theme/css/primates.css" type="text/css" media="all" /> |
From: <jbo...@li...> - 2006-04-28 14:03:39
|
Author: arvinder Date: 2006-04-28 10:03:29 -0400 (Fri, 28 Apr 2006) New Revision: 4005 Modified: labs/jbossesb/branches/JBESB-13/Developer.txt Log: Added instructions Modified: labs/jbossesb/branches/JBESB-13/Developer.txt =================================================================== --- labs/jbossesb/branches/JBESB-13/Developer.txt 2006-04-28 11:39:54 UTC (rev 4004) +++ labs/jbossesb/branches/JBESB-13/Developer.txt 2006-04-28 14:03:29 UTC (rev 4005) @@ -9,3 +9,34 @@ Any classes which occur within an 'internal' package are not meant for users. Changes to these classes can occur without notice and deprecation markers. + + +Instructions +------------ + +From branch JBESB-13 + +1) Check it out +2) set JBOSS_HOME (this needs to be jboss-4.0.3SP1) +3) From svc/jbossesb/branches/JBESB-13 run + +ant standalone + +4) cd JBOSS_HOME/bin + +run -c esb + +5) From svc/jbossesb/branches/JBESB-13 run + +ant deploy + +Check jboss for the sar deployment. + +6) To run a standalone test, from svc/jbossesb/branches/JBESB-13 run + +ant test (this will indirectly call the QA/build.xml) + +This will compile/pickup any *Test.class file and run it +producing a report, see build/tests/reports/junit-noframes.html or +index.html + |
From: <jbo...@li...> - 2006-04-28 11:40:01
|
Author: mic...@jb... Date: 2006-04-28 07:39:54 -0400 (Fri, 28 Apr 2006) New Revision: 4004 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-XML.xml Log: updates Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-XML.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-XML.xml 2006-04-28 10:48:46 UTC (rev 4003) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-XML.xml 2006-04-28 11:39:54 UTC (rev 4004) @@ -241,6 +241,24 @@ </section> </section> + <section> + <title>Automatic transforming between formats (XML and DRL)</title> + + <para>Drools comes with some utility classes to transform between formats. + This works by parsing the rules from the source format into the AST, and + then "dumping" out to the appropriate target format. This allows you, for + example, to write rules in DRL, and when needed, export to XML if + necessary at some point in the future.</para> + + <para>The classes to look at if you need to do this are: <programlisting>XmlDumper - for exporting XML. +DrlDumper - for exporting DRL. +DrlParser - reading DRL. +XmlPackageReader - reading XML. +</programlisting> Using combinations of the above, you can convert between any + format (including round trip). Note that DSLs will not be preserved (from + DRLs that are using a DSL) - but they will be able to be converted.</para> + </section> + <para>Feel free to make use of XSLT to provide all sorts of possibilities for XML, XSLT and its ilk are what make XML powerful.</para> </section> \ No newline at end of file |
Author: mic...@jb... Date: 2006-04-28 06:48:46 -0400 (Fri, 28 Apr 2006) New Revision: 4003 Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/DumperTest.java labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_comparable.drl labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_Dump.drl Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/multiple_bindings.drl labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java Log: test coverage for dumper, comparable support Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -36,7 +36,7 @@ if ( this.descrs == Collections.EMPTY_LIST ) { this.descrs = new ArrayList( 1 ); } -//MN: No pattern combining just yet +//MN: No pattern combining ?? // if ( patternDescr instanceof ColumnDescr ) { // addColumn( (ColumnDescr) patternDescr ); // } else { Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -26,9 +26,9 @@ import org.drools.util.ReflectiveVisitor; /** - * + * This utility will take a AST of a rule package, and emit XML. + * This can be used in porting from DRL to XML. * @author <a href="mailto:jay...@gm...">Author Jayaram C S</a> - * */ public class XmlDumper extends ReflectiveVisitor implements Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -16,6 +16,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import java.math.BigDecimal; +import java.math.BigInteger; @@ -23,6 +25,8 @@ private final String name; private final String likes; private final int age; + private BigDecimal bigDecimal; + private BigInteger bigInteger; private char sex; @@ -118,4 +122,24 @@ if ( sex != other.sex ) return false; return true; } + + + public BigDecimal getBigDecimal() { + return bigDecimal; + } + + + public void setBigDecimal(BigDecimal bigDecimal) { + this.bigDecimal = bigDecimal; + } + + + public BigInteger getBigInteger() { + return bigInteger; + } + + + public void setBigInteger(BigInteger bigInteger) { + this.bigInteger = bigInteger; + } } \ No newline at end of file Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -25,6 +25,7 @@ import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.Reader; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -67,6 +68,7 @@ protected abstract RuleBase getRuleBase() throws Exception; public void testGlobals() throws Exception { + PackageBuilder builder = new PackageBuilder(); builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "globals_rule_test.drl" ) ) ); Package pkg = builder.getPackage(); @@ -214,7 +216,33 @@ assertEquals( bill, list.get( 0 ) ); } + + public void testBigDecimal() throws Exception { + + PackageBuilder builder = new PackageBuilder(); + builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "big_decimal_and_comparable.drl" ) ) ); + Package pkg = builder.getPackage(); + RuleBase ruleBase = getRuleBase(); + ruleBase.addPackage( pkg ); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + List list = new ArrayList(); + workingMemory.setGlobal( "list", + list ); + + Person bill = new Person( "bill", + null, + 12 ); + bill.setBigDecimal( new BigDecimal("42") ); + workingMemory.assertObject( new BigDecimal("43") ); + workingMemory.assertObject( bill ); + workingMemory.fireAllRules(); + + assertEquals( 1, + list.size() ); + } + public void testCell() throws Exception { Cell cell1 = new Cell( 9 ); Cell cell = new Cell( 0 ); Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -388,12 +388,14 @@ /** Note this is only to be enabled if we agree to combine patterns from columns bound to the same var. * At present, not a valid test. Refer to AndDescr and AndDescrTest (Michael Neale). */ - public void xxxtestMultiBindings() throws Exception { + public void XXXtestMultiBindings() throws Exception { RuleDescr rule = parseResource( "multiple_bindings.drl" ).rule(); assertNotNull( rule ); assertEquals( "simple_rule", rule.getName() ); - assertEquals(1, rule.getLhs().getDescrs().size()); + assertEquals(2, rule.getLhs().getDescrs().size()); + assertEquals("foo", ( (ColumnDescr) rule.getLhs().getDescrs().get( 0 )).getIdentifier()); + assertEquals("baz", ( (ColumnDescr) rule.getLhs().getDescrs().get( 1 )).getIdentifier()); } Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/DumperTest.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/DumperTest.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/DumperTest.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -0,0 +1,117 @@ +package org.drools.xml; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; + +import junit.framework.TestCase; + +import org.drools.compiler.DrlParser; +import org.drools.lang.DrlDumper; +import org.drools.lang.descr.PackageDescr; +import org.drools.lang.descr.RuleDescr; + +/** + * Test the dump/convert format utilities. + * @author Michael Neale + */ +public class DumperTest extends TestCase { + + public void testRoundTripXml() throws Exception { + + XmlPackageReader xmlPackageReader = new XmlPackageReader(); + xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseRule.xml" ) ) ); + PackageDescr pkgOriginal = xmlPackageReader.getPackageDescr(); + + XmlDumper dumper = new XmlDumper(); + String result = dumper.dump( pkgOriginal ); + assertNotNull( result ); + + //now lest slurp it back up + xmlPackageReader = new XmlPackageReader(); + PackageDescr pkgDumped = xmlPackageReader.read( new StringReader( result ) ); + + assertEquals( pkgOriginal.getName(), + pkgDumped.getName() ); + assertEquals( pkgOriginal.getFunctions().size(), + pkgDumped.getFunctions().size() ); + assertEquals( pkgOriginal.getRules().size(), + pkgDumped.getRules().size() ); + assertEquals( pkgOriginal.getGlobals().size(), + pkgDumped.getGlobals().size() ); + + RuleDescr ruleOriginal = (RuleDescr) pkgOriginal.getRules().get( 0 ); + RuleDescr ruleDumped = (RuleDescr) pkgDumped.getRules().get( 0 ); + + assertEquals( ruleOriginal.getName(), + ruleDumped.getName() ); + + assertEquals( ruleOriginal.getLhs().getDescrs().size(), + ruleDumped.getLhs().getDescrs().size() ); + assertEquals( ruleOriginal.getConsequence(), + ruleDumped.getConsequence() ); + + } + + public void testRoundTripDrl() throws Exception { + + DrlParser parser = new DrlParser(); + PackageDescr pkgOriginal = parser.parse( new InputStreamReader( getClass().getResourceAsStream( "test_Dump.drl" ) )); + DrlDumper dumper = new DrlDumper(); + String result = dumper.dump( pkgOriginal ); + assertNotNull(result); + + parser = new DrlParser(); + PackageDescr pkgDumped = parser.parse( new StringReader(result) ); + + assertEquals( pkgOriginal.getName(), + pkgDumped.getName() ); + assertEquals( pkgOriginal.getFunctions().size(), + pkgDumped.getFunctions().size() ); + assertEquals( pkgOriginal.getRules().size(), + pkgDumped.getRules().size() ); + assertEquals( pkgOriginal.getGlobals().size(), + pkgDumped.getGlobals().size() ); + + RuleDescr ruleOriginal = (RuleDescr) pkgOriginal.getRules().get( 0 ); + RuleDescr ruleDumped = (RuleDescr) pkgDumped.getRules().get( 0 ); + + assertEquals( ruleOriginal.getName(), + ruleDumped.getName() ); + + assertEquals( ruleOriginal.getLhs().getDescrs().size(), + ruleDumped.getLhs().getDescrs().size() ); + assertEquals( ruleOriginal.getConsequence(), + ruleDumped.getConsequence() ); + + + } + + private void assertEqualsIgnoreWhitespace(String expected, + String actual) { + String cleanExpected = expected.replaceAll( "\\s+", + "" ); + String cleanActual = actual.replaceAll( "\\s+", + "" ); + + assertEquals( cleanExpected, + cleanActual ); + } + + private String readFile(String file) throws IOException { + InputStreamReader reader = new InputStreamReader( getClass().getResourceAsStream( file ) ); + + StringBuffer text = new StringBuffer(); + + char[] buf = new char[1024]; + int len = 0; + + while ( (len = reader.read( buf )) >= 0 ) { + text.append( buf, + 0, + len ); + } + return text.toString(); + } + +} Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/DumperTest.java ___________________________________________________________________ Name: svn:eol-style + native Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_comparable.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_comparable.drl 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_comparable.drl 2006-04-28 10:48:46 UTC (rev 4003) @@ -0,0 +1,16 @@ +#created on: 27-Mar-2006 +package org.drools.test + +import org.drools.Person; +import java.math.BigDecimal; + +global java.util.List list; + +rule "BigDec" + + when + b : BigDecimal() + p : Person(bigDecimal < b) + then + list.add( p ); +end Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_comparable.drl ___________________________________________________________________ Name: svn:eol-style + native Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/multiple_bindings.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/multiple_bindings.drl 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/multiple_bindings.drl 2006-04-28 10:48:46 UTC (rev 4003) @@ -2,7 +2,8 @@ rule simple_rule when foo : Bar(a==3) - foo : Bar(a!=4) + foo : Bar(a!=4) + baz : Bar(a==3) then Baz(); end \ No newline at end of file Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_Dump.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_Dump.drl 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_Dump.drl 2006-04-28 10:48:46 UTC (rev 4003) @@ -0,0 +1,15 @@ +package foo + +rule simple_rule + when + foo3 : Bar(a==3) + foo4 : Bar(a4:a==4) + Baz() + then + if ( a == b ) { + assert( foo3 ); + } else { + retract( foo4 ); + } + System.out.println( a4 ); +end \ No newline at end of file Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_Dump.drl ___________________________________________________________________ Name: svn:eol-style + native Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -1,4 +1,5 @@ package org.drools.base.evaluators; + /* * Copyright 2005 JBoss Inc * @@ -15,8 +16,8 @@ * limitations under the License. */ - - +import java.lang.reflect.Array; +import java.util.Arrays; import java.util.Collection; import org.drools.base.BaseEvaluator; @@ -27,6 +28,10 @@ * It is fairly limited in operations, * and what operations are available are dependent on the exact type. * + * This supports "<" and ">" etc by requiring objects to implement the comparable interface. + * Of course, literals will not work with comparator, as it has no way + * of converting from literal to the appropriate type. + * * @author Michael Neale */ public class ObjectFactory { @@ -39,6 +44,14 @@ return ObjectNotEqualEvaluator.INSTANCE; case Evaluator.CONTAINS : return ObjectContainsEvaluator.INSTANCE; + case Evaluator.LESS : + return ObjectLessEvaluator.INSTANCE; + case Evaluator.LESS_OR_EQUAL : + return ObjectLessOrEqualEvaluator.INSTANCE; + case Evaluator.GREATER : + return ObjectGreaterEvaluator.INSTANCE; + case Evaluator.GREATER_OR_EQUAL : + return ObjectGreaterOrEqualEvaluator.INSTANCE; default : throw new RuntimeException( "Operator '" + operator + "' does not exist for ObjectEvaluator" ); } @@ -82,6 +95,83 @@ } } + static class ObjectLessEvaluator extends BaseEvaluator { + public final static Evaluator INSTANCE = new ObjectLessEvaluator(); + + private ObjectLessEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.LESS ); + } + + public boolean evaluate(Object object1, + Object object2) { + Comparable comp = (Comparable) object1; + int val = comp.compareTo( object2 ); + return val < 0; + } + + public String toString() { + return "Object <"; + } + } + + static class ObjectLessOrEqualEvaluator extends BaseEvaluator { + public final static Evaluator INSTANCE = new ObjectLessOrEqualEvaluator(); + + private ObjectLessOrEqualEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.LESS_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + Comparable comp = (Comparable) object1; + return comp.compareTo( object2 ) <= 0; + } + + public String toString() { + return "Object <="; + } + } + + static class ObjectGreaterEvaluator extends BaseEvaluator { + public final static Evaluator INSTANCE = new ObjectGreaterEvaluator(); + + private ObjectGreaterEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.GREATER ); + } + + public boolean evaluate(Object object1, + Object object2) { + Comparable comp = (Comparable) object1; + return comp.compareTo( object2 ) > 0; + } + + public String toString() { + return "Object >"; + } + } + + static class ObjectGreaterOrEqualEvaluator extends BaseEvaluator { + public final static Evaluator INSTANCE = new ObjectGreaterOrEqualEvaluator(); + + private ObjectGreaterOrEqualEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.GREATER_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + Comparable comp = (Comparable) object1; + return comp.compareTo( object2 ) >= 0; + } + + public String toString() { + return "Object >="; + } + } + static class ObjectContainsEvaluator extends BaseEvaluator { public final static Evaluator INSTANCE = new ObjectContainsEvaluator(); @@ -93,8 +183,6 @@ public boolean evaluate(Object object1, Object object2) { if ( object2 == null ) return false; - - //TODO: add support for hashes, normal arrays etc Collection col = (Collection) object1; return col.contains( object2 ); } Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java 2006-04-27 22:55:32 UTC (rev 4002) +++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java 2006-04-28 10:48:46 UTC (rev 4003) @@ -17,6 +17,8 @@ +import java.math.BigDecimal; +import java.math.BigInteger; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -38,8 +40,18 @@ list.add( "foo" ); Object[][] data = {{"foo", "==", "bar", Boolean.FALSE}, {"foo", "==", "foo", Boolean.TRUE}, {"foo", "!=", "bar", Boolean.TRUE}, {list, "contains", "foo", Boolean.TRUE}, {list, "contains", "bar", Boolean.FALSE}, - {list, "==", null, Boolean.FALSE}, {list, "!=", null, Boolean.TRUE}, {null, "==", null, Boolean.TRUE}}; - + {list, "==", null, Boolean.FALSE}, + {list, "!=", null, Boolean.TRUE}, + {null, "==", null, Boolean.TRUE}, + {new BigDecimal("42.42"), "<", new BigDecimal("43"), Boolean.TRUE}, + {new BigDecimal("42.42"), ">", new BigDecimal("43"), Boolean.FALSE}, + {new BigDecimal("42.42"), "<=", new BigDecimal("42.42"), Boolean.TRUE}, + {new BigInteger("42"), ">=", new BigInteger("43"), Boolean.FALSE} + + + + }; + runEvaluatorTest( data, Evaluator.OBJECT_TYPE ); @@ -49,8 +61,12 @@ Object[] field = new Object[]{"foo", "bar"}; - Object[][] data = {{field, "==", new Object[]{"foo"}, Boolean.FALSE}, {field, "==", field, Boolean.TRUE}, {field, "!=", new Object[]{"foo"}, Boolean.TRUE}, {field, "contains", "foo", Boolean.TRUE}, {field, "!=", null, Boolean.TRUE}, - {field, "==", null, Boolean.FALSE}}; + Object[][] data = {{field, "==", new Object[]{"foo"}, Boolean.FALSE}, + {field, "==", field, Boolean.TRUE}, + {field, "!=", new Object[]{"foo"}, Boolean.TRUE}, + {field, "contains", "foo", Boolean.TRUE}, + {field, "!=", null, Boolean.TRUE}, + {field, "==", null, Boolean.FALSE}}; runEvaluatorTest( data, Evaluator.ARRAY_TYPE ); |
From: <jbo...@li...> - 2006-04-27 22:55:35
|
Author: KrisVerlaenen Date: 2006-04-27 18:55:32 -0400 (Thu, 27 Apr 2006) New Revision: 4002 Modified: labs/jbossrules/trunk/drools-ide/.classpath labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF Log: Updated dependent jars Modified: labs/jbossrules/trunk/drools-ide/.classpath =================================================================== --- labs/jbossrules/trunk/drools-ide/.classpath 2006-04-27 22:39:32 UTC (rev 4001) +++ labs/jbossrules/trunk/drools-ide/.classpath 2006-04-27 22:55:32 UTC (rev 4002) @@ -8,8 +8,8 @@ <classpathentry kind="lib" path="lib/drools-compiler.jar"/> <classpathentry kind="lib" path="lib/drools-core.jar"/> <classpathentry kind="lib" path="lib/commons-lang-2.1.jar"/> - <classpathentry kind="lib" path="lib/antlr3-3.0ea8.jar"/> <classpathentry kind="lib" path="lib/junit-3.8.1.jar"/> <classpathentry kind="lib" path="lib/jci-SNAPSHOT-378493+patch4.jar"/> + <classpathentry kind="lib" path="lib/antlr-3.0ea8.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF =================================================================== --- labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-04-27 22:39:32 UTC (rev 4001) +++ labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-04-27 22:55:32 UTC (rev 4002) @@ -31,19 +31,19 @@ Eclipse-LazyStart: true Bundle-ClassPath: ide.jar, lib/antlr-2.7.6.jar, - lib/antlr3-3.0ea8.jar, + lib/antlr-3.0ea8.jar, lib/colt-1.2.0.jar, lib/commons-collections-3.1.jar, lib/commons-lang-2.1.jar, lib/commons-logging-api-1.0.4.jar, lib/concurrent-1.3.4.jar, + lib/core-3.2.0.658.jar, lib/drools-compiler.jar, lib/drools-core.jar, + lib/jci-SNAPSHOT-378493+patch4.jar, lib/jung-1.7.2.jar, lib/stringtemplate-2.3b6.jar, lib/xercesImpl-2.6.2.jar, - lib/xstream-1.1.3.jar, + lib/xml-apis-1.0.b2.jar, lib/xpp3-1.1.3.4.O.jar, - lib/xml-apis-1.0.b2.jar, - lib/jci-SNAPSHOT-378493+patch4.jar, - lib/jdtcore-3.2.0.v_658.jar + lib/xstream-1.1.3.jar |
From: <jbo...@li...> - 2006-04-27 22:39:36
|
Author: mar...@jb... Date: 2006-04-27 18:39:32 -0400 (Thu, 27 Apr 2006) New Revision: 4001 Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java Log: -Tests need to manually call propagateQueuedActions Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 21:33:30 UTC (rev 4000) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 22:39:32 UTC (rev 4001) @@ -750,7 +750,7 @@ } } - private void propagateQueuedActions() { + void propagateQueuedActions() { for ( Iterator it = this.factQueue.iterator(); it.hasNext(); ) { WorkingMemoryAction action = (WorkingMemoryAction) it.next(); it.remove(); Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java 2006-04-27 21:33:30 UTC (rev 4000) +++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java 2006-04-27 22:39:32 UTC (rev 4001) @@ -84,6 +84,8 @@ node.retractTuple( tuple1, context1, workingMemory ); + + workingMemory.propagateQueuedActions(); assertLength( 1, sink.getRetracted() ); @@ -110,6 +112,8 @@ node.retractTuple( tuple1, context1, workingMemory ); + + workingMemory.propagateQueuedActions(); assertLength( 2, sink.getRetracted() ); @@ -498,6 +502,8 @@ node.retractTuple( tuple1, context1, workingMemory ); + + workingMemory.propagateQueuedActions(); // Should cause the logical fact to be retracted assertLength( 1, |
From: <jbo...@li...> - 2006-04-27 21:33:38
|
Author: mar...@jb... Date: 2006-04-27 17:33:30 -0400 (Thu, 27 Apr 2006) New Revision: 4000 Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ReflectiveVisitor.java Removed: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReflectiveVisitor.java Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java Log: JBRULES-240 XMLDump and DRLDump creators -moved ReflectiveVisitor to util Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReflectiveVisitor.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReflectiveVisitor.java 2006-04-27 21:31:33 UTC (rev 3999) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReflectiveVisitor.java 2006-04-27 21:33:30 UTC (rev 4000) @@ -1,98 +0,0 @@ -package org.drools.reteoo; - -/* - * Copyright 2005 JBoss Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.lang.reflect.Method; - -import org.drools.Visitor; - -/** - * Java Tip 98: Reflect on the Visitor design pattern. Implement visitors in - * Java, using reflection. - * http://www.javaworld.com/javaworld/javatips/jw-javatip98.html - * - * @author Jeremy Blosser - */ -public abstract class ReflectiveVisitor - implements - Visitor { - static final String newline = System.getProperty( "line.separator" ); - - public void visit(Object object) { - try { - if ( object != null ) { - Method method = getMethod( object.getClass() ); - method.invoke( this, - new Object[]{object} ); - } else { - Method method = getClass().getMethod( "visitNull", - (Class[]) null ); - method.invoke( this, - (Object[]) null ); - } - } catch ( Exception e ) { - e.printStackTrace(); - } - } - - private Method getMethod(Class clazz) { - Class newClazz = clazz; - Method method = null; - - // Try the superclasses - while ( method == null && newClazz != Object.class ) { - String methodName = newClazz.getName(); - methodName = "visit" + methodName.substring( methodName.lastIndexOf( '.' ) + 1 ); - try { - method = getClass().getMethod( methodName, - new Class[]{newClazz} ); - } catch ( NoSuchMethodException e ) { - newClazz = newClazz.getSuperclass(); - } - } - - // Try the interfaces. - if ( newClazz == Object.class ) { - Class[] interfaces = clazz.getInterfaces(); - for ( int i = 0; i < interfaces.length; i++ ) { - String methodName = interfaces[i].getName(); - methodName = "visit" + methodName.substring( methodName.lastIndexOf( '.' ) + 1 ); - try { - method = getClass().getMethod( methodName, - new Class[]{interfaces[i]} ); - } catch ( NoSuchMethodException e ) { - // swallow - } - } - } - if ( method == null ) { - try { - method = getClass().getMethod( "visitObject", - new Class[]{Object.class} ); - } catch ( Exception e ) { - // Shouldn't happen as long as all Visitors extend this class - // and this class continues to implement visitObject(Object). - e.printStackTrace(); - } - } - return method; - } - - public void visitObject(Object object) { - System.err.println( "no visitor implementation for : " + object.getClass() + " : " + object ); - } -} Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java 2006-04-27 21:31:33 UTC (rev 3999) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooToJungVisitor.java 2006-04-27 21:33:30 UTC (rev 4000) @@ -25,6 +25,7 @@ import org.drools.rule.LiteralConstraint; import org.drools.spi.FieldValue; +import org.drools.util.ReflectiveVisitor; import org.drools.visualize.ReteooJungViewer.DroolsVertex; import edu.uci.ics.jung.graph.Graph; Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ReflectiveVisitor.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ReflectiveVisitor.java 2006-04-27 21:31:33 UTC (rev 3999) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ReflectiveVisitor.java 2006-04-27 21:33:30 UTC (rev 4000) @@ -0,0 +1,98 @@ +package org.drools.util; + +/* + * Copyright 2005 JBoss Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.lang.reflect.Method; + +import org.drools.Visitor; + +/** + * Java Tip 98: Reflect on the Visitor design pattern. Implement visitors in + * Java, using reflection. + * http://www.javaworld.com/javaworld/javatips/jw-javatip98.html + * + * @author Jeremy Blosser + */ +public abstract class ReflectiveVisitor + implements + Visitor { + static final String newline = System.getProperty( "line.separator" ); + + public void visit(Object object) { + try { + if ( object != null ) { + Method method = getMethod( object.getClass() ); + method.invoke( this, + new Object[]{object} ); + } else { + Method method = getClass().getMethod( "visitNull", + (Class[]) null ); + method.invoke( this, + (Object[]) null ); + } + } catch ( Exception e ) { + e.printStackTrace(); + } + } + + private Method getMethod(Class clazz) { + Class newClazz = clazz; + Method method = null; + + // Try the superclasses + while ( method == null && newClazz != Object.class ) { + String methodName = newClazz.getName(); + methodName = "visit" + methodName.substring( methodName.lastIndexOf( '.' ) + 1 ); + try { + method = getClass().getMethod( methodName, + new Class[]{newClazz} ); + } catch ( NoSuchMethodException e ) { + newClazz = newClazz.getSuperclass(); + } + } + + // Try the interfaces. + if ( newClazz == Object.class ) { + Class[] interfaces = clazz.getInterfaces(); + for ( int i = 0; i < interfaces.length; i++ ) { + String methodName = interfaces[i].getName(); + methodName = "visit" + methodName.substring( methodName.lastIndexOf( '.' ) + 1 ); + try { + method = getClass().getMethod( methodName, + new Class[]{interfaces[i]} ); + } catch ( NoSuchMethodException e ) { + // swallow + } + } + } + if ( method == null ) { + try { + method = getClass().getMethod( "visitObject", + new Class[]{Object.class} ); + } catch ( Exception e ) { + // Shouldn't happen as long as all Visitors extend this class + // and this class continues to implement visitObject(Object). + e.printStackTrace(); + } + } + return method; + } + + public void visitObject(Object object) { + System.err.println( "no visitor implementation for : " + object.getClass() + " : " + object ); + } +} |
Author: szimano Date: 2006-04-27 17:31:33 -0400 (Thu, 27 Apr 2006) New Revision: 3999 Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/maven.xml labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFDecorationRenderer.java labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml Log: added ability to show windowstate control buttons (just simple text hrefs) JBLAB-667 Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/maven.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-theme/maven.xml 2006-04-27 19:41:56 UTC (rev 3998) +++ labs/jbosslabs/trunk/portal-extensions/forge-theme/maven.xml 2006-04-27 21:31:33 UTC (rev 3999) @@ -27,7 +27,7 @@ </goal> <goal name="deploy"> - <ant:copy todir="../${forge.sar.dir}/target" overwrite="true"> + <ant:copy todir="${local.deploy.dir}" overwrite="true"> <ant:fileset dir="."> <ant:include name="jbossForgeLayout.war/**" /> </ant:fileset> Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFDecorationRenderer.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFDecorationRenderer.java 2006-04-27 19:41:56 UTC (rev 3998) +++ labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFDecorationRenderer.java 2006-04-27 21:31:33 UTC (rev 3999) @@ -13,6 +13,7 @@ import java.util.Iterator; import org.jboss.logging.Logger; +import org.jboss.portal.theme.ThemeException; import org.jboss.portal.theme.page.PortletContext; import org.jboss.portal.theme.page.WindowResult; import org.jboss.portal.theme.render.DecorationRenderer; @@ -21,68 +22,77 @@ /** * @author <a href="mailto:tom...@jb...">Tomasz Szymanski</a> - * + * */ -public class JBFDecorationRenderer - implements DecorationRenderer -{ +public class JBFDecorationRenderer implements DecorationRenderer { + private static final Object SHOW_DECORATION_PORPERTY = "decorationVisible"; + private static Logger log = Logger.getLogger(JBFDecorationRenderer.class); - + /** - * @see org.jboss.portal.theme.render.Renderer#renderStart - */ - public void renderStart(RenderContext ctx) - { - } + * @see org.jboss.portal.theme.render.Renderer#renderStart + */ + public void renderStart(RenderContext ctx) { + } - /** - * @see org.jboss.portal.theme.render.Renderer#renderEnd - */ - public void renderEnd(RenderContext ctx) - { - } + /** + * @see org.jboss.portal.theme.render.Renderer#renderEnd + */ + public void renderEnd(RenderContext ctx) { + } - /** - * @see DecorationRenderer#render - */ - public void render(RenderContext renderContext, PortletContext portletContext, WindowResult result) - throws RenderException - { - /*log.debug("decorate " + result.getTitle()); + /** + * @see DecorationRenderer#render + */ + public void render(RenderContext renderContext, + PortletContext portletContext, WindowResult result) + throws RenderException { + + if (result.getWindowProperties().get(SHOW_DECORATION_PORPERTY) != null + && result.getWindowProperties().get( + SHOW_DECORATION_PORPERTY).equals("true")) { + log.debug("decorate " + result.getTitle()); - StringBuffer markup = renderContext.getMarkupFragment(); - markup.append("<tr><td class=\"portlet-titlebar-left\"></td>"); - markup.append("<td class=\"portlet-titlebar-center\">"); - //renderTitle(renderContext, result); - markup.append("<div class=\"portlet-mode-container\">"); - renderModeAndStateLinks(renderContext, result, "mode"); - renderModeAndStateLinks(renderContext, result, "windowstate"); + //StringBuffer markup = renderContext.getMarkupFragment(); + //markup.append("<tr><td class=\"portlet-titlebar-left\"></td>"); + //markup.append("<td class=\"portlet-titlebar-center\">"); + // renderTitle(renderContext, result); + //markup.append("<div class=\"portlet-mode-container\">"); + renderModeAndStateLinks(renderContext, result, "mode", portletContext); + renderModeAndStateLinks(renderContext, result, "windowstate", portletContext); - markup.append("</div></td><td class=\"portlet-titlebar-right\"></td></tr>"); - - log.debug("decoration is done");*/ - } + //markup + // .append("</div></td><td class=\"portlet-titlebar-right\"></td></tr>"); - private static void renderTitle(RenderContext ctx, WindowResult result) - { - ctx.getMarkupFragment().append("<div class=\"portlet-titlebar-decoration\">"); - ctx.getMarkupFragment().append("<span class=\"portlet-titlebar-title\">"); - ctx.getMarkupFragment().append(result.getTitle()); - ctx.getMarkupFragment().append("</span></div>"); - } + log.debug("decoration is done"); + } + } - private static void renderModeAndStateLinks(RenderContext ctx, WindowResult result, String selector) - { - log.debug("render modes and states"); - Collection modes = result.getTriggerableActions(selector); - for (Iterator i=modes.iterator(); i.hasNext(); ){ - WindowResult.Action action = (WindowResult.Action)i.next(); - if (action.isEnabled()){ - log.debug("action is enabled: " + action.getName()); - ctx.getMarkupFragment().append("<div class=\"portlet-mode-").append(action.getName()); - ctx.getMarkupFragment().append("\" onClick=\"location.href='").append(action.getURL()).append("';\"></div>"); - } - } - } + private static void renderTitle(RenderContext ctx, WindowResult result) { + ctx.getMarkupFragment().append( + "<div class=\"portlet-titlebar-decoration\">"); + ctx.getMarkupFragment().append( + "<span class=\"portlet-titlebar-title\">"); + ctx.getMarkupFragment().append(result.getTitle()); + ctx.getMarkupFragment().append("</span></div>"); + } + + private static void renderModeAndStateLinks(RenderContext ctx, + WindowResult result, String selector, PortletContext portletContext) { + log.debug("render modes and states"); + Collection modes = result.getTriggerableActions(selector); + for (Iterator i = modes.iterator(); i.hasNext();) { + WindowResult.Action action = (WindowResult.Action) i.next(); + + if (action.isEnabled()) { + log.debug("action is enabled: " + action.getName()); + ctx.getMarkupFragment().append("<a class=\"portlet-mode-") + .append(action.getName()); + ctx.getMarkupFragment().append("\" href=\"") + .append(action.getURL()).append("\">").append( + action.getName()).append("</a> "); + } + } + } } Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2006-04-27 19:41:56 UTC (rev 3998) +++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2006-04-27 21:31:33 UTC (rev 3999) @@ -55,8 +55,6 @@ import org.jboss.wiki.exceptions.WikiManagementNotFoundException; import org.jboss.wiki.management.WikiServiceMenagement; -// import org.jboss.forge.common.content.ContentManager; -// import org.jboss.forge.common.ForgeHelper; /** * A filter that enables to download files form the jspwiki structure + Modified: labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml 2006-04-27 19:41:56 UTC (rev 3998) +++ labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml 2006-04-27 21:31:33 UTC (rev 3999) @@ -570,18 +570,36 @@ <instance-ref>RolePortletInstance</instance-ref> <region>center</region> <height>2</height> + <properties> + <property> + <name>decorationVisible</name> + <value>true</value> + </property> + </properties> </window> <window> <window-name>UserPortletWindowDefaultAdmin</window-name> <instance-ref>UserPortletInstance</instance-ref> <region>center</region> <height>0</height> + <properties> + <property> + <name>decorationVisible</name> + <value>true</value> + </property> + </properties> </window> <window> <window-name>ManagementPortletWindowDefaultAdmin</window-name> <instance-ref>ManagementPortletInstance</instance-ref> <region>center</region> <height>1</height> + <properties> + <property> + <name>decorationVisible</name> + <value>true</value> + </property> + </properties> </window> <security-constraint> <policy-permission> |
From: <jbo...@li...> - 2006-04-27 19:42:00
|
Author: wrzep Date: 2006-04-27 15:41:56 -0400 (Thu, 27 Apr 2006) New Revision: 3998 Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml Log: JBLAB-599 missing jars in ejb classpath Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml 2006-04-27 18:46:35 UTC (rev 3997) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml 2006-04-27 19:41:56 UTC (rev 3998) @@ -26,18 +26,8 @@ <ejb.manifest.classpath>true</ejb.manifest.classpath> </properties> </dependency> -<!-- + <dependency> - <groupId>jboss-forge</groupId> - <artifactId>status-common</artifactId> - <jar>status-common.jar</jar> - <properties> - <ejb.manifest.classpath>true</ejb.manifest.classpath> - <war.bundle>true</war.bundle> - </properties> - </dependency> ---> - <dependency> <groupId>aslibs</groupId> <artifactId>javax.servlet</artifactId> <version>1.0</version> @@ -66,6 +56,7 @@ <version>1.0</version> <properties> <war.bundle>true</war.bundle> + <ejb.manifest.classpath>true</ejb.manifest.classpath> </properties> </dependency> @@ -76,6 +67,7 @@ <jar>hessian-3.0.13.jar</jar> <properties> <war.bundle>true</war.bundle> + <ejb.manifest.classpath>true</ejb.manifest.classpath> </properties> </dependency> |
From: <jbo...@li...> - 2006-04-27 18:46:41
|
Author: wrzep Date: 2006-04-27 14:46:35 -0400 (Thu, 27 Apr 2006) New Revision: 3997 Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java Log: JBLAB-599 added log msgs Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-04-27 18:42:31 UTC (rev 3996) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-04-27 18:46:35 UTC (rev 3997) @@ -96,8 +96,8 @@ ScoresManager.save(projects, pluginsConf); // <debug>; - long v = ScoresManager.getValue("downloads", "jbosswiki", new Date(), new Date()); - System.out.println("value = " + v); + //long v = ScoresManager.getValue("downloads", "jbosswiki", new Date(), new Date()); + //System.out.println("value = " + v); // </debug> pluginsValues = ScoresManager.getCurrentScores(); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-04-27 18:42:31 UTC (rev 3996) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-04-27 18:46:35 UTC (rev 3997) @@ -88,6 +88,8 @@ public void save(Projects projects, List<PluginConf> pluginsConf, String portalName) throws ScoresSaveException { + log.info("Saving..."); + // Get plugins from conf Plugins plugins = new Plugins(pluginsConf, portalName, projects); @@ -96,6 +98,8 @@ String dirName = Tools.getShotokuStatusPath(portalName); Directory dir = getDir(rootDir, dirName); + log.info("Computing scores..."); + // Get plugin values and save them in proper node PluginsValuesImpl pluginsValues = new PluginsValuesImpl(projects, plugins); @@ -103,6 +107,8 @@ String nodeName = getCurrentNodeName(); Node node = null; + log.info("Getting shotoku node..."); + try { node = dir.getNode(nodeName); } catch (RepositoryException e) { @@ -134,6 +140,7 @@ oos.writeObject((PluginsValuesImpl) pluginsValues); oos.close(); node.save("update"); /* os is closed inside save() */ + log.info("Saved succesfully"); } catch (Exception e) { log.error("Error while saving shotoku node: " + node.getFullName(), e); @@ -152,6 +159,8 @@ public PluginsValuesImpl getPluginsValues(String portalName, Date date) throws GetScoresException { + log.info("Returning plugins values..."); + // null date means today if (date == null) { Calendar cal = Calendar.getInstance(); @@ -163,6 +172,7 @@ if (v == null) { // Not in cache => get value and store it + log.info("Value not in cache..."); Directory rootDir = cm.getRootDirectory(); Directory dir; @@ -176,6 +186,7 @@ if (dir != null) { v = getPluginsValues(dir, date); + log.info("Finished."); values.put(key,v); } } |
From: <jbo...@li...> - 2006-04-27 18:42:39
|
Author: mar...@jb... Date: 2006-04-27 14:42:31 -0400 (Thu, 27 Apr 2006) New Revision: 3996 Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescrDumper.java labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java Log: JBRULES-240 XMLDump and DRLDump creators -Add xml and drl dumpers -Added common interface Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java 2006-04-27 12:05:12 UTC (rev 3995) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java 2006-04-27 18:42:31 UTC (rev 3996) @@ -0,0 +1,319 @@ +package org.drools.lang; + +/* + * Author Jayaram C S + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.drools.lang.descr.*; + +import org.drools.util.ReflectiveVisitor; + +/** + * + * @author <a href="mailto:jay...@gm...">Author Jayaram C S</a> + * + */ +public class DrlDumper extends ReflectiveVisitor + implements + PackageDescrDumper { + + private StringBuffer drlDump; + private static final String eol = System.getProperty( "line.separator" ); + + public synchronized String dump(final PackageDescr packageDescr) { + this.drlDump = new StringBuffer(); + visitPackageDescr( packageDescr ); + return this.drlDump.toString(); + } + + public void visitAndDescr(final AndDescr descr) { + this.template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + this.template = processDescrList( descr.getDescrs() ); + } else { + this.template = ""; + } + } + + public void visitAttributeDescr(final AttributeDescr attributeDescr) { + this.template = new String(); + this.template = "\t " + attributeDescr.getName() + " " + attributeDescr.getValue() + this.eol; + } + + public void visitBoundVariableDescr(final BoundVariableDescr descr) { + this.template = new String(); + this.template = descr.getFieldName() + " " + descr.getEvaluator() + " " + descr.getIdentifier(); + } + + public void visitColumnDescr(final ColumnDescr descr) { + this.template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + if ( descr.getIdentifier() != null ) { + this.template = "\t\t" + descr.getIdentifier() + " : " + descr.getObjectType() + "( " + processColoumnConstraintList( descr.getDescrs() ) + ")"; + } else { + this.template = "\t\t" + descr.getObjectType() + "( " + processColoumnConstraintList( descr.getDescrs() ) + ")"; + } + } else { + if ( descr.getIdentifier() != null ) { + this.template = "\t\t" + descr.getIdentifier() + " : " + descr.getObjectType() + "( )"; + } else { + this.template = "\t\t" + descr.getObjectType() + "( )"; + } + } + + } + + public void visitEvalDescr(final EvalDescr descr) { + this.template = new String(); + this.template = "\t\teval ( " + descr.getText() + " )" + this.eol; + } + + public void visitExistsDescr(final ExistsDescr descr) { + this.template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + this.template = "\t\texists " + processDescrList( descr.getDescrs() ); + } else { + this.template = ""; + } + } + + public void visitFieldBindingDescr(final FieldBindingDescr descr) { + this.template = new String(); + this.template = descr.getIdentifier() + " : "; + } + + public void visitFunctionDescr(final FunctionDescr functionDescr) { + this.template = new String(); + final String parameterTemplate = processParameters( functionDescr.getParameterNames(), + functionDescr.getParameterTypes() ); + + this.template = "function " + functionDescr.getReturnType() + " " + functionDescr.getName() + "(" + parameterTemplate + "){" + + + functionDescr.getText() + this.eol + "}" + this.eol; + + } + + public void visitLiteralDescr(final LiteralDescr descr) { + this.template = new String(); + String text = descr.getText(); + try { + Integer.parseInt( text ); + } catch ( final NumberFormatException e ) { + text = "\"" + text + "\""; + } + + this.template = descr.getFieldName() + " " + descr.getEvaluator() + " " + text; + } + + public void visitNotDescr(final NotDescr descr) { + this.template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + this.template = "\t not " + processDescrList( descr.getDescrs() ); + } else { + this.template = ""; + } + + } + + public void visitOrDescr(final OrDescr descr) { + this.template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + this.template = processOrDescrList( descr.getDescrs() ); + } else { + this.template = " "; + } + } + + public void visitPackageDescr(final PackageDescr packageDescr) { + final String packageName = packageDescr.getName(); + final String xmlString = "package " + packageName + ";" + this.eol + this.eol; + + appendDrlDump( xmlString ); + if ( packageDescr.getImports() != null ) { + appendDrlDump( processImportsList( packageDescr.getImports() ) ); + } + if ( packageDescr.getGlobals() != null ) { + appendDrlDump( processGlobalsMap( packageDescr.getGlobals() ) ); + } + if ( packageDescr.getFunctions() != null ) { + appendDrlDump( processFunctionsList( packageDescr.getFunctions() ) ); + } + if ( packageDescr.getRules() != null ) { + appendDrlDump( processRules( packageDescr.getRules() ) ); + } + + } + + public void visitPredicateDescr(final PredicateDescr descr) { + this.template = new String(); + this.template = descr.getDeclaration() + ":" + descr.getFieldName() + " -> ( " + descr.getText() + " )"; + + } + + public void visitReturnValueDescr(final ReturnValueDescr descr) { + this.template = new String(); + this.template = descr.getFieldName() + " " + descr.getEvaluator() + " ( " + descr.getText() + ")"; + } + + public void visitQueryDescr(final QueryDescr descr) { + this.template = new String(); + this.template = "<query name=\"" + descr.getName() + "\">" + "<lhs>" + processDescrList( descr.getLhs().getDescrs() ) + "</lhs>" + "</query>"; + } + + private String template; + + private String processRules(final List rules) { + String ruleList = ""; + for ( final Iterator iterator = rules.iterator(); iterator.hasNext(); ) { + final RuleDescr ruleDescr = (RuleDescr) iterator.next(); + String rule = "rule \"" + ruleDescr.getName() + "\" " + this.eol; + final String attribute = processAttribute( ruleDescr.getAttributes() ); + String lhs = ""; + if ( ruleDescr.getLhs().getDescrs() != Collections.EMPTY_LIST ) { + lhs = "\t when" + this.eol + processDescrList( ruleDescr.getLhs().getDescrs() ) + this.eol; + } else { + + lhs = "\t when"; + } + + String rhs = ruleDescr.getConsequence(); + if ( rhs == null ) { + rhs = "\t then" + this.eol + "\t"; + } else { + rhs = "\t then" + this.eol + "\t\t" + ruleDescr.getConsequence(); + } + + rule += attribute; + rule += lhs; + rule += rhs; + rule += "end" + this.eol; + ruleList += rule; + } + + return ruleList + this.eol; + } + + private String processOrDescrList(final List descr) { + String descrString = ""; + for ( final Iterator iterator = descr.iterator(); iterator.hasNext(); ) { + visit( iterator.next() ); + descrString += this.template; + if ( descrString.endsWith( this.eol ) ) { + descrString = descrString.substring( 0, + descrString.indexOf( this.eol ) ); + } + descrString += " || "; + } + return descrString.substring( 0, + descrString.length() - 4 ); + } + + private String processColoumnConstraintList(final List descr) { + String descrString = ""; + for ( final Iterator iterator = descr.iterator(); iterator.hasNext(); ) { + + final Object temp = iterator.next(); + visit( temp ); + descrString += this.template; + if ( !(temp instanceof FieldBindingDescr) ) { + descrString += " , "; + } + + } + return descrString.substring( 0, + descrString.length() - 2 ); + } + + private String processDescrList(final List descr) { + String descrString = ""; + for ( final Iterator iterator = descr.iterator(); iterator.hasNext(); ) { + visit( iterator.next() ); + descrString += this.template; + descrString += this.eol; + } + return descrString; + } + + private String processFunctionsList(final List functions) { + String functionList = ""; + + for ( final Iterator iterator = functions.iterator(); iterator.hasNext(); ) { + visit( iterator.next() ); + functionList += this.template; + } + + return functionList + this.eol; + } + + private String processAttribute(final List attributes) { + + String attributeList = ""; + for ( final Iterator iterator = attributes.iterator(); iterator.hasNext(); ) { + final AttributeDescr attributeDescr = (AttributeDescr) iterator.next(); + visit( attributeDescr ); + attributeList += this.template; + } + return attributeList; + } + + private String processParameters(final List parameterNames, + final List parameterTypes) { + String paramList = ""; + int i = 0; + for ( final Iterator iterator = parameterNames.iterator(); iterator.hasNext(); i++ ) { + final String paramName = (String) iterator.next(); + final String paramType = (String) parameterTypes.get( i ); + final String paramTemplate = paramType + " " + paramName + ","; + paramList += paramTemplate; + } + paramList = paramList.substring( 0, + paramList.length() - 1 ); + return paramList; + } + + private String processGlobalsMap(final Map globals) { + String globalList = ""; + + for ( final Iterator iterator = globals.keySet().iterator(); iterator.hasNext(); ) { + final String key = (String) iterator.next(); + final String value = (String) globals.get( key ); + final String globalTemplate = "global " + value + " " + key + ";" + this.eol; + globalList += globalTemplate; + } + + return globalList + this.eol; + } + + private String processImportsList(final List imports) { + String importList = ""; + + for ( final Iterator iterator = imports.iterator(); iterator.hasNext(); ) { + final String importString = (String) iterator.next(); + final String importTemplate = "import " + importString + ";" + this.eol; + importList += importTemplate; + } + return importList + this.eol; + } + + private void appendDrlDump(final String temp) { + this.drlDump.append( temp ); + } + +} \ No newline at end of file Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescrDumper.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescrDumper.java 2006-04-27 12:05:12 UTC (rev 3995) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescrDumper.java 2006-04-27 18:42:31 UTC (rev 3996) @@ -0,0 +1,5 @@ +package org.drools.lang.descr; + +public interface PackageDescrDumper { + public String dump(final PackageDescr packageDescr); +} Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java 2006-04-27 12:05:12 UTC (rev 3995) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java 2006-04-27 18:42:31 UTC (rev 3996) @@ -0,0 +1,270 @@ +package org.drools.xml; + +/* + * + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.drools.lang.descr.*; + +import org.drools.util.ReflectiveVisitor; + +/** + * + * @author <a href="mailto:jay...@gm...">Author Jayaram C S</a> + * + */ +public class XmlDumper extends ReflectiveVisitor + implements + PackageDescrDumper { + + private StringBuffer xmlDump; + private final static String eol = System.getProperty( "line.separator" ); + + public synchronized String dump(final PackageDescr packageDescr) { + this.xmlDump = new StringBuffer(); + visitPackageDescr( packageDescr ); + return this.xmlDump.toString(); + } + + public void visitAndDescr(AndDescr descr) { + template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + template = "<and>" + processDescrList( descr.getDescrs() ) + "</and>"; + } else { + template = "<and> </and>"; + } + } + + public void visitAttributeDescr(AttributeDescr attributeDescr) { + template = new String(); + template = "<rule-attribute name=\"" + attributeDescr.getName() + "\" value=\"" + attributeDescr.getValue() + "\" />" + eol; + } + + public void visitBoundVariableDescr(BoundVariableDescr descr) { + template = new String(); + template = "<bound-variable field-name=\"" + descr.getFieldName() + "\" evaluator=\"" + getEvaluator( descr.getEvaluator() ) + "\" identifier=\"" + descr.getIdentifier() + "\" />" + eol; + } + + public void visitColumnDescr(ColumnDescr descr) { + template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + if ( descr.getIdentifier() != null ) { + template = "<column identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" >" + processDescrList( descr.getDescrs() ) + "</column>" + eol; + } else { + template = "<column object-type=\"" + descr.getObjectType() + "\" >" + processDescrList( descr.getDescrs() ) + "</column>" + eol; + } + } else { + if ( descr.getIdentifier() != null ) { + template = "<column identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" > </column>" + eol; + } else { + template = "<column object-type=\"" + descr.getObjectType() + "\" > </column>" + eol; + } + } + + } + + public void visitEvalDescr(EvalDescr descr) { + template = new String(); + template = "<eval>" + descr.getText() + "</eval>" + eol; + } + + public void visitExistsDescr(ExistsDescr descr) { + template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + template = "<exists>" + processDescrList( descr.getDescrs() ) + "</exists>"; + } else { + template = "<exists> </exists>"; + } + } + + public void visitFieldBindingDescr(FieldBindingDescr descr) { + template = new String(); + template = "<field-binding field-name=\"" + descr.getFieldName() + "\" identifier=\"" + descr.getIdentifier() + "\" />" + eol; + } + + public void visitFunctionDescr(FunctionDescr functionDescr) { + template = new String(); + String parameterTemplate = processParameters( functionDescr.getParameterNames(), + functionDescr.getParameterTypes() ); + + template = "<function return-type=\"" + functionDescr.getReturnType() + "\" name=\"" + functionDescr.getName() + "\">" + eol + parameterTemplate + "<body>" + eol + functionDescr.getText() + eol + "</body>" + eol + "</function>" + eol; + } + + public void visitLiteralDescr(LiteralDescr descr) { + template = new String(); + template = "<literal field-name=\"" + descr.getFieldName() + "\" evaluator=\"" + getEvaluator( descr.getEvaluator() ) + "\" value=\"" + descr.getText() + "\" />" + eol; + } + + public void visitNotDescr(NotDescr descr) { + template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + template = "<not>" + processDescrList( descr.getDescrs() ) + "</not>"; + } else { + template = "<not> </not>"; + } + + } + + public void visitOrDescr(OrDescr descr) { + template = new String(); + if ( descr.getDescrs() != Collections.EMPTY_LIST ) { + template = "<or>" + processDescrList( descr.getDescrs() ) + "</or>"; + } else { + template = "<or> </or>"; + } + } + + public void visitPackageDescr(PackageDescr packageDescr) { + String packageName = packageDescr.getName(); + String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> " + eol + " <package name=\"" + packageName + "\" " + eol + "\txmlns=\"http://drools.org/drools-3.0\" " + eol + "\txmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\" " + eol + + "\txs:schemaLocation=\"http://drools.org/drools-3.0 drools-3.0.xsd\"> " + eol; + appendXmlDump( xmlString ); + appendXmlDump( processImportsList( packageDescr.getImports() ) ); + appendXmlDump( processGlobalsMap( packageDescr.getGlobals() ) ); + appendXmlDump( processFunctionsList( packageDescr.getFunctions() ) ); + appendXmlDump( processRules( packageDescr.getRules() ) ); + appendXmlDump( "</package>" ); + } + + public void visitPredicateDescr(PredicateDescr descr) { + template = new String(); + template = "<predicate field-name=\"" + descr.getFieldName() + "\" identifier=\"" + descr.getDeclaration() + "\" >" + descr.getText() + "</predicate>" + eol; + + } + + public void visitReturnValueDescr(ReturnValueDescr descr) { + template = new String(); + template = "<return-value field-name=\"" + descr.getFieldName() + "\" evaluator=\"" + getEvaluator( descr.getEvaluator() ) + "\" >" + descr.getText() + "</return-value>" + eol; + } + + public void visitQueryDescr(QueryDescr descr) { + template = new String(); + template = "<query name=\"" + descr.getName() + "\">" + "<lhs>" + processDescrList( descr.getLhs().getDescrs() ) + "</lhs>" + "</query>"; + } + + private String template; + + private String processRules(List rules) { + String ruleList = ""; + for ( Iterator iterator = rules.iterator(); iterator.hasNext(); ) { + RuleDescr ruleDescr = (RuleDescr) iterator.next(); + String rule = "<rule name=\"" + ruleDescr.getName() + "\">" + eol; + String attribute = processAttribute( ruleDescr.getAttributes() ); + String lhs = ""; + if ( ruleDescr.getLhs().getDescrs() != Collections.EMPTY_LIST ) { + lhs = "<lhs>" + processDescrList( ruleDescr.getLhs().getDescrs() ) + "</lhs>"; + } else { + + lhs = "<lhs> </lhs>"; + } + + String rhs = "<rhs>" + ruleDescr.getConsequence() + "</rhs>" + eol; + rule += attribute; + rule += lhs; + rule += rhs; + rule += "</rule>"; + ruleList += rule; + } + + return ruleList + eol; + } + + private String processDescrList(List descr) { + String descrString = ""; + for ( Iterator iterator = descr.iterator(); iterator.hasNext(); ) { + visit( iterator.next() ); + descrString += template; + descrString += eol; + } + return descrString + eol; + } + + private String processFunctionsList(List functions) { + String functionList = ""; + + for ( Iterator iterator = functions.iterator(); iterator.hasNext(); ) { + visit( iterator.next() ); + functionList += template; + } + + return functionList + eol; + } + + private String processAttribute(List attributes) { + + String attributeList = ""; + for ( Iterator iterator = attributes.iterator(); iterator.hasNext(); ) { + AttributeDescr attributeDescr = (AttributeDescr) iterator.next(); + visit( attributeDescr ); + attributeList += template; + } + return attributeList + eol; + } + + private String processParameters(List parameterNames, + List parameterTypes) { + String paramList = ""; + int i = 0; + for ( Iterator iterator = parameterNames.iterator(); iterator.hasNext(); i++ ) { + String paramName = (String) iterator.next(); + String paramType = (String) parameterTypes.get( i ); + String paramTemplate = "<parameter identifier=\"" + paramName + "\" type=\"" + paramType + "\" />" + eol; + paramList += paramTemplate; + } + + return paramList + eol; + } + + private String processGlobalsMap(Map globals) { + String globalList = ""; + for ( Iterator iterator = globals.keySet().iterator(); iterator.hasNext(); ) { + String key = (String) iterator.next(); + String value = (String) globals.get( key ); + String globalTemplate = "<global identifier=\"" + key + "\" type=\"" + value + "\" />" + eol; + globalList += globalTemplate; + } + + return globalList + eol; + } + + private String processImportsList(List imports) { + String importList = ""; + + for ( Iterator iterator = imports.iterator(); iterator.hasNext(); ) { + String importString = (String) iterator.next(); + String importTemplate = "<import name=\"" + importString + "\" /> " + eol; + importList += importTemplate; + } + return importList + eol; + } + + private void appendXmlDump(String temp) { + xmlDump.append( temp ); + } + + private String getEvaluator(String eval) { + + eval = eval.replaceAll( "<", + "<" ); + eval = eval.replaceAll( ">", + ">" ); + return eval; + } +} \ No newline at end of file |
From: <jbo...@li...> - 2006-04-27 12:05:16
|
Author: mar...@jb... Date: 2006-04-27 08:05:12 -0400 (Thu, 27 Apr 2006) New Revision: 3995 Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java Log: JBRULES-245 Not with Logical Assertions is invalidating the WorkingMemory propagation -Added an isEmpty check before iteration, as normally it will be empty. Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 11:58:15 UTC (rev 3994) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 12:05:12 UTC (rev 3995) @@ -526,7 +526,9 @@ handle, object ); - propagateQueuedActions(); + if ( !this.factQueue.isEmpty() ) { + propagateQueuedActions(); + } return handle; } finally { @@ -670,7 +672,9 @@ ((FactHandleImpl) handle).invalidate(); - propagateQueuedActions(); + if ( !this.factQueue.isEmpty() ) { + propagateQueuedActions(); + } } finally { this.lock.unlock(); } @@ -738,7 +742,9 @@ originalObject, object ); - propagateQueuedActions(); + if ( !this.factQueue.isEmpty() ) { + propagateQueuedActions(); + } } finally { this.lock.unlock(); } |
From: <jbo...@li...> - 2006-04-27 11:58:25
|
Author: mar...@jb... Date: 2006-04-27 07:58:15 -0400 (Thu, 27 Apr 2006) New Revision: 3994 Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java Log: JBRULES-245 Not with Logical Assertions is invalidating the WorkingMemory propagation -I've added a queue now. So retractions due to logical assertions will not take place until the last WMA is finished. Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 10:10:38 UTC (rev 3993) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/WorkingMemoryImpl.java 2006-04-27 11:58:15 UTC (rev 3994) @@ -117,8 +117,6 @@ private final WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport( this ); private final AgendaEventSupport agendaEventSupport = new AgendaEventSupport( this ); - //private LinkedList factQueue = new LinkedList(); - private ReentrantLock lock = new ReentrantLock(); /** The <code>RuleBase</code> with which this memory is associated. */ @@ -133,6 +131,8 @@ private boolean firing; private long propagationIdCounter; + + private List factQueue = new ArrayList(); // ------------------------------------------------------------ // Constructors @@ -525,6 +525,9 @@ this.workingMemoryEventSupport.fireObjectAsserted( propagationContext, handle, object ); + + propagateQueuedActions(); + return handle; } finally { this.lock.unlock(); @@ -666,6 +669,8 @@ oldObject ); ((FactHandleImpl) handle).invalidate(); + + propagateQueuedActions(); } finally { this.lock.unlock(); } @@ -732,10 +737,22 @@ handle, originalObject, object ); + + propagateQueuedActions(); } finally { this.lock.unlock(); } } + + private void propagateQueuedActions() { + for ( Iterator it = this.factQueue.iterator(); it.hasNext(); ) { + WorkingMemoryAction action = (WorkingMemoryAction) it.next(); + it.remove(); + action.propagate(); + } + + + } /** * Retrieve the <code>JoinMemory</code> for a particular @@ -813,11 +830,12 @@ set.remove( node ); if ( set.isEmpty() ) { this.justified.remove( handle.getId() ); - retractObject( handle, - false, - true, - context.getRuleOrigin(), - context.getActivationOrigin() ); + // this needs to be scheduled so we don't upset the current working memory operation + this.factQueue.add( new WorkingMemoryRetractAction( handle, + false, + true, + context.getRuleOrigin(), + context.getActivationOrigin() ) ); } } } @@ -863,7 +881,42 @@ public Lock getLock() { return this.lock; } + + private interface WorkingMemoryAction { + public void propagate(); + } + + private class WorkingMemoryRetractAction implements WorkingMemoryAction { + private InternalFactHandle factHandle; + private boolean removeLogical; + private boolean updateEqualsMap; + private Rule ruleOrigin; + private Activation activationOrigin; + + + + public WorkingMemoryRetractAction(InternalFactHandle factHandle, + boolean removeLogical, + boolean updateEqualsMap, + Rule ruleOrigin, + Activation activationOrigin) { + super(); + this.factHandle = factHandle; + this.removeLogical = removeLogical; + this.updateEqualsMap = updateEqualsMap; + this.ruleOrigin = ruleOrigin; + this.activationOrigin = activationOrigin; + } + public void propagate() { + retractObject( this.factHandle, + this.removeLogical, + this.updateEqualsMap, + this.ruleOrigin, + this.activationOrigin ); + } + } + private static class FactStatus { private int counter; private String status; |
From: <jbo...@li...> - 2006-04-27 10:10:46
|
Author: mar...@jb... Date: 2006-04-27 06:10:38 -0400 (Thu, 27 Apr 2006) New Revision: 3993 Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleBaseImpl.java Log: -Make sure we lock when removing rules/packages too. Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleBaseImpl.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleBaseImpl.java 2006-04-27 09:55:10 UTC (rev 3992) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleBaseImpl.java 2006-04-27 10:10:38 UTC (rev 3993) @@ -86,8 +86,6 @@ */ private transient Map workingMemories; - private transient Object lock; - /** Special value when adding to the underlying map. */ private static final Object PRESENT = new Object(); @@ -121,8 +119,7 @@ this.packageClassLoader = new CompositePackageClassLoader( Thread.currentThread().getContextClassLoader() ); this.pkgs = new HashMap(); this.globals = new HashMap(); - this.workingMemories = new WeakHashMap(); - this.lock = new Object(); + this.workingMemories = new WeakHashMap(); } /** @@ -178,8 +175,6 @@ this.globals = (Map) streamWithLoader.readObject(); this.workingMemories = new WeakHashMap(); - this.lock = new Object(); - } // ------------------------------------------------------------ @@ -299,10 +294,6 @@ return this.globals; } - public Object getLock() { - return this.lock; - } - /** * Add a <code>Package</code> to the network. Iterates through the * <code>Package</code> adding Each individual <code>Rule</code> to the @@ -359,8 +350,8 @@ this.packageClassLoader.addClassLoader( newPkg.getPackageCompilationData().getClassLoader() ); - // Iterate each workingMemory and attempt to fire any rules, that were activated as a result of the new rule addition - // + // Iterate each workingMemory and attempt to fire any rules, that were activated as a result + // of the new rule addition. Unlock after fireAllRules(); for ( Iterator it = this.workingMemories.keySet().iterator(); it.hasNext(); ) { WorkingMemoryImpl workingMemory = (WorkingMemoryImpl) it.next(); @@ -412,31 +403,52 @@ public void removePackage(String packageName) { Package pkg = (Package) this.pkgs.get( packageName ); + // Iterate each workingMemory and lock it + // This is so we don't update the Rete network during propagation + for ( Iterator it = this.workingMemories.keySet().iterator(); it.hasNext(); ) { + WorkingMemoryImpl workingMemory = (WorkingMemoryImpl) it.next(); + workingMemory.getLock().lock(); + } + Rule[] rules = pkg.getRules(); - synchronized ( this.lock ) { for ( int i = 0; i < rules.length; ++i ) { removeRule( rules[i] ); } - } this.packageClassLoader.removeClassLoader( pkg.getPackageCompilationData().getClassLoader() ); pkg.clear(); + + // Iterate and unlock + for ( Iterator it = this.workingMemories.keySet().iterator(); it.hasNext(); ) { + WorkingMemoryImpl workingMemory = (WorkingMemoryImpl) it.next(); + workingMemory.getLock().unlock(); + } } public void removeRule(String packageName, String ruleName) { Package pkg = (Package) this.pkgs.get( packageName ); Rule rule = pkg.getRule( ruleName ); + // Iterate each workingMemory and lock it + // This is so we don't update the Rete network during propagation + for ( Iterator it = this.workingMemories.keySet().iterator(); it.hasNext(); ) { + WorkingMemoryImpl workingMemory = (WorkingMemoryImpl) it.next(); + workingMemory.getLock().lock(); + } removeRule( rule ); pkg.removeRule( rule ); + + // Iterate and unlock + for ( Iterator it = this.workingMemories.keySet().iterator(); it.hasNext(); ) { + WorkingMemoryImpl workingMemory = (WorkingMemoryImpl) it.next(); + workingMemory.getLock().unlock(); + } } private void removeRule(Rule rule) { - synchronized ( this.lock ) { - this.reteooBuilder.removeRule( rule ); - } + this.reteooBuilder.removeRule( rule ); } public Set getWorkingMemories() { |