[jboss-svn-commits] JBL Code SVN: r19126 - in labs/jbossrules/trunk: drools-clips/src/test/java/org/drools/clips and 48 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 19 14:11:52 EDT 2008
Author: tirelli
Date: 2008-03-19 14:11:50 -0400 (Wed, 19 Mar 2008)
New Revision: 19126
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/EnumSerialiationTest.java
Removed:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java
Modified:
labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/Shell.java
labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ShellTest.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ActionError.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DescrBuildError.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
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/AccumulateDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ImportDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Address.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheese.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/StockTick.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/DataEnumLoaderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/RuleErrorTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulSessionTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzerTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactPopulatorTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/TestingEventListenerTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/ActionNodeTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleEventAssertion.drl
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable.drl
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ComparableEvaluatorsDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooFactHandleFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooTemporalSession.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSource.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MVELDialectData.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FactHandleFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FieldValue.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/FileScannerTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImplementation.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
JBRULES-1488: restoring trunk after bad merge. Serialization changes are included.
Modified: labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/Shell.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/Shell.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/Shell.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,6 +3,21 @@
*/
package org.drools.clips;
+import java.io.PrintStream;
+import java.io.Reader;
+import java.io.Serializable;
+import java.io.StringReader;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+
import org.antlr.runtime.ANTLRReaderStream;
import org.antlr.runtime.CommonTokenStream;
import org.drools.FactHandle;
@@ -25,23 +40,11 @@
import org.mvel.MVEL;
import org.mvel.ParserContext;
import org.mvel.ast.Function;
+import org.mvel.compiler.CompiledExpression;
import org.mvel.compiler.ExpressionCompiler;
+import org.mvel.debug.DebugTools;
+import org.mvel.util.CompilerTools;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.io.Serializable;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
public class Shell
implements
ParserHandler,
Modified: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ShellTest.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ShellTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ShellTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,8 +1,17 @@
package org.drools.clips;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.TestCase;
+
import org.drools.Person;
import org.drools.WorkingMemory;
+import org.drools.clips.FunctionHandlers;
+import org.drools.clips.Shell;
import org.drools.clips.functions.AssertFunction;
import org.drools.clips.functions.BindFunction;
import org.drools.clips.functions.CallFunction;
@@ -25,10 +34,6 @@
import org.drools.rule.Package;
import org.drools.rule.Rule;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
public class ShellTest extends TestCase {
private ByteArrayOutputStream baos;
@@ -269,7 +274,8 @@
this.shell.eval( "(defrule testRule (Person (name ?name&bob) ) => (printout t hello) (printout t \" \" ?name))" );
this.shell.eval( "(assert (Person (name mark) ) )" );
this.shell.eval( "(run)" );
-// @FIXME_testTwoSimpleRulesWithModify
+// @FIXME testTwoSimpleRulesWithModify
+// commenting out failed test
// assertEquals( "hello markhello bob",
// new String( this.baos.toByteArray() ) );
}
@@ -281,7 +287,8 @@
text += "(assert (Person (name mark) ) )";
text += "(run)";
this.shell.eval( text );
-// @FIXME_testBlockEval
+// @FIXME testBlockEval
+// commenting out failed test
// assertEquals( "hello markhello bob",
// new String( this.baos.toByteArray() ) );
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ActionCol.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,6 +3,10 @@
public class ActionCol extends DTColumnConfig {
- public String header;
+ /**
+ * The header to be displayed.
+ */
+ public String header;
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/ConditionCol.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -45,11 +45,9 @@
*/
public String operator;
-
/**
* A comma separated list of valid values. Optional.
*/
public String valueList;
-
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -6,7 +6,6 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ActionError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ActionError.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ActionError.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -18,7 +18,6 @@
import org.drools.commons.jci.problems.CompilationProblem;
import org.drools.lang.descr.BaseDescr;
-import org.drools.rule.Rule;
public class ActionError extends DroolsError {
private BaseDescr descr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DescrBuildError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DescrBuildError.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/DescrBuildError.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -18,7 +18,6 @@
import org.drools.commons.jci.problems.CompilationProblem;
import org.drools.lang.descr.BaseDescr;
-import org.drools.rule.Rule;
public class DescrBuildError extends DroolsError {
private BaseDescr parentDescr;
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 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -454,7 +454,7 @@
if ( duration != null ) {
type.setDurationAttribute( duration );
}
-
+
this.pkg.addTypeDeclaration( type );
}
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/RuleFlowLoadError.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,7 +1,5 @@
package org.drools.compiler;
-import java.io.PrintStream;
-import java.io.StringWriter;
/**
* This is used for reporting errors with loading a ruleflow.
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,12 +3,16 @@
package org.drools.lang;
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
import java.util.HashMap;
+
+import org.antlr.runtime.BaseRecognizer;
+import org.antlr.runtime.CharStream;
+import org.antlr.runtime.DFA;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.Lexer;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.RecognitionException;
public class DRLLexer extends Lexer {
public static final int ACCUMULATE=46;
public static final int PACKAGE=4;
@@ -94,7 +98,7 @@
public static final int C_STYLE_SINGLE_LINE_COMMENT=73;
public static final int DATE_EXPIRES=24;
public static final int STRING=16;
- public DRLLexer() {;}
+ public DRLLexer() {;}
public DRLLexer(CharStream input) {
super(input);
ruleMemo = new HashMap[84+1];
@@ -365,7 +369,7 @@
} while (true);
if ( backtracking==0 ) {
- channel=HIDDEN;
+ channel=HIDDEN;
}
}
@@ -2337,7 +2341,7 @@
mEOL(); if (failed) return ;
if ( backtracking==0 ) {
- channel=HIDDEN;
+ channel=HIDDEN;
}
}
@@ -2398,7 +2402,7 @@
match("*/"); if (failed) return ;
if ( backtracking==0 ) {
- channel=HIDDEN;
+ channel=HIDDEN;
}
}
@@ -2988,7 +2992,7 @@
}
// $ANTLR start synpred1
- public final void synpred1_fragment() throws RecognitionException {
+ public final void synpred1_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1745:14: ( '\\r\\n' )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1745:16: '\\r\\n'
{
@@ -3504,6 +3508,6 @@
return "1:1: Tokens : ( T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | DECLARE | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
}
}
+
-
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,20 +1,68 @@
// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-03-10 18:35:53
package org.drools.lang;
- import java.util.List;
import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.HashMap;
- import java.util.StringTokenizer;
- import org.drools.lang.descr.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
+import org.antlr.runtime.BaseRecognizer;
+import org.antlr.runtime.BitSet;
+import org.antlr.runtime.CommonToken;
+import org.antlr.runtime.DFA;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.FailedPredicateException;
+import org.antlr.runtime.IntStream;
+import org.antlr.runtime.MismatchedNotSetException;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.MismatchedTokenException;
+import org.antlr.runtime.MismatchedTreeNodeException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.Parser;
+import org.antlr.runtime.ParserRuleReturnScope;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.antlr.runtime.TokenStream;
+import org.drools.lang.descr.AccessorDescr;
+import org.drools.lang.descr.AccumulateDescr;
+import org.drools.lang.descr.AndDescr;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.CollectDescr;
+import org.drools.lang.descr.ConditionalElementDescr;
+import org.drools.lang.descr.DeclarativeInvokerDescr;
+import org.drools.lang.descr.DescrFactory;
+import org.drools.lang.descr.EntryPointDescr;
+import org.drools.lang.descr.EvalDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FieldAccessDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.FieldTemplateDescr;
+import org.drools.lang.descr.ForallDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.lang.descr.FunctionCallDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.MethodAccessDescr;
+import org.drools.lang.descr.NotDescr;
+import org.drools.lang.descr.OrDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.PatternSourceDescr;
+import org.drools.lang.descr.PredicateDescr;
+import org.drools.lang.descr.QualifiedIdentifierRestrictionDescr;
+import org.drools.lang.descr.QueryDescr;
+import org.drools.lang.descr.RestrictionConnectiveDescr;
+import org.drools.lang.descr.RestrictionDescr;
+import org.drools.lang.descr.ReturnValueRestrictionDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.TypeDeclarationDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
public class DRLParser extends Parser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "ID", "DOT", "GLOBAL", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "DECLARE", "LEFT_CURLY", "RIGHT_CURLY", "STRING", "QUERY", "END", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT", "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND", "DOUBLE_AMPER", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT", "COLLECT", "ENTRY_POINT", "CONTAINS", "EXCLUDES", "MATCHES", "SOUNDSLIKE", "MEMBEROF", "TILDE", "IN", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "EVENT", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.*'", "':'", "'->'", "'=='", "'>'", "'>='", "'<'", "'<='", "'!!
='"
@@ -97,8 +145,8 @@
super(input);
ruleMemo = new HashMap[86+1];
}
+
-
public String[] getTokenNames() { return tokenNames; }
public String getGrammarFileName() { return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
@@ -110,58 +158,58 @@
private DescrFactory factory = new DescrFactory();
private boolean parserDebug = false;
private Location location = new Location( Location.LOCATION_UNKNOWN );
-
+
// THE FOLLOWING LINES ARE DUMMY ATTRIBUTES TO WORK AROUND AN ANTLR BUG
private BaseDescr from = null;
private FieldConstraintDescr fc = null;
private RestrictionConnectiveDescr and = null;
private RestrictionConnectiveDescr or = null;
private ConditionalElementDescr base = null;
-
+
public void setParserDebug(boolean parserDebug) {
this.parserDebug = parserDebug;
}
-
+
public void debug(String message) {
- if ( parserDebug )
+ if ( parserDebug )
System.err.println( "drl parser: " + message );
}
-
+
public void setSource(String source) {
this.source = source;
}
public DescrFactory getFactory() {
return factory;
- }
+ }
public String getSource() {
return this.source;
}
-
+
public PackageDescr getPackageDescr() {
return packageDescr;
}
-
+
private int offset(int line) {
return line + lineOffset;
}
-
+
/**
- * This will set the offset to record when reparsing. Normally is zero of course
+ * This will set the offset to record when reparsing. Normally is zero of course
*/
public void setLineOffset(int i) {
this.lineOffset = i;
}
-
+
private String getString(String token) {
return safeSubstring( token, 1, token.length() -1 );
}
-
+
private String cleanupSpaces( String input ) {
return input.replaceAll( "\\s", "" );
}
-
-
+
+
public void reportError(RecognitionException ex) {
// if we've already reported an error and have not matched a token
// yet successfully, don't report any errors.
@@ -171,14 +219,14 @@
errorRecovery = true;
ex.line = offset(ex.line); //add the offset if there is one
- errors.add( ex );
+ errors.add( ex );
}
-
+
/** return the raw RecognitionException errors */
public List getErrors() {
return errors;
}
-
+
/** Return a list of pretty strings summarising the errors */
public List getErrorMessages() {
List messages = new ArrayList();
@@ -187,16 +235,16 @@
}
return messages;
}
-
+
/** return true if any parser errors were accumulated */
public boolean hasErrors() {
return ! errors.isEmpty();
}
-
+
/** This will take a RecognitionException, and create a sensible error message out of it */
public String createErrorMessage(RecognitionException e)
{
- StringBuffer message = new StringBuffer();
+ StringBuffer message = new StringBuffer();
message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
if ( e instanceof MismatchedTokenException ) {
MismatchedTokenException mte = (MismatchedTokenException)e;
@@ -262,25 +310,25 @@
message.append(" " + e.getMessage());
}
return message.toString();
- }
-
+ }
+
void checkTrailingSemicolon(String text, int line) {
if (text.trim().endsWith( ";" ) ) {
this.errors.add( new GeneralParseException( "Trailing semi-colon not allowed", offset(line) ) );
}
}
-
+
public Location getLocation() {
return this.location;
}
-
+
private String safeSubstring( String text, int start, int end ) {
return text.substring( Math.min( start, text.length() ), Math.min( Math.max( start, end ), text.length() ) );
}
+
-
// $ANTLR start opt_semicolon
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:195:1: opt_semicolon : ( ';' )? ;
public final void opt_semicolon() throws RecognitionException {
@@ -327,7 +375,7 @@
// reset Location information
this.location = new Location( Location.LOCATION_UNKNOWN );
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:2: ( prolog ( statement )* EOF )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:4: prolog ( statement )* EOF
@@ -372,7 +420,7 @@
catch ( RecognitionException e ) {
reportError( e );
-
+
}
finally {
}
@@ -389,7 +437,7 @@
String packageName = "";
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:2: ( (pkgstmt= package_statement )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:4: (pkgstmt= package_statement )?
@@ -410,7 +458,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- packageName = pkgstmt;
+ packageName = pkgstmt;
}
}
@@ -419,9 +467,9 @@
}
if ( backtracking==0 ) {
-
- this.packageDescr = factory.createPackage( packageName );
-
+
+ this.packageDescr = factory.createPackage( packageName );
+
}
}
@@ -538,7 +586,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- this.packageDescr.addAttribute( a );
+ this.packageDescr.addAttribute( a );
}
}
@@ -591,7 +639,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- this.packageDescr.addFactTemplate( t );
+ this.packageDescr.addFactTemplate( t );
}
}
@@ -604,7 +652,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- this.packageDescr.addRule( r );
+ this.packageDescr.addRule( r );
}
}
@@ -617,7 +665,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- this.packageDescr.addRule( q );
+ this.packageDescr.addRule( q );
}
}
@@ -630,7 +678,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- this.packageDescr.addTypeDeclaration( d );
+ this.packageDescr.addTypeDeclaration( d );
}
}
@@ -659,7 +707,7 @@
packageName = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:239:2: ( PACKAGE n= dotted_name opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:240:3: PACKAGE n= dotted_name opt_semicolon
@@ -676,7 +724,7 @@
if ( backtracking==0 ) {
packageName = n;
-
+
}
}
@@ -700,7 +748,7 @@
ImportDescr importDecl = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:2: ( IMPORT import_name[importDecl] opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:4: IMPORT import_name[importDecl] opt_semicolon
@@ -714,7 +762,7 @@
if (packageDescr != null) {
packageDescr.addImport( importDecl );
}
-
+
}
pushFollow(FOLLOW_import_name_in_import_statement282);
import_name(importDecl);
@@ -746,7 +794,7 @@
FunctionImportDescr importDecl = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:2: ( IMPORT FUNCTION import_name[importDecl] opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:4: IMPORT FUNCTION import_name[importDecl] opt_semicolon
@@ -761,7 +809,7 @@
if (packageDescr != null) {
packageDescr.addFunctionImport( importDecl );
}
-
+
}
pushFollow(FOLLOW_import_name_in_function_import_statement334);
import_name(importDecl);
@@ -799,7 +847,7 @@
name = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:282:2: ( ID ( DOT id= identifier )* (star= '.*' )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:283:3: ID ( DOT id= identifier )* (star= '.*' )?
@@ -807,11 +855,11 @@
ID3=(Token)input.LT(1);
match(input,ID,FOLLOW_ID_in_import_name362); if (failed) return name;
if ( backtracking==0 ) {
-
- name =ID3.getText();
+
+ name =ID3.getText();
importDecl.setTarget( name );
importDecl.setEndCharacter( ((CommonToken)ID3).getStopIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:289:3: ( DOT id= identifier )*
loop5:
@@ -835,11 +883,11 @@
_fsp--;
if (failed) return name;
if ( backtracking==0 ) {
-
- name = name + DOT4.getText() + input.toString(id.start,id.stop);
+
+ name = name + DOT4.getText() + input.toString(id.start,id.stop);
importDecl.setTarget( name );
importDecl.setEndCharacter( ((CommonToken)((Token)id.start)).getStopIndex() );
-
+
}
}
@@ -864,11 +912,11 @@
star=(Token)input.LT(1);
match(input,77,FOLLOW_77_in_import_name402); if (failed) return name;
if ( backtracking==0 ) {
-
- name = name + star.getText();
+
+ name = name + star.getText();
importDecl.setTarget( name );
importDecl.setEndCharacter( ((CommonToken)star).getStopIndex() );
-
+
}
}
@@ -902,7 +950,7 @@
GlobalDescr global = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:310:2: ( GLOBAL type= dotted_name id= identifier opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:311:3: GLOBAL type= dotted_name id= identifier opt_semicolon
@@ -914,7 +962,7 @@
global = factory.createGlobal();
global.setStartCharacter( ((CommonToken)GLOBAL5).getStartIndex() );
packageDescr.addGlobal( global );
-
+
}
pushFollow(FOLLOW_dotted_name_in_global447);
type=dotted_name();
@@ -923,7 +971,7 @@
if ( backtracking==0 ) {
global.setType( type );
-
+
}
pushFollow(FOLLOW_identifier_in_global458);
id=identifier();
@@ -937,7 +985,7 @@
global.setIdentifier( input.toString(id.start,id.stop) );
global.setEndCharacter( ((CommonToken)((Token)id.start)).getStopIndex() );
-
+
}
}
@@ -972,7 +1020,7 @@
FunctionDescr f = null;
String type = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:334:2: ( FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:3: FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk
@@ -1016,7 +1064,7 @@
f.setLocation(offset(FUNCTION6.getLine()), FUNCTION6.getCharPositionInLine());
f.setStartCharacter( ((CommonToken)FUNCTION6).getStartIndex() );
packageDescr.addFunction( f );
-
+
}
match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function503); if (failed) return ;
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:4: ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )?
@@ -1055,7 +1103,7 @@
type = paramType != null ? paramType : null;
f.addParameter( type, paramName );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:5: ( COMMA (paramType= dotted_name )? paramName= argument )*
loop10:
@@ -1098,7 +1146,7 @@
type = paramType != null ? paramType : null;
f.addParameter( type, paramName );
-
+
}
}
@@ -1126,7 +1174,7 @@
f.setText( safeSubstring( input.toString(body.start,body.stop), 1, input.toString(body.start,body.stop).length()-1 ) );
f.setEndCharacter( ((CommonToken)((Token)body.stop)).getStopIndex() );
f.setEndLocation(offset(((Token)body.stop).getLine()), ((Token)body.stop).getCharPositionInLine());
-
+
}
}
@@ -1153,7 +1201,7 @@
name = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:2: (id= identifier ( '[' ']' )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:4: id= identifier ( '[' ']' )*
@@ -1163,7 +1211,7 @@
_fsp--;
if (failed) return name;
if ( backtracking==0 ) {
- name =input.toString(id.start,id.stop);
+ name =input.toString(id.start,id.stop);
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:38: ( '[' ']' )*
loop12:
@@ -1219,7 +1267,7 @@
declaration = factory.createTypeDeclaration();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:9: ( DECLARE id= identifier LEFT_CURLY type_decl_attribute[$declaration] ( COMMA type_decl_attribute[$declaration] )* RIGHT_CURLY )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:11: DECLARE id= identifier LEFT_CURLY type_decl_attribute[$declaration] ( COMMA type_decl_attribute[$declaration] )* RIGHT_CURLY
@@ -1232,7 +1280,7 @@
if ( backtracking==0 ) {
declaration.setTypeName( input.toString(id.start,id.stop) );
-
+
}
match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_type_declaration694); if (failed) return declaration;
pushFollow(FOLLOW_type_decl_attribute_in_type_declaration720);
@@ -1327,7 +1375,7 @@
if ( backtracking==0 ) {
declaration.addAttribute( input.toString(att.start,att.stop), getString( val.getText() ) );
-
+
}
}
@@ -1342,7 +1390,7 @@
if ( backtracking==0 ) {
declaration.addAttribute( input.toString(att.start,att.stop), cl );
-
+
}
}
@@ -1382,9 +1430,9 @@
query = null;
AndDescr lhs = null;
List params = null;
- List types = null;
-
-
+ List types = null;
+
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:408:2: ( QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:409:3: QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon
@@ -1396,14 +1444,14 @@
_fsp--;
if (failed) return query;
if ( backtracking==0 ) {
-
- query = factory.createQuery( queryName.name );
+
+ query = factory.createQuery( queryName.name );
query.setLocation( offset(QUERY7.getLine()), QUERY7.getCharPositionInLine() );
query.setStartCharacter( ((CommonToken)QUERY7).getStartIndex() );
- lhs = new AndDescr(); query.setLhs( lhs );
+ lhs = new AndDescr(); query.setLhs( lhs );
lhs.setLocation( offset(QUERY7.getLine()), QUERY7.getCharPositionInLine() );
location.setType( Location.LOCATION_RULE_HEADER );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:418:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?
int alt19=2;
@@ -1458,7 +1506,7 @@
paramName=(Token)input.LT(1);
match(input,ID,FOLLOW_ID_in_query976); if (failed) return query;
if ( backtracking==0 ) {
- params.add( paramName.getText() ); String type = (paramType != null) ? paramType.text : "Object"; types.add( type );
+ params.add( paramName.getText() ); String type = (paramType != null) ? paramType.text : "Object"; types.add( type );
}
}
@@ -1507,7 +1555,7 @@
paramName=(Token)input.LT(1);
match(input,ID,FOLLOW_ID_in_query1006); if (failed) return query;
if ( backtracking==0 ) {
- params.add( paramName.getText() ); String type = (paramType != null) ? paramType.text : "Object"; types.add( type );
+ params.add( paramName.getText() ); String type = (paramType != null) ? paramType.text : "Object"; types.add( type );
}
}
@@ -1519,9 +1567,9 @@
} while (true);
if ( backtracking==0 ) {
- query.setParameters( (String[]) params.toArray( new String[params.size()] ) );
- query.setParameterTypes( (String[]) types.toArray( new String[types.size()] ) );
-
+ query.setParameters( (String[]) params.toArray( new String[params.size()] ) );
+ query.setParameterTypes( (String[]) types.toArray( new String[types.size()] ) );
+
}
}
@@ -1539,7 +1587,7 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-
+
}
pushFollow(FOLLOW_normal_lhs_block_in_query1085);
normal_lhs_block(lhs);
@@ -1554,7 +1602,7 @@
if ( backtracking==0 ) {
query.setEndCharacter( ((CommonToken)END8).getStopIndex() );
-
+
}
}
@@ -1584,8 +1632,8 @@
- template = null;
-
+ template = null;
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:444:2: ( TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:445:3: TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon
@@ -1603,9 +1651,9 @@
if ( backtracking==0 ) {
template = new FactTemplateDescr(templateName.name);
- template.setLocation( offset(TEMPLATE9.getLine()), TEMPLATE9.getCharPositionInLine() );
+ template.setLocation( offset(TEMPLATE9.getLine()), TEMPLATE9.getCharPositionInLine() );
template.setStartCharacter( ((CommonToken)TEMPLATE9).getStartIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:451:3: (slot= template_slot )+
int cnt20=0;
@@ -1630,7 +1678,7 @@
if ( backtracking==0 ) {
template.addFieldTemplate( slot );
-
+
}
}
@@ -1655,7 +1703,7 @@
if ( backtracking==0 ) {
template.setEndCharacter( ((CommonToken)END10).getStopIndex() );
-
+
}
}
@@ -1684,7 +1732,7 @@
field = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:467:2: (fieldType= qualified_id id= identifier opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:468:11: fieldType= qualified_id id= identifier opt_semicolon
@@ -1692,7 +1740,7 @@
if ( backtracking==0 ) {
field = factory.createFieldTemplate();
-
+
}
pushFollow(FOLLOW_qualified_id_in_template_slot1204);
fieldType=qualified_id();
@@ -1703,7 +1751,7 @@
field.setClassType( fieldType.text );
field.setStartCharacter( ((CommonToken)((Token)fieldType.start)).getStartIndex() );
field.setEndCharacter( ((CommonToken)((Token)fieldType.stop)).getStopIndex() );
-
+
}
pushFollow(FOLLOW_identifier_in_template_slot1220);
id=identifier();
@@ -1718,7 +1766,7 @@
field.setName( input.toString(id.start,id.stop) );
field.setLocation( offset(((Token)id.start).getLine()), ((Token)id.start).getCharPositionInLine() );
field.setEndCharacter( ((CommonToken)((Token)id.start)).getStopIndex() );
-
+
}
}
@@ -1748,7 +1796,7 @@
rule = null;
AndDescr lhs = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:491:2: ( RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( ':' )? normal_lhs_block[lhs] )? rhs_chunk[$rule] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:492:3: RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( ':' )? normal_lhs_block[lhs] )? rhs_chunk[$rule]
@@ -1760,15 +1808,15 @@
_fsp--;
if (failed) return rule;
if ( backtracking==0 ) {
-
+
location.setType( Location.LOCATION_RULE_HEADER );
debug( "start rule: " + ruleName.name );
- rule = new RuleDescr( ruleName.name, null );
+ rule = new RuleDescr( ruleName.name, null );
rule.setLocation( offset(RULE11.getLine()), RULE11.getCharPositionInLine() );
rule.setStartCharacter( ((CommonToken)RULE11).getStartIndex() );
- lhs = new AndDescr();
- rule.setLhs( lhs );
-
+ lhs = new AndDescr();
+ rule.setLhs( lhs );
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:502:3: ( rule_attributes[$rule] )?
int alt21=2;
@@ -1823,11 +1871,11 @@
}
if ( backtracking==0 ) {
-
+
this.location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
lhs.setLocation( offset(WHEN12.getLine()), WHEN12.getCharPositionInLine() );
lhs.setStartCharacter( ((CommonToken)WHEN12).getStartIndex() );
-
+
}
pushFollow(FOLLOW_normal_lhs_block_in_rule1291);
normal_lhs_block(lhs);
@@ -1892,7 +1940,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- rule.addAttribute( attr );
+ rule.addAttribute( attr );
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:2: ( ( ',' )? attr= rule_attribute )*
loop26:
@@ -1932,7 +1980,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- rule.addAttribute( attr );
+ rule.addAttribute( attr );
}
}
@@ -1968,7 +2016,7 @@
attr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:533:2: (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect )
int alt27=12;
@@ -2167,7 +2215,7 @@
if ( backtracking==0 ) {
attr = a;
-
+
}
}
catch (RecognitionException re) {
@@ -2191,7 +2239,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:551:2: ( DATE_EFFECTIVE STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:552:3: DATE_EFFECTIVE STRING
@@ -2206,7 +2254,7 @@
descr.setLocation( offset( DATE_EFFECTIVE14.getLine() ), DATE_EFFECTIVE14.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)DATE_EFFECTIVE14).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING13).getStopIndex() );
-
+
}
}
@@ -2233,7 +2281,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:566:2: ( DATE_EXPIRES STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:566:4: DATE_EXPIRES STRING
@@ -2248,7 +2296,7 @@
descr.setLocation( offset(DATE_EXPIRES16.getLine()), DATE_EXPIRES16.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)DATE_EXPIRES16).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING15).getStopIndex() );
-
+
}
}
@@ -2275,7 +2323,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:579:2: ( ENABLED BOOL )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:579:5: ENABLED BOOL
@@ -2290,7 +2338,7 @@
descr.setLocation( offset(ENABLED18.getLine()), ENABLED18.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)ENABLED18).getStartIndex() );
descr.setEndCharacter( ((CommonToken)BOOL17).getStopIndex() );
-
+
}
}
@@ -2319,7 +2367,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:592:2: ( SALIENCE ( INT | txt= paren_chunk ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:593:3: SALIENCE ( INT | txt= paren_chunk )
@@ -2331,7 +2379,7 @@
descr = new AttributeDescr( "salience" );
descr.setLocation( offset(SALIENCE19.getLine()), SALIENCE19.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)SALIENCE19).getStartIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:599:3: ( INT | txt= paren_chunk )
int alt28=2;
@@ -2360,7 +2408,7 @@
descr.setValue( INT20.getText() );
descr.setEndCharacter( ((CommonToken)INT20).getStopIndex() );
-
+
}
}
@@ -2376,7 +2424,7 @@
descr.setValue( input.toString(txt.start,txt.stop) );
descr.setEndCharacter( ((CommonToken)((Token)txt.stop)).getStopIndex() );
-
+
}
}
@@ -2409,7 +2457,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:616:2: ( NO_LOOP ( BOOL )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:616:4: NO_LOOP ( BOOL )?
@@ -2422,7 +2470,7 @@
descr.setLocation( offset(NO_LOOP21.getLine()), NO_LOOP21.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)NO_LOOP21).getStartIndex() );
descr.setEndCharacter( ((CommonToken)NO_LOOP21).getStopIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:623:3: ( BOOL )?
int alt29=2;
@@ -2441,7 +2489,7 @@
descr.setValue( BOOL22.getText() );
descr.setEndCharacter( ((CommonToken)BOOL22).getStopIndex() );
-
+
}
}
@@ -2474,7 +2522,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:2: ( AUTO_FOCUS ( BOOL )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:4: AUTO_FOCUS ( BOOL )?
@@ -2487,7 +2535,7 @@
descr.setLocation( offset(AUTO_FOCUS23.getLine()), AUTO_FOCUS23.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)AUTO_FOCUS23).getStartIndex() );
descr.setEndCharacter( ((CommonToken)AUTO_FOCUS23).getStopIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:642:3: ( BOOL )?
int alt30=2;
@@ -2506,7 +2554,7 @@
descr.setValue( BOOL24.getText() );
descr.setEndCharacter( ((CommonToken)BOOL24).getStopIndex() );
-
+
}
}
@@ -2539,7 +2587,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:2: ( ACTIVATION_GROUP STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:4: ACTIVATION_GROUP STRING
@@ -2554,7 +2602,7 @@
descr.setLocation( offset(ACTIVATION_GROUP26.getLine()), ACTIVATION_GROUP26.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)ACTIVATION_GROUP26).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING25).getStopIndex() );
-
+
}
}
@@ -2581,7 +2629,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:667:2: ( RULEFLOW_GROUP STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:667:4: RULEFLOW_GROUP STRING
@@ -2596,7 +2644,7 @@
descr.setLocation( offset(RULEFLOW_GROUP28.getLine()), RULEFLOW_GROUP28.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)RULEFLOW_GROUP28).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING27).getStopIndex() );
-
+
}
}
@@ -2623,7 +2671,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:680:2: ( AGENDA_GROUP STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:680:4: AGENDA_GROUP STRING
@@ -2638,7 +2686,7 @@
descr.setLocation( offset(AGENDA_GROUP30.getLine()), AGENDA_GROUP30.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)AGENDA_GROUP30).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING29).getStopIndex() );
-
+
}
}
@@ -2665,7 +2713,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:693:2: ( DURATION INT )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:693:4: DURATION INT
@@ -2680,7 +2728,7 @@
descr.setLocation( offset(DURATION32.getLine()), DURATION32.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)DURATION32).getStartIndex() );
descr.setEndCharacter( ((CommonToken)INT31).getStopIndex() );
-
+
}
}
@@ -2707,7 +2755,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:706:2: ( DIALECT STRING )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:706:4: DIALECT STRING
@@ -2722,7 +2770,7 @@
descr.setLocation( offset(DIALECT34.getLine()), DIALECT34.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)DIALECT34).getStartIndex() );
descr.setEndCharacter( ((CommonToken)STRING33).getStopIndex() );
-
+
}
}
@@ -2749,7 +2797,7 @@
descr = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:719:2: ( LOCK_ON_ACTIVE ( BOOL )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:719:4: LOCK_ON_ACTIVE ( BOOL )?
@@ -2762,7 +2810,7 @@
descr.setLocation( offset(LOCK_ON_ACTIVE35.getLine()), LOCK_ON_ACTIVE35.getCharPositionInLine() );
descr.setStartCharacter( ((CommonToken)LOCK_ON_ACTIVE35).getStartIndex() );
descr.setEndCharacter( ((CommonToken)LOCK_ON_ACTIVE35).getStopIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:726:3: ( BOOL )?
int alt31=2;
@@ -2781,7 +2829,7 @@
descr.setValue( BOOL36.getText() );
descr.setEndCharacter( ((CommonToken)BOOL36).getStopIndex() );
-
+
}
}
@@ -2812,7 +2860,7 @@
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:738:2: ( (d= lhs[$descr] )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:739:3: (d= lhs[$descr] )*
@@ -2837,7 +2885,7 @@
_fsp--;
if (failed) return ;
if ( backtracking==0 ) {
- if( d != null) descr.addDescr( d );
+ if( d != null) descr.addDescr( d );
}
}
@@ -2873,7 +2921,7 @@
d =null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:749:2: (l= lhs_or )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:749:4: l= lhs_or
@@ -2883,7 +2931,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = l;
+ d = l;
}
}
@@ -2915,7 +2963,7 @@
d = null;
OrDescr or = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:2: ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* )
int alt35=2;
@@ -2959,7 +3007,7 @@
or = new OrDescr();
d = or;
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:764:3: (lhsand= lhs_and )+
int cnt33=0;
@@ -2984,7 +3032,7 @@
if ( backtracking==0 ) {
or.addDescr( lhsand );
-
+
}
}
@@ -3012,7 +3060,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = left;
+ d = left;
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:771:3: ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
loop34:
@@ -3043,7 +3091,7 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
-
+
}
pushFollow(FOLLOW_lhs_and_in_lhs_or2082);
right=lhs_and();
@@ -3056,9 +3104,9 @@
or.addDescr( left );
d = or;
}
-
+
or.addDescr( right );
-
+
}
}
@@ -3101,7 +3149,7 @@
d = null;
AndDescr and = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:793:2: ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* )
int alt38=2;
@@ -3145,7 +3193,7 @@
and = new AndDescr();
d = and;
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:799:3: (lhsunary= lhs_unary )+
int cnt36=0;
@@ -3170,7 +3218,7 @@
if ( backtracking==0 ) {
and.addDescr( lhsunary );
-
+
}
}
@@ -3198,7 +3246,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = left;
+ d = left;
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:806:3: ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
loop37:
@@ -3229,7 +3277,7 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
-
+
}
pushFollow(FOLLOW_lhs_unary_in_lhs_and2179);
right=lhs_unary();
@@ -3242,9 +3290,9 @@
and.addDescr( left );
d = and;
}
-
+
and.addDescr( right );
-
+
}
}
@@ -3284,7 +3332,7 @@
d = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:827:2: ( ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:827:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon
@@ -3327,7 +3375,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
}
@@ -3340,7 +3388,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
}
@@ -3353,7 +3401,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
}
@@ -3366,7 +3414,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
}
@@ -3381,7 +3429,7 @@
if (failed) return d;
match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_unary2303); if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
}
@@ -3394,7 +3442,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = (BaseDescr) ps;
+ d = (BaseDescr) ps;
}
}
@@ -3439,7 +3487,7 @@
d = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:841:2: (u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:3: u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
@@ -3449,7 +3497,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- d = u;
+ d = u;
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:843:3: ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
int alt41=3;
@@ -3478,7 +3526,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) ep);
+ if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) ep);
}
}
@@ -3494,7 +3542,7 @@
location.setType(Location.LOCATION_LHS_FROM);
location.setProperty(Location.LOCATION_FROM_CONTENT, "");
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:853:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
int alt40=3;
@@ -3556,7 +3604,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) ac);
+ if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) ac);
}
}
@@ -3575,7 +3623,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) cs);
+ if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) cs);
}
}
@@ -3594,7 +3642,7 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) fm);
+ if( d != null ) ((PatternDescr)d).setSource((PatternSourceDescr) fm);
}
}
@@ -3640,7 +3688,7 @@
d = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:866:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:866:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
@@ -3649,11 +3697,11 @@
match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist2589); if (failed) return d;
if ( backtracking==0 ) {
- d = new ExistsDescr( );
+ d = new ExistsDescr( );
d.setLocation( offset(EXISTS37.getLine()), EXISTS37.getCharPositionInLine() );
d.setStartCharacter( ((CommonToken)EXISTS37).getStartIndex() );
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
int alt42=2;
@@ -3685,12 +3733,12 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if ( or != null ) ((ExistsDescr)d).addDescr( or );
+ if ( or != null ) ((ExistsDescr)d).addDescr( or );
}
RIGHT_PAREN38=(Token)input.LT(1);
match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist2643); if (failed) return d;
if ( backtracking==0 ) {
- d.setEndCharacter( ((CommonToken)RIGHT_PAREN38).getStopIndex() );
+ d.setEndCharacter( ((CommonToken)RIGHT_PAREN38).getStopIndex() );
}
}
@@ -3711,7 +3759,7 @@
((ExistsDescr)d).addDescr( pattern );
d.setEndCharacter( pattern.getEndCharacter() );
}
-
+
}
}
@@ -3748,7 +3796,7 @@
d = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
@@ -3757,11 +3805,11 @@
match(input,NOT,FOLLOW_NOT_in_lhs_not2745); if (failed) return d;
if ( backtracking==0 ) {
- d = new NotDescr( );
+ d = new NotDescr( );
d.setLocation( offset(NOT39.getLine()), NOT39.getCharPositionInLine() );
d.setStartCharacter( ((CommonToken)NOT39).getStartIndex() );
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:899:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
int alt43=2;
@@ -3793,12 +3841,12 @@
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
- if ( or != null ) d.addDescr( or );
+ if ( or != null ) d.addDescr( or );
}
RIGHT_PAREN40=(Token)input.LT(1);
match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not2793); if (failed) return d;
if ( backtracking==0 ) {
- d.setEndCharacter( ((CommonToken)RIGHT_PAREN40).getStopIndex() );
+ d.setEndCharacter( ((CommonToken)RIGHT_PAREN40).getStopIndex() );
}
}
@@ -3819,7 +3867,7 @@
d.addDescr( pattern );
d.setEndCharacter( pattern.getEndCharacter() );
}
-
+
}
}
@@ -3853,7 +3901,7 @@
d = new EvalDescr( );
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:919:2: ( EVAL c= paren_chunk )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:920:3: EVAL c= paren_chunk
@@ -3863,14 +3911,14 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_INSIDE_EVAL );
-
+
}
pushFollow(FOLLOW_paren_chunk_in_lhs_eval2887);
c=paren_chunk();
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
-
+
d.setStartCharacter( ((CommonToken)EVAL41).getStartIndex() );
if( input.toString(c.start,c.stop) != null ) {
this.location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
@@ -3882,7 +3930,7 @@
if( ((Token)c.stop) != null ) {
d.setEndCharacter( ((CommonToken)((Token)c.stop)).getStopIndex() );
}
-
+
}
}
@@ -3913,7 +3961,7 @@
d = factory.createForall();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:944:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:944:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
@@ -3931,7 +3979,7 @@
// adding the base pattern
d.addDescr( base );
d.setLocation( offset(FORALL42.getLine()), FORALL42.getCharPositionInLine() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:951:3: (pattern= lhs_pattern )*
loop44:
@@ -3956,7 +4004,7 @@
// adding additional patterns
d.addDescr( pattern );
-
+
}
}
@@ -3972,7 +4020,7 @@
if ( backtracking==0 ) {
d.setEndCharacter( ((CommonToken)RIGHT_PAREN43).getStopIndex() );
-
+
}
}
@@ -3999,7 +4047,7 @@
d =null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:970:2: (f= fact_binding | f= fact[null] )
int alt45=2;
@@ -4055,7 +4103,7 @@
if ( backtracking==0 ) {
d =f;
-
+
}
}
catch (RecognitionException re) {
@@ -4079,7 +4127,7 @@
d =factory.createFrom();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:978:2: (ds= from_source[$d] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:979:2: ds= from_source[$d]
@@ -4091,7 +4139,7 @@
if ( backtracking==0 ) {
d.setDataSource( ds );
-
+
}
}
@@ -4123,7 +4171,7 @@
d = factory.createAccumulate();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:990:2: ( ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:991:10: ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
@@ -4131,11 +4179,11 @@
ACCUMULATE44=(Token)input.LT(1);
match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement3055); if (failed) return d;
if ( backtracking==0 ) {
-
+
d.setLocation( offset(ACCUMULATE44.getLine()), ACCUMULATE44.getCharPositionInLine() );
d.setStartCharacter( ((CommonToken)ACCUMULATE44).getStartIndex() );
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE );
-
+
}
match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement3065); if (failed) return d;
pushFollow(FOLLOW_lhs_or_in_accumulate_statement3069);
@@ -4163,7 +4211,7 @@
if ( backtracking==0 ) {
d.setInput( inputCE );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1001:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
int alt51=2;
@@ -4193,7 +4241,7 @@
if ( backtracking==0 ) {
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT );
-
+
}
pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3102);
text=paren_chunk();
@@ -4224,7 +4272,7 @@
location.setProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT, d.getInitCode());
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION );
}
-
+
}
match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement3115); if (failed) return d;
pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3119);
@@ -4256,7 +4304,7 @@
location.setProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT, d.getActionCode());
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE );
}
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1022:4: ( REVERSE text= paren_chunk ( COMMA )? )?
int alt50=2;
@@ -4299,7 +4347,7 @@
location.setProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT, d.getReverseCode());
location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT );
}
-
+
}
}
@@ -4318,7 +4366,7 @@
d.setResultCode( safeSubstring( input.toString(text.start,text.stop), 1, input.toString(text.start,text.stop).length()-1 ) );
location.setProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT, d.getResultCode());
}
-
+
}
}
@@ -4348,7 +4396,7 @@
d.setExpression( safeSubstring( input.toString(text.start,text.stop), 1, input.toString(text.start,text.stop).length()-1 ) );
location.setProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_EXPRESSION_CONTENT, d.getExpression());
}
-
+
}
}
@@ -4365,7 +4413,7 @@
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
d.setEndCharacter( ((CommonToken)RIGHT_PAREN45).getStopIndex() );
-
+
}
}
@@ -4396,7 +4444,7 @@
ds = null;
AccessorDescr ad = null;
FunctionCallDescr fc = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1067:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1067:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
@@ -4407,13 +4455,13 @@
if (failed) return ds;
if ( backtracking==0 ) {
- ad = new AccessorDescr(ident.start.getText());
+ ad = new AccessorDescr(ident.start.getText());
ad.setLocation( offset(ident.start.getLine()), ident.start.getCharPositionInLine() );
ad.setStartCharacter( ((CommonToken)ident.start).getStartIndex() );
ad.setEndCharacter( ((CommonToken)ident.start).getStopIndex() );
ds = ad;
location.setProperty(Location.LOCATION_FROM_CONTENT, ident.start.getText());
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1076:3: ( options {k=1; } : args= paren_chunk )?
int alt52=2;
@@ -4435,14 +4483,14 @@
if( input.toString(args.start,args.stop) != null ) {
ad.setVariableName( null );
fc = new FunctionCallDescr(((Token)ident.start).getText());
- fc.setLocation( offset(((Token)ident.start).getLine()), ((Token)ident.start).getCharPositionInLine() );
+ fc.setLocation( offset(((Token)ident.start).getLine()), ((Token)ident.start).getCharPositionInLine() );
fc.setArguments(input.toString(args.start,args.stop));
fc.setStartCharacter( ((CommonToken)((Token)ident.start)).getStartIndex() );
fc.setEndCharacter( ((CommonToken)((Token)ident.start)).getStopIndex() );
location.setProperty(Location.LOCATION_FROM_CONTENT, input.toString(args.start,args.stop));
from.setEndCharacter( ((CommonToken)((Token)args.stop)).getStopIndex() );
}
-
+
}
}
@@ -4487,7 +4535,7 @@
}
location.setProperty(Location.LOCATION_FROM_CONTENT, ad.toString() );
}
-
+
}
return ds;
}
@@ -4506,8 +4554,8 @@
FieldAccessDescr fa = null;
- MethodAccessDescr ma = null;
-
+ MethodAccessDescr ma = null;
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1113:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1114:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
@@ -4522,11 +4570,11 @@
if (failed) return ;
if ( backtracking==0 ) {
- fa = new FieldAccessDescr(((Token)field.start).getText());
+ fa = new FieldAccessDescr(((Token)field.start).getText());
fa.setLocation( offset(((Token)field.start).getLine()), ((Token)field.start).getCharPositionInLine() );
fa.setStartCharacter( ((CommonToken)((Token)field.start)).getStartIndex() );
fa.setEndCharacter( ((CommonToken)((Token)field.start)).getStopIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1121:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
int alt54=3;
@@ -4541,9 +4589,9 @@
if (failed) return ;
if ( backtracking==0 ) {
- fa.setArgument( input.toString(sqarg.start,sqarg.stop) );
+ fa.setArgument( input.toString(sqarg.start,sqarg.stop) );
from.setEndCharacter( ((CommonToken)((Token)sqarg.stop)).getStopIndex() );
-
+
}
}
@@ -4557,11 +4605,11 @@
if (failed) return ;
if ( backtracking==0 ) {
- ma = new MethodAccessDescr( ((Token)field.start).getText(), input.toString(paarg.start,paarg.stop) );
+ ma = new MethodAccessDescr( ((Token)field.start).getText(), input.toString(paarg.start,paarg.stop) );
ma.setLocation( offset(((Token)field.start).getLine()), ((Token)field.start).getCharPositionInLine() );
ma.setStartCharacter( ((CommonToken)((Token)field.start)).getStartIndex() );
from.setEndCharacter( ((CommonToken)((Token)paarg.stop)).getStopIndex() );
-
+
}
}
@@ -4609,7 +4657,7 @@
} else {
as.addFirstInvoker( fa );
}
-
+
}
return ;
}
@@ -4628,7 +4676,7 @@
d = factory.createCollect();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1154:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
@@ -4636,11 +4684,11 @@
COLLECT46=(Token)input.LT(1);
match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement3445); if (failed) return d;
if ( backtracking==0 ) {
-
+
d.setLocation( offset(COLLECT46.getLine()), COLLECT46.getCharPositionInLine() );
d.setStartCharacter( ((CommonToken)COLLECT46).getStartIndex() );
location.setType( Location.LOCATION_LHS_FROM_COLLECT );
-
+
}
match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement3455); if (failed) return d;
pushFollow(FOLLOW_pattern_source_in_collect_statement3459);
@@ -4654,7 +4702,7 @@
d.setInputPattern( (PatternDescr) pattern );
d.setEndCharacter( ((CommonToken)RIGHT_PAREN47).getStopIndex() );
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-
+
}
}
@@ -4682,7 +4730,7 @@
d = factory.createEntryPoint();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1173:2: ( ENTRY_POINT id= name )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1174:10: ENTRY_POINT id= name
@@ -4690,11 +4738,11 @@
ENTRY_POINT48=(Token)input.LT(1);
match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_entrypoint_statement3498); if (failed) return d;
if ( backtracking==0 ) {
-
+
d.setLocation( offset(ENTRY_POINT48.getLine()), ENTRY_POINT48.getCharPositionInLine() );
d.setStartCharacter( ((CommonToken)ENTRY_POINT48).getStartIndex() );
location.setType( Location.LOCATION_LHS_FROM_ENTRY_POINT );
-
+
}
pushFollow(FOLLOW_name_in_entrypoint_statement3510);
id=name();
@@ -4705,7 +4753,7 @@
d.setEntryId( id.name );
d.setEndCharacter( ((CommonToken)((Token)id.stop)).getStopIndex() );
location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-
+
}
}
@@ -4738,7 +4786,7 @@
d =null;
OrDescr or = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1193:3: ( ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1194:4: ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
@@ -4751,7 +4799,7 @@
// handling incomplete parsing
d = new PatternDescr( );
((PatternDescr) d).setIdentifier( ID49.getText() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1200:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
int alt57=2;
@@ -4785,7 +4833,7 @@
if( d != null ) {
d.setStartCharacter( ((CommonToken)ID49).getStartIndex() );
}
-
+
}
}
@@ -4805,7 +4853,7 @@
if( d != null ) {
d.setStartCharacter( ((CommonToken)ID49).getStartIndex() );
}
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1217:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
loop56:
@@ -4845,7 +4893,7 @@
d = or;
}
or.addDescr( right );
-
+
}
}
@@ -4891,7 +4939,7 @@
d =null;
PatternDescr pattern = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1237:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1238:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
@@ -4902,21 +4950,21 @@
if( ident != null ) {
pattern.setIdentifier( ident );
}
- d = pattern;
-
+ d = pattern;
+
}
pushFollow(FOLLOW_qualified_id_in_fact3676);
id=qualified_id();
_fsp--;
if (failed) return d;
if ( backtracking==0 ) {
-
+
if( id != null ) {
pattern.setObjectType( id.text );
pattern.setEndCharacter( -1 );
pattern.setStartCharacter( ((CommonToken)((Token)id.start)).getStartIndex() );
}
-
+
}
LEFT_PAREN50=(Token)input.LT(1);
match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact3686); if (failed) return d;
@@ -4924,10 +4972,10 @@
location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
location.setProperty( Location.LOCATION_PROPERTY_CLASS_NAME, id.text );
-
+
pattern.setLocation( offset(LEFT_PAREN50.getLine()), LEFT_PAREN50.getCharPositionInLine() );
pattern.setLeftParentCharacter( ((CommonToken)LEFT_PAREN50).getStartIndex() );
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1261:4: ( constraints[pattern] )?
int alt58=2;
@@ -4956,11 +5004,11 @@
if( ")".equals( RIGHT_PAREN51.getText() ) ) {
this.location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
- pattern.setEndLocation( offset(RIGHT_PAREN51.getLine()), RIGHT_PAREN51.getCharPositionInLine() );
+ pattern.setEndLocation( offset(RIGHT_PAREN51.getLine()), RIGHT_PAREN51.getCharPositionInLine() );
pattern.setEndCharacter( ((CommonToken)RIGHT_PAREN51).getStopIndex() );
pattern.setRightParentCharacter( ((CommonToken)RIGHT_PAREN51).getStartIndex() );
}
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1271:4: ( EOF )?
int alt59=2;
@@ -5023,7 +5071,7 @@
{
match(input,COMMA,FOLLOW_COMMA_in_constraints3739); if (failed) return ;
if ( backtracking==0 ) {
- location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
+ location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
}
pushFollow(FOLLOW_constraint_in_constraints3748);
constraint(pattern);
@@ -5060,7 +5108,7 @@
ConditionalElementDescr top = null;
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME, input.LT(1).getText() );
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1288:2: ( or_constr[top] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1289:3: or_constr[top]
@@ -5068,7 +5116,7 @@
if ( backtracking==0 ) {
top = pattern.getConstraint();
-
+
}
pushFollow(FOLLOW_or_constr_in_constraint3781);
or_constr(top);
@@ -5094,7 +5142,7 @@
public final void or_constr(ConditionalElementDescr base) throws RecognitionException {
OrDescr or = new OrDescr();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1299:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1300:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
@@ -5122,7 +5170,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
-
+
}
pushFollow(FOLLOW_and_constr_in_or_constr3821);
and_constr(or);
@@ -5144,7 +5192,7 @@
} else if ( or.getDescrs().size() > 1 ) {
base.addDescr( or );
}
-
+
}
}
@@ -5166,7 +5214,7 @@
public final void and_constr(ConditionalElementDescr base) throws RecognitionException {
AndDescr and = new AndDescr();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1320:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1321:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
@@ -5194,7 +5242,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
-
+
}
pushFollow(FOLLOW_unary_constr_in_and_constr3870);
unary_constr(and);
@@ -5216,7 +5264,7 @@
} else if( and.getDescrs().size() > 1) {
base.addDescr( and );
}
-
+
}
}
@@ -5351,7 +5399,7 @@
FieldBindingDescr fbd = null;
FieldConstraintDescr fc = null;
RestrictionConnectiveDescr top = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1351:2: ( ( ID ':' f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) )
int alt65=2;
@@ -5395,14 +5443,14 @@
match(input,ID,FOLLOW_ID_in_field_constraint3958); if (failed) return ;
match(input,78,FOLLOW_78_in_field_constraint3960); if (failed) return ;
if ( backtracking==0 ) {
-
+
fbd = new FieldBindingDescr();
fbd.setIdentifier( ID52.getText() );
fbd.setLocation( offset(ID52.getLine()), ID52.getCharPositionInLine() );
fbd.setStartCharacter( ((CommonToken)ID52).getStartIndex() );
base.addDescr( fbd );
-
+
}
pushFollow(FOLLOW_accessor_path_in_field_constraint3979);
f=accessor_path();
@@ -5415,23 +5463,23 @@
if( f.text != null ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME, f.text);
-
+
if ( fbd != null ) {
fbd.setFieldName( f.text );
// may have been overwritten
fbd.setStartCharacter( ((CommonToken)ID52).getStartIndex() );
- }
+ }
fc = new FieldConstraintDescr(f.text);
fc.setLocation( offset(((Token)f.start).getLine()), ((Token)f.start).getCharPositionInLine() );
fc.setStartCharacter( ((CommonToken)((Token)f.start)).getStartIndex() );
top = fc.getRestriction();
-
+
// it must be a field constraint, as it is not a binding
if( ID52 == null ) {
base.addDescr( fc );
}
}
-
+
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1387:3: ( or_restr_connective[top] | '->' predicate[$base] )?
int alt64=3;
@@ -5457,7 +5505,7 @@
if( ID52 != null) {
base.addDescr( fc );
}
-
+
}
}
@@ -5499,15 +5547,15 @@
if( f.text != null ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME, f.text);
-
+
fc = new FieldConstraintDescr(f.text);
fc.setLocation( offset(((Token)f.start).getLine()), ((Token)f.start).getCharPositionInLine() );
fc.setStartCharacter( ((CommonToken)((Token)f.start)).getStartIndex() );
top = fc.getRestriction();
-
+
base.addDescr( fc );
}
-
+
}
pushFollow(FOLLOW_or_restr_connective_in_field_constraint4045);
or_restr_connective(top);
@@ -5533,7 +5581,7 @@
base.addDescr( fc );
}
throw nvae;
-
+
}
finally {
}
@@ -5547,7 +5595,7 @@
public final void or_restr_connective(RestrictionConnectiveDescr base) throws RecognitionException {
RestrictionConnectiveDescr or = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR);
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1440:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1441:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
@@ -5623,7 +5671,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
-
+
}
pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective4127);
and_restr_connective(or);
@@ -5653,7 +5701,7 @@
} else if ( or.getRestrictions().size() > 1 ) {
base.addRestriction( or );
}
-
+
}
return ;
}
@@ -5667,7 +5715,7 @@
RestrictionConnectiveDescr and = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND);
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1463:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1464:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
@@ -5836,7 +5884,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
-
+
}
pushFollow(FOLLOW_constraint_expression_in_and_restr_connective4190);
constraint_expression(and);
@@ -5866,7 +5914,7 @@
} else if ( and.getRestrictions().size() > 1 ) {
base.addRestriction( and );
}
-
+
}
return ;
}
@@ -5964,7 +6012,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
-
+
}
pushFollow(FOLLOW_or_restr_connective_in_constraint_expression4251);
or_restr_connective(base);
@@ -6006,7 +6054,7 @@
String op = null;
String paramText = null;
boolean isNegated = false;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1500:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1501:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText]
@@ -6307,8 +6355,8 @@
isNegated = n != null;
if( param != null ) {
paramText = safeSubstring( input.toString(param.start,param.stop), 1, input.toString(param.start,param.stop).length()-1 );
- }
-
+ }
+
}
pushFollow(FOLLOW_expression_value_in_simple_operator4611);
rd=expression_value(base, op, isNegated, paramText);
@@ -6327,7 +6375,7 @@
if ( rd == null && op != null ) {
base.addRestriction( new LiteralRestrictionDescr(op, false, null) );
}
-
+
}
return ;
}
@@ -6343,7 +6391,7 @@
String op = null;
RestrictionConnectiveDescr group = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1541:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN
@@ -6377,7 +6425,7 @@
base.addRestriction( group );
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT);
location.setProperty(Location.LOCATION_PROPERTY_OPERATOR, "in");
-
+
}
}
@@ -6394,7 +6442,7 @@
base.addRestriction( group );
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT);
location.setProperty(Location.LOCATION_PROPERTY_OPERATOR, "in");
-
+
}
}
@@ -6440,7 +6488,7 @@
if ( backtracking==0 ) {
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
-
+
}
}
@@ -6471,7 +6519,7 @@
rd = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1570:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1571:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
@@ -6537,13 +6585,13 @@
_fsp--;
if (failed) return rd;
if ( backtracking==0 ) {
-
+
if( ap.text.indexOf( '.' ) > -1 || ap.text.indexOf( '[' ) > -1) {
rd = new QualifiedIdentifierRestrictionDescr(op, isNegated, paramText, ap.text);
} else {
rd = new VariableRestrictionDescr(op, isNegated, paramText, ap.text);
}
-
+
}
}
@@ -6556,9 +6604,9 @@
_fsp--;
if (failed) return rd;
if ( backtracking==0 ) {
-
+
rd = new LiteralRestrictionDescr(op, isNegated, paramText, lc.text, lc.type );
-
+
}
}
@@ -6571,9 +6619,9 @@
_fsp--;
if (failed) return rd;
if ( backtracking==0 ) {
-
- rd = new ReturnValueRestrictionDescr(op, isNegated, paramText, safeSubstring( input.toString(rvc.start,rvc.stop), 1, input.toString(rvc.start,rvc.stop).length()-1) );
-
+
+ rd = new ReturnValueRestrictionDescr(op, isNegated, paramText, safeSubstring( input.toString(rvc.start,rvc.stop), 1, input.toString(rvc.start,rvc.stop).length()-1) );
+
}
}
@@ -6587,7 +6635,7 @@
base.addRestriction( rd );
}
location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
-
+
}
}
@@ -6618,7 +6666,7 @@
retval.text = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1600:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1600:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
@@ -6666,7 +6714,7 @@
t=(Token)input.LT(1);
match(input,STRING,FOLLOW_STRING_in_literal_constraint4805); if (failed) return retval;
if ( backtracking==0 ) {
- retval.text = getString( t.getText() ); retval.type = LiteralRestrictionDescr.TYPE_STRING;
+ retval.text = getString( t.getText() ); retval.type = LiteralRestrictionDescr.TYPE_STRING;
}
}
@@ -6677,7 +6725,7 @@
t=(Token)input.LT(1);
match(input,INT,FOLLOW_INT_in_literal_constraint4816); if (failed) return retval;
if ( backtracking==0 ) {
- retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
+ retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
}
}
@@ -6688,7 +6736,7 @@
t=(Token)input.LT(1);
match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint4829); if (failed) return retval;
if ( backtracking==0 ) {
- retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
+ retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
}
}
@@ -6699,7 +6747,7 @@
t=(Token)input.LT(1);
match(input,BOOL,FOLLOW_BOOL_in_literal_constraint4840); if (failed) return retval;
if ( backtracking==0 ) {
- retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_BOOLEAN;
+ retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_BOOLEAN;
}
}
@@ -6710,7 +6758,7 @@
t=(Token)input.LT(1);
match(input,NULL,FOLLOW_NULL_in_literal_constraint4852); if (failed) return retval;
if ( backtracking==0 ) {
- retval.text = null; retval.type = LiteralRestrictionDescr.TYPE_NULL;
+ retval.text = null; retval.type = LiteralRestrictionDescr.TYPE_NULL;
}
}
@@ -6743,7 +6791,7 @@
PredicateDescr d = null;
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1612:2: (text= paren_chunk )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1613:3: text= paren_chunk
@@ -6760,7 +6808,7 @@
d.setEndCharacter( ((CommonToken)((Token)text.stop)).getStopIndex() );
base.addDescr( d );
}
-
+
}
}
@@ -7029,7 +7077,7 @@
StringBuffer buf = new StringBuffer();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
@@ -7108,7 +7156,7 @@
if ( backtracking==0 ) {
retval.text = buf != null ? buf.toString() : "";
-
+
}
}
catch (RecognitionException re) {
@@ -7132,7 +7180,7 @@
StringBuffer buf = new StringBuffer();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1657:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1657:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
@@ -7211,7 +7259,7 @@
if ( backtracking==0 ) {
text = buf != null ? buf.toString() : "";
-
+
}
}
catch (RecognitionException re) {
@@ -7239,7 +7287,7 @@
StringBuffer buf = new StringBuffer();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:2: (a= accessor_element ( DOT a= accessor_element )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:4: a= accessor_element ( DOT a= accessor_element )*
@@ -7291,7 +7339,7 @@
if ( backtracking==0 ) {
retval.text = buf != null ? buf.toString() : "";
-
+
}
}
catch (RecognitionException re) {
@@ -7317,7 +7365,7 @@
StringBuffer buf = new StringBuffer();
-
+
try {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1677:2: (i= identifier (s= square_chunk )* )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1678:3: i= identifier (s= square_chunk )*
@@ -7366,7 +7414,7 @@
if ( backtracking==0 ) {
text = buf != null ? buf.toString() : "";
-
+
}
}
catch (RecognitionException re) {
@@ -7393,7 +7441,7 @@
THEN55=(Token)input.LT(1);
match(input,THEN,FOLLOW_THEN_in_rhs_chunk5202); if (failed) return ;
if ( backtracking==0 ) {
- location.setType( Location.LOCATION_RHS );
+ location.setType( Location.LOCATION_RHS );
}
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:3: (~ END )*
loop85:
@@ -7452,7 +7500,7 @@
rule.setConsequenceLocation(offset(THEN55.getLine()), THEN55.getCharPositionInLine());
rule.setEndCharacter( ((CommonToken)loc).getStopIndex() );
location.setProperty( Location.LOCATION_RHS_CONTENT, rule.getConsequence() );
-
+
}
}
@@ -7506,7 +7554,7 @@
ID56=(Token)input.LT(1);
match(input,ID,FOLLOW_ID_in_name5270); if (failed) return retval;
if ( backtracking==0 ) {
- retval.name = ID56.getText();
+ retval.name = ID56.getText();
}
}
@@ -7517,7 +7565,7 @@
STRING57=(Token)input.LT(1);
match(input,STRING,FOLLOW_STRING_in_name5278); if (failed) return retval;
if ( backtracking==0 ) {
- retval.name = getString( STRING57.getText() );
+ retval.name = getString( STRING57.getText() );
}
}
@@ -7578,7 +7626,7 @@
// $ANTLR end identifier
// $ANTLR start synpred1
- public final void synpred1_fragment() throws RecognitionException {
+ public final void synpred1_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:827:6: ( EXISTS )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:827:8: EXISTS
{
@@ -7589,7 +7637,7 @@
// $ANTLR end synpred1
// $ANTLR start synpred2
- public final void synpred2_fragment() throws RecognitionException {
+ public final void synpred2_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:828:5: ( NOT )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:828:7: NOT
{
@@ -7600,7 +7648,7 @@
// $ANTLR end synpred2
// $ANTLR start synpred3
- public final void synpred3_fragment() throws RecognitionException {
+ public final void synpred3_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:829:5: ( EVAL )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:829:7: EVAL
{
@@ -7611,7 +7659,7 @@
// $ANTLR end synpred3
// $ANTLR start synpred4
- public final void synpred4_fragment() throws RecognitionException {
+ public final void synpred4_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:830:5: ( FORALL )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:830:7: FORALL
{
@@ -7622,7 +7670,7 @@
// $ANTLR end synpred4
// $ANTLR start synpred5
- public final void synpred5_fragment() throws RecognitionException {
+ public final void synpred5_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:831:5: ( LEFT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:831:7: LEFT_PAREN
{
@@ -7633,7 +7681,7 @@
// $ANTLR end synpred5
// $ANTLR start synpred6
- public final void synpred6_fragment() throws RecognitionException {
+ public final void synpred6_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:13: ( FROM ENTRY_POINT )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:14: FROM ENTRY_POINT
{
@@ -7645,7 +7693,7 @@
// $ANTLR end synpred6
// $ANTLR start synpred9
- public final void synpred9_fragment() throws RecognitionException {
+ public final void synpred9_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1122:6: ( LEFT_SQUARE )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1122:8: LEFT_SQUARE
{
@@ -7656,7 +7704,7 @@
// $ANTLR end synpred9
// $ANTLR start synpred10
- public final void synpred10_fragment() throws RecognitionException {
+ public final void synpred10_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1128:6: ( LEFT_PAREN )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1128:8: LEFT_PAREN
{
@@ -7667,7 +7715,7 @@
// $ANTLR end synpred10
// $ANTLR start synpred11
- public final void synpred11_fragment() throws RecognitionException {
+ public final void synpred11_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1444:4: ( DOUBLE_PIPE and_restr_connective[or] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1444:4: DOUBLE_PIPE and_restr_connective[or]
{
@@ -7682,7 +7730,7 @@
// $ANTLR end synpred11
// $ANTLR start synpred12
- public final void synpred12_fragment() throws RecognitionException {
+ public final void synpred12_fragment() throws RecognitionException {
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1466:5: ( DOUBLE_AMPER constraint_expression[and] )
// /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1466:5: DOUBLE_AMPER constraint_expression[and]
{
@@ -8197,10 +8245,10 @@
public int specialStateTransition(int s, IntStream input) throws NoViableAltException {
int _s = s;
switch ( s ) {
- case 0 :
+ case 0 :
int LA54_40 = input.LA(1);
-
+
int index54_40 = input.index();
input.rewind();
s = -1;
@@ -8208,14 +8256,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_40);
if ( s>=0 ) return s;
break;
- case 1 :
+ case 1 :
int LA54_29 = input.LA(1);
-
+
int index54_29 = input.index();
input.rewind();
s = -1;
@@ -8231,14 +8279,14 @@
else if ( ((LA54_29>=PACKAGE && LA54_29<=ID)||LA54_29==GLOBAL||LA54_29==COMMA||(LA54_29>=DECLARE && LA54_29<=NULL)||(LA54_29>=RIGHT_SQUARE && LA54_29<=77)||(LA54_29>=79 && LA54_29<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_29);
if ( s>=0 ) return s;
break;
- case 2 :
+ case 2 :
int LA54_27 = input.LA(1);
-
+
int index54_27 = input.index();
input.rewind();
s = -1;
@@ -8254,14 +8302,14 @@
else if ( ((LA54_27>=PACKAGE && LA54_27<=ID)||LA54_27==GLOBAL||LA54_27==COMMA||(LA54_27>=DECLARE && LA54_27<=NULL)||(LA54_27>=RIGHT_SQUARE && LA54_27<=77)||(LA54_27>=79 && LA54_27<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_27);
if ( s>=0 ) return s;
break;
- case 3 :
+ case 3 :
int LA54_11 = input.LA(1);
-
+
int index54_11 = input.index();
input.rewind();
s = -1;
@@ -8277,14 +8325,14 @@
else if ( ((LA54_11>=PACKAGE && LA54_11<=ID)||LA54_11==GLOBAL||LA54_11==COMMA||(LA54_11>=DECLARE && LA54_11<=NULL)||(LA54_11>=RIGHT_SQUARE && LA54_11<=77)||(LA54_11>=79 && LA54_11<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_11);
if ( s>=0 ) return s;
break;
- case 4 :
+ case 4 :
int LA54_35 = input.LA(1);
-
+
int index54_35 = input.index();
input.rewind();
s = -1;
@@ -8292,14 +8340,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_35);
if ( s>=0 ) return s;
break;
- case 5 :
+ case 5 :
int LA54_63 = input.LA(1);
-
+
int index54_63 = input.index();
input.rewind();
s = -1;
@@ -8307,14 +8355,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_63);
if ( s>=0 ) return s;
break;
- case 6 :
+ case 6 :
int LA54_7 = input.LA(1);
-
+
int index54_7 = input.index();
input.rewind();
s = -1;
@@ -8326,14 +8374,14 @@
else if ( ((LA54_7>=PACKAGE && LA54_7<=FUNCTION)||(LA54_7>=DOT && LA54_7<=GLOBAL)||LA54_7==COMMA||(LA54_7>=DECLARE && LA54_7<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_7);
if ( s>=0 ) return s;
break;
- case 7 :
+ case 7 :
int LA54_31 = input.LA(1);
-
+
int index54_31 = input.index();
input.rewind();
s = -1;
@@ -8341,14 +8389,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_31);
if ( s>=0 ) return s;
break;
- case 8 :
+ case 8 :
int LA54_18 = input.LA(1);
-
+
int index54_18 = input.index();
input.rewind();
s = -1;
@@ -8356,14 +8404,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_18);
if ( s>=0 ) return s;
break;
- case 9 :
+ case 9 :
int LA54_34 = input.LA(1);
-
+
int index54_34 = input.index();
input.rewind();
s = -1;
@@ -8375,14 +8423,14 @@
else if ( (LA54_34==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_34);
if ( s>=0 ) return s;
break;
- case 10 :
+ case 10 :
int LA54_58 = input.LA(1);
-
+
int index54_58 = input.index();
input.rewind();
s = -1;
@@ -8394,14 +8442,14 @@
else if ( (LA54_58==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_58);
if ( s>=0 ) return s;
break;
- case 11 :
+ case 11 :
int LA54_62 = input.LA(1);
-
+
int index54_62 = input.index();
input.rewind();
s = -1;
@@ -8413,14 +8461,14 @@
else if ( (LA54_62==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_62);
if ( s>=0 ) return s;
break;
- case 12 :
+ case 12 :
int LA54_43 = input.LA(1);
-
+
int index54_43 = input.index();
input.rewind();
s = -1;
@@ -8432,14 +8480,14 @@
else if ( (LA54_43==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_43);
if ( s>=0 ) return s;
break;
- case 13 :
+ case 13 :
int LA54_9 = input.LA(1);
-
+
int index54_9 = input.index();
input.rewind();
s = -1;
@@ -8449,14 +8497,14 @@
else if ( ((LA54_9>=PACKAGE && LA54_9<=GLOBAL)||LA54_9==COMMA||(LA54_9>=DECLARE && LA54_9<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_9);
if ( s>=0 ) return s;
break;
- case 14 :
+ case 14 :
int LA54_50 = input.LA(1);
-
+
int index54_50 = input.index();
input.rewind();
s = -1;
@@ -8464,14 +8512,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_50);
if ( s>=0 ) return s;
break;
- case 15 :
+ case 15 :
int LA54_39 = input.LA(1);
-
+
int index54_39 = input.index();
input.rewind();
s = -1;
@@ -8487,14 +8535,14 @@
else if ( ((LA54_39>=PACKAGE && LA54_39<=ID)||LA54_39==GLOBAL||LA54_39==COMMA||(LA54_39>=DECLARE && LA54_39<=NULL)||(LA54_39>=RIGHT_SQUARE && LA54_39<=77)||(LA54_39>=79 && LA54_39<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_39);
if ( s>=0 ) return s;
break;
- case 16 :
+ case 16 :
int LA54_36 = input.LA(1);
-
+
int index54_36 = input.index();
input.rewind();
s = -1;
@@ -8510,14 +8558,14 @@
else if ( ((LA54_36>=PACKAGE && LA54_36<=ID)||LA54_36==GLOBAL||LA54_36==COMMA||(LA54_36>=DECLARE && LA54_36<=NULL)||(LA54_36>=RIGHT_SQUARE && LA54_36<=77)||(LA54_36>=79 && LA54_36<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_36);
if ( s>=0 ) return s;
break;
- case 17 :
+ case 17 :
int LA54_19 = input.LA(1);
-
+
int index54_19 = input.index();
input.rewind();
s = -1;
@@ -8533,14 +8581,14 @@
else if ( ((LA54_19>=PACKAGE && LA54_19<=ID)||LA54_19==GLOBAL||LA54_19==COMMA||(LA54_19>=DECLARE && LA54_19<=NULL)||(LA54_19>=RIGHT_SQUARE && LA54_19<=77)||(LA54_19>=79 && LA54_19<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_19);
if ( s>=0 ) return s;
break;
- case 18 :
+ case 18 :
int LA54_8 = input.LA(1);
-
+
int index54_8 = input.index();
input.rewind();
s = -1;
@@ -8552,14 +8600,14 @@
else if ( ((LA54_8>=PACKAGE && LA54_8<=FUNCTION)||(LA54_8>=DOT && LA54_8<=GLOBAL)||LA54_8==COMMA||(LA54_8>=DECLARE && LA54_8<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_8);
if ( s>=0 ) return s;
break;
- case 19 :
+ case 19 :
int LA54_52 = input.LA(1);
-
+
int index54_52 = input.index();
input.rewind();
s = -1;
@@ -8571,14 +8619,14 @@
else if ( ((LA54_52>=PACKAGE && LA54_52<=FUNCTION)||(LA54_52>=DOT && LA54_52<=GLOBAL)||LA54_52==COMMA||(LA54_52>=DECLARE && LA54_52<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_52);
if ( s>=0 ) return s;
break;
- case 20 :
+ case 20 :
int LA54_2 = input.LA(1);
-
+
int index54_2 = input.index();
input.rewind();
s = -1;
@@ -8602,14 +8650,14 @@
else if ( (LA54_2==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
+
input.seek(index54_2);
if ( s>=0 ) return s;
break;
- case 21 :
+ case 21 :
int LA54_59 = input.LA(1);
-
+
int index54_59 = input.index();
input.rewind();
s = -1;
@@ -8617,14 +8665,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_59);
if ( s>=0 ) return s;
break;
- case 22 :
+ case 22 :
int LA54_20 = input.LA(1);
-
+
int index54_20 = input.index();
input.rewind();
s = -1;
@@ -8632,14 +8680,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_20);
if ( s>=0 ) return s;
break;
- case 23 :
+ case 23 :
int LA54_46 = input.LA(1);
-
+
int index54_46 = input.index();
input.rewind();
s = -1;
@@ -8655,14 +8703,14 @@
else if ( ((LA54_46>=PACKAGE && LA54_46<=ID)||LA54_46==GLOBAL||LA54_46==COMMA||(LA54_46>=DECLARE && LA54_46<=NULL)||(LA54_46>=RIGHT_SQUARE && LA54_46<=77)||(LA54_46>=79 && LA54_46<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_46);
if ( s>=0 ) return s;
break;
- case 24 :
+ case 24 :
int LA54_25 = input.LA(1);
-
+
int index54_25 = input.index();
input.rewind();
s = -1;
@@ -8678,14 +8726,14 @@
else if ( ((LA54_25>=PACKAGE && LA54_25<=ID)||LA54_25==GLOBAL||LA54_25==COMMA||(LA54_25>=DECLARE && LA54_25<=NULL)||(LA54_25>=RIGHT_SQUARE && LA54_25<=77)||(LA54_25>=79 && LA54_25<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_25);
if ( s>=0 ) return s;
break;
- case 25 :
+ case 25 :
int LA54_49 = input.LA(1);
-
+
int index54_49 = input.index();
input.rewind();
s = -1;
@@ -8701,14 +8749,14 @@
else if ( ((LA54_49>=PACKAGE && LA54_49<=ID)||LA54_49==GLOBAL||LA54_49==COMMA||(LA54_49>=DECLARE && LA54_49<=NULL)||(LA54_49>=RIGHT_SQUARE && LA54_49<=77)||(LA54_49>=79 && LA54_49<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_49);
if ( s>=0 ) return s;
break;
- case 26 :
+ case 26 :
int LA54_64 = input.LA(1);
-
+
int index54_64 = input.index();
input.rewind();
s = -1;
@@ -8722,14 +8770,14 @@
else if ( ((LA54_64>=PACKAGE && LA54_64<=ID)||LA54_64==GLOBAL||LA54_64==COMMA||(LA54_64>=DECLARE && LA54_64<=NULL)||(LA54_64>=RIGHT_SQUARE && LA54_64<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_64);
if ( s>=0 ) return s;
break;
- case 27 :
+ case 27 :
int LA54_24 = input.LA(1);
-
+
int index54_24 = input.index();
input.rewind();
s = -1;
@@ -8739,14 +8787,14 @@
else if ( ((LA54_24>=PACKAGE && LA54_24<=GLOBAL)||LA54_24==COMMA||(LA54_24>=DECLARE && LA54_24<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_24);
if ( s>=0 ) return s;
break;
- case 28 :
+ case 28 :
int LA54_55 = input.LA(1);
-
+
int index54_55 = input.index();
input.rewind();
s = -1;
@@ -8754,14 +8802,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_55);
if ( s>=0 ) return s;
break;
- case 29 :
+ case 29 :
int LA54_22 = input.LA(1);
-
+
int index54_22 = input.index();
input.rewind();
s = -1;
@@ -8773,14 +8821,14 @@
else if ( ((LA54_22>=PACKAGE && LA54_22<=FUNCTION)||(LA54_22>=DOT && LA54_22<=GLOBAL)||LA54_22==COMMA||(LA54_22>=DECLARE && LA54_22<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_22);
if ( s>=0 ) return s;
break;
- case 30 :
+ case 30 :
int LA54_30 = input.LA(1);
-
+
int index54_30 = input.index();
input.rewind();
s = -1;
@@ -8788,14 +8836,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_30);
if ( s>=0 ) return s;
break;
- case 31 :
+ case 31 :
int LA54_17 = input.LA(1);
-
+
int index54_17 = input.index();
input.rewind();
s = -1;
@@ -8805,14 +8853,14 @@
else if ( ((LA54_17>=PACKAGE && LA54_17<=GLOBAL)||LA54_17==COMMA||(LA54_17>=DECLARE && LA54_17<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_17);
if ( s>=0 ) return s;
break;
- case 32 :
+ case 32 :
int LA54_51 = input.LA(1);
-
+
int index54_51 = input.index();
input.rewind();
s = -1;
@@ -8820,14 +8868,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_51);
if ( s>=0 ) return s;
break;
- case 33 :
+ case 33 :
int LA54_16 = input.LA(1);
-
+
int index54_16 = input.index();
input.rewind();
s = -1;
@@ -8837,14 +8885,14 @@
else if ( (LA54_16==LEFT_PAREN) ) {s = 40;}
-
+
input.seek(index54_16);
if ( s>=0 ) return s;
break;
- case 34 :
+ case 34 :
int LA54_65 = input.LA(1);
-
+
int index54_65 = input.index();
input.rewind();
s = -1;
@@ -8852,14 +8900,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_65);
if ( s>=0 ) return s;
break;
- case 35 :
+ case 35 :
int LA54_4 = input.LA(1);
-
+
int index54_4 = input.index();
input.rewind();
s = -1;
@@ -8879,14 +8927,14 @@
else if ( ((LA54_4>=PACKAGE && LA54_4<=FUNCTION)||(LA54_4>=DOT && LA54_4<=GLOBAL)||LA54_4==COMMA||(LA54_4>=DECLARE && LA54_4<=FROM)||(LA54_4>=ACCUMULATE && LA54_4<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_4);
if ( s>=0 ) return s;
break;
- case 36 :
+ case 36 :
int LA54_32 = input.LA(1);
-
+
int index54_32 = input.index();
input.rewind();
s = -1;
@@ -8898,14 +8946,14 @@
else if ( ((LA54_32>=PACKAGE && LA54_32<=FUNCTION)||(LA54_32>=DOT && LA54_32<=GLOBAL)||LA54_32==COMMA||(LA54_32>=DECLARE && LA54_32<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_32);
if ( s>=0 ) return s;
break;
- case 37 :
+ case 37 :
int LA54_56 = input.LA(1);
-
+
int index54_56 = input.index();
input.rewind();
s = -1;
@@ -8917,14 +8965,14 @@
else if ( ((LA54_56>=PACKAGE && LA54_56<=FUNCTION)||(LA54_56>=DOT && LA54_56<=GLOBAL)||LA54_56==COMMA||(LA54_56>=DECLARE && LA54_56<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_56);
if ( s>=0 ) return s;
break;
- case 38 :
+ case 38 :
int LA54_60 = input.LA(1);
-
+
int index54_60 = input.index();
input.rewind();
s = -1;
@@ -8936,14 +8984,14 @@
else if ( ((LA54_60>=PACKAGE && LA54_60<=FUNCTION)||(LA54_60>=DOT && LA54_60<=GLOBAL)||LA54_60==COMMA||(LA54_60>=DECLARE && LA54_60<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_60);
if ( s>=0 ) return s;
break;
- case 39 :
+ case 39 :
int LA54_5 = input.LA(1);
-
+
int index54_5 = input.index();
input.rewind();
s = -1;
@@ -8963,14 +9011,14 @@
else if ( ((LA54_5>=PACKAGE && LA54_5<=FUNCTION)||(LA54_5>=DOT && LA54_5<=GLOBAL)||LA54_5==COMMA||(LA54_5>=DECLARE && LA54_5<=FROM)||(LA54_5>=ACCUMULATE && LA54_5<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_5);
if ( s>=0 ) return s;
break;
- case 40 :
+ case 40 :
int LA54_14 = input.LA(1);
-
+
int index54_14 = input.index();
input.rewind();
s = -1;
@@ -8982,14 +9030,14 @@
else if ( ((LA54_14>=PACKAGE && LA54_14<=FUNCTION)||(LA54_14>=DOT && LA54_14<=GLOBAL)||LA54_14==COMMA||(LA54_14>=DECLARE && LA54_14<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_14);
if ( s>=0 ) return s;
break;
- case 41 :
+ case 41 :
int LA54_48 = input.LA(1);
-
+
int index54_48 = input.index();
input.rewind();
s = -1;
@@ -8997,14 +9045,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_48);
if ( s>=0 ) return s;
break;
- case 42 :
+ case 42 :
int LA54_28 = input.LA(1);
-
+
int index54_28 = input.index();
input.rewind();
s = -1;
@@ -9012,14 +9060,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_28);
if ( s>=0 ) return s;
break;
- case 43 :
+ case 43 :
int LA54_0 = input.LA(1);
-
+
int index54_0 = input.index();
input.rewind();
s = -1;
@@ -9029,14 +9077,14 @@
else if ( ((LA54_0>=ID && LA54_0<=DOT)||(LA54_0>=COMMA && LA54_0<=RIGHT_PAREN)||LA54_0==END||(LA54_0>=OR && LA54_0<=DOUBLE_AMPER)||(LA54_0>=EXISTS && LA54_0<=FORALL)||LA54_0==INIT||LA54_0==THEN||LA54_0==76) ) {s = 3;}
-
+
input.seek(index54_0);
if ( s>=0 ) return s;
break;
- case 44 :
+ case 44 :
int LA54_21 = input.LA(1);
-
+
int index54_21 = input.index();
input.rewind();
s = -1;
@@ -9048,14 +9096,14 @@
else if ( ((LA54_21>=PACKAGE && LA54_21<=FUNCTION)||(LA54_21>=DOT && LA54_21<=GLOBAL)||LA54_21==COMMA||(LA54_21>=DECLARE && LA54_21<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_21);
if ( s>=0 ) return s;
break;
- case 45 :
+ case 45 :
int LA54_53 = input.LA(1);
-
+
int index54_53 = input.index();
input.rewind();
s = -1;
@@ -9067,14 +9115,14 @@
else if ( (LA54_53==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_53);
if ( s>=0 ) return s;
break;
- case 46 :
+ case 46 :
int LA54_47 = input.LA(1);
-
+
int index54_47 = input.index();
input.rewind();
s = -1;
@@ -9082,14 +9130,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_47);
if ( s>=0 ) return s;
break;
- case 47 :
+ case 47 :
int LA54_54 = input.LA(1);
-
+
int index54_54 = input.index();
input.rewind();
s = -1;
@@ -9101,14 +9149,14 @@
else if ( (LA54_54==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_54);
if ( s>=0 ) return s;
break;
- case 48 :
+ case 48 :
int LA54_41 = input.LA(1);
-
+
int index54_41 = input.index();
input.rewind();
s = -1;
@@ -9116,14 +9164,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_41);
if ( s>=0 ) return s;
break;
- case 49 :
+ case 49 :
int LA54_38 = input.LA(1);
-
+
int index54_38 = input.index();
input.rewind();
s = -1;
@@ -9131,14 +9179,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_38);
if ( s>=0 ) return s;
break;
- case 50 :
+ case 50 :
int LA54_23 = input.LA(1);
-
+
int index54_23 = input.index();
input.rewind();
s = -1;
@@ -9148,14 +9196,14 @@
else if ( (LA54_23==LEFT_PAREN) ) {s = 50;}
-
+
input.seek(index54_23);
if ( s>=0 ) return s;
break;
- case 51 :
+ case 51 :
int LA54_42 = input.LA(1);
-
+
int index54_42 = input.index();
input.rewind();
s = -1;
@@ -9167,14 +9215,14 @@
else if ( ((LA54_42>=PACKAGE && LA54_42<=FUNCTION)||(LA54_42>=DOT && LA54_42<=GLOBAL)||LA54_42==COMMA||(LA54_42>=DECLARE && LA54_42<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_42);
if ( s>=0 ) return s;
break;
- case 52 :
+ case 52 :
int LA54_66 = input.LA(1);
-
+
int index54_66 = input.index();
input.rewind();
s = -1;
@@ -9188,14 +9236,14 @@
else if ( ((LA54_66>=PACKAGE && LA54_66<=ID)||LA54_66==GLOBAL||LA54_66==COMMA||(LA54_66>=DECLARE && LA54_66<=NULL)||(LA54_66>=RIGHT_SQUARE && LA54_66<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_66);
if ( s>=0 ) return s;
break;
- case 53 :
+ case 53 :
int LA54_26 = input.LA(1);
-
+
int index54_26 = input.index();
input.rewind();
s = -1;
@@ -9203,14 +9251,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_26);
if ( s>=0 ) return s;
break;
- case 54 :
+ case 54 :
int LA54_15 = input.LA(1);
-
+
int index54_15 = input.index();
input.rewind();
s = -1;
@@ -9222,14 +9270,14 @@
else if ( ((LA54_15>=PACKAGE && LA54_15<=FUNCTION)||(LA54_15>=DOT && LA54_15<=GLOBAL)||LA54_15==COMMA||(LA54_15>=DECLARE && LA54_15<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_15);
if ( s>=0 ) return s;
break;
- case 55 :
+ case 55 :
int LA54_37 = input.LA(1);
-
+
int index54_37 = input.index();
input.rewind();
s = -1;
@@ -9237,14 +9285,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_37);
if ( s>=0 ) return s;
break;
- case 56 :
+ case 56 :
int LA54_6 = input.LA(1);
-
+
int index54_6 = input.index();
input.rewind();
s = -1;
@@ -9252,14 +9300,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_6);
if ( s>=0 ) return s;
break;
- case 57 :
+ case 57 :
int LA54_44 = input.LA(1);
-
+
int index54_44 = input.index();
input.rewind();
s = -1;
@@ -9271,14 +9319,14 @@
else if ( (LA54_44==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_44);
if ( s>=0 ) return s;
break;
- case 58 :
+ case 58 :
int LA54_33 = input.LA(1);
-
+
int index54_33 = input.index();
input.rewind();
s = -1;
@@ -9290,14 +9338,14 @@
else if ( (LA54_33==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_33);
if ( s>=0 ) return s;
break;
- case 59 :
+ case 59 :
int LA54_57 = input.LA(1);
-
+
int index54_57 = input.index();
input.rewind();
s = -1;
@@ -9309,14 +9357,14 @@
else if ( (LA54_57==LEFT_PAREN) && (synpred10())) {s = 67;}
-
+
input.seek(index54_57);
if ( s>=0 ) return s;
break;
- case 60 :
+ case 60 :
int LA54_61 = input.LA(1);
-
+
int index54_61 = input.index();
input.rewind();
s = -1;
@@ -9328,14 +9376,14 @@
else if ( (LA54_61==DOT||LA54_61==COMMA||(LA54_61>=DECLARE && LA54_61<=STRING)||(LA54_61>=DATE_EFFECTIVE && LA54_61<=DATE_EXPIRES)||LA54_61==BOOL||(LA54_61>=INT && LA54_61<=AGENDA_GROUP)||(LA54_61>=LOCK_ON_ACTIVE && LA54_61<=DOUBLE_AMPER)||(LA54_61>=EXISTS && LA54_61<=ACCUMULATE)||(LA54_61>=COLLECT && LA54_61<=TILDE)||(LA54_61>=FLOAT && LA54_61<=RIGHT_SQUARE)||(LA54_61>=EOL && LA54_61<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_61);
if ( s>=0 ) return s;
break;
- case 61 :
+ case 61 :
int LA54_45 = input.LA(1);
-
+
int index54_45 = input.index();
input.rewind();
s = -1;
@@ -9343,14 +9391,14 @@
else if ( (true) ) {s = 3;}
-
+
input.seek(index54_45);
if ( s>=0 ) return s;
break;
- case 62 :
+ case 62 :
int LA54_10 = input.LA(1);
-
+
int index54_10 = input.index();
input.rewind();
s = -1;
@@ -9360,7 +9408,7 @@
else if ( ((LA54_10>=PACKAGE && LA54_10<=GLOBAL)||LA54_10==COMMA||(LA54_10>=DECLARE && LA54_10<=85)) && (synpred10())) {s = 12;}
-
+
input.seek(index54_10);
if ( s>=0 ) return s;
break;
@@ -9372,8 +9420,8 @@
throw nvae;
}
}
+
-
public static final BitSet FOLLOW_76_in_opt_semicolon39 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_prolog_in_compilation_unit57 = new BitSet(new long[]{0x0000001FEB9A2260L});
public static final BitSet FOLLOW_statement_in_compilation_unit62 = new BitSet(new long[]{0x0000001FEB9A2260L});
Modified: 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 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,11 +16,9 @@
* limitations under the License.
*/
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.drools.lang.descr.AccumulateDescr;
@@ -515,7 +513,7 @@
for ( final Iterator it = imports.iterator(); it.hasNext(); ) {
final ImportDescr importDescr = (ImportDescr) it.next();
- final String importTemplate = "import " + ( importDescr.isEvent() ? "event " : "" ) + importDescr.getTarget() + ";" + DrlDumper.eol;
+ final String importTemplate = "import " + importDescr.getTarget() + ";" + DrlDumper.eol;
importList += importTemplate;
}
return importList + DrlDumper.eol;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -18,6 +18,9 @@
import java.util.Collections;
import java.util.List;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
/**
* A descr class for accumulate node
@@ -41,6 +44,34 @@
private String functionIdentifier;
private String expression;
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ input = (BaseDescr)in.readObject();
+ initCode = (String)in.readObject();
+ actionCode = (String)in.readObject();
+ reverseCode = (String)in.readObject();
+ resultCode = (String)in.readObject();
+ declarations = (String[])in.readObject();
+ className = (String)in.readObject();
+ externalFunction = in.readBoolean();
+ functionIdentifier = (String)in.readObject();
+ expression = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(input);
+ out.writeObject(initCode);
+ out.writeObject(actionCode);
+ out.writeObject(reverseCode);
+ out.writeObject(resultCode);
+ out.writeObject(declarations);
+ out.writeObject(className);
+ out.writeBoolean(externalFunction);
+ out.writeObject(functionIdentifier);
+ out.writeObject(expression);
+ }
+
public int getLine() {
return this.input.getLine();
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BaseDescr.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,14 +16,17 @@
* limitations under the License.
*/
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
/**
* This is the super type for all pattern AST nodes.
*/
public class BaseDescr
implements
- Serializable {
+ Externalizable {
private static final long serialVersionUID = 400L;
private int startCharacter = -1;
@@ -34,6 +37,26 @@
private int endColumn = -1;
private String text = "";
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ startCharacter = in.readInt();
+ endCharacter = in.readInt();
+ line = in.readInt();
+ column = in.readInt();
+ endLine = in.readInt();
+ endColumn = in.readInt();
+ text = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(startCharacter);
+ out.writeInt(endCharacter);
+ out.writeInt(line);
+ out.writeInt(column);
+ out.writeInt(endLine);
+ out.writeInt(endColumn);
+ out.writeObject(text);
+ }
+
public String getText() {
return text;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -42,10 +42,6 @@
return new FunctionImportDescr();
}
- public ImportDescr createEventImport() {
- return new ImportDescr( true ); // import is an event
- }
-
public QueryDescr createQuery(final String queryName) {
return new QueryDescr( queryName,
"" );
@@ -71,5 +67,5 @@
public TypeDeclarationDescr createTypeDeclaration() {
return new TypeDeclarationDescr();
- }
+ }
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ImportDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ImportDescr.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ImportDescr.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -24,23 +24,13 @@
private static final long serialVersionUID = 400L;
private String target;
- private boolean event;
public ImportDescr() {
- this( null, false );
+ this( null );
}
public ImportDescr(final String clazzName) {
- this( clazzName, false );
- }
-
- public ImportDescr(final boolean isEvent) {
- this( null, isEvent );
- }
-
- public ImportDescr(final String clazzName, final boolean isEvent ) {
this.target = clazzName;
- this.event = isEvent;
}
public String getTarget() {
@@ -90,8 +80,4 @@
return "import " + this.target;
}
- public boolean isEvent() {
- return this.event;
- }
-
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -20,14 +20,17 @@
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
public class PackageDescr extends BaseDescr {
/**
*
*/
private static final long serialVersionUID = 400L;
- private final String name;
- private final String documentation;
+ private String name;
+ private String documentation;
private List imports = Collections.EMPTY_LIST;
private List functionImports = Collections.EMPTY_LIST;
@@ -38,6 +41,9 @@
private List rules = Collections.EMPTY_LIST;
private List<TypeDeclarationDescr> typeDeclarations = Collections.emptyList();
+ public PackageDescr() {
+ }
+
public PackageDescr(final String name) {
this( name,
"" );
@@ -49,6 +55,32 @@
this.documentation = documentation;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ name = (String)in.readObject();
+ documentation = (String)in.readObject();
+ imports = (List)in.readObject();
+ functionImports = (List)in.readObject();
+ attributes = (List)in.readObject();
+ globals = (List)in.readObject();
+ factTemplates = (List)in.readObject();
+ functions = (List)in.readObject();
+ rules = (List)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(name);
+ out.writeObject(documentation);
+ out.writeObject(imports);
+ out.writeObject(functionImports);
+ out.writeObject(attributes);
+ out.writeObject(globals);
+ out.writeObject(factTemplates);
+ out.writeObject(functions);
+ out.writeObject(rules);
+ }
+
public String getName() {
return this.name;
}
@@ -133,11 +165,11 @@
//check for attr in rule
for ( Iterator iterator = rule.getAttributes().iterator(); iterator.hasNext(); ) {
AttributeDescr ruleAt = (AttributeDescr) iterator.next();
- if ( ruleAt.getName().equals( at.getName() ) ) {
+ if (ruleAt.getName().equals( at.getName() )) {
overridden = true;
}
}
- if ( !overridden ) {
+ if (!overridden) {
rule.addAttribute( at );
}
}
@@ -154,7 +186,7 @@
}
this.typeDeclarations.add( declaration );
}
-
+
public List<TypeDeclarationDescr> getTypeDeclarations() {
return this.typeDeclarations;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,11 +16,13 @@
* limitations under the License.
*/
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import org.drools.compiler.Dialect;
import org.drools.rule.Dialectable;
public class RuleDescr extends BaseDescr implements Dialectable {
@@ -41,6 +43,9 @@
private String className;
+ public RuleDescr() {
+ }
+
public RuleDescr(final String name) {
this( name,
"" );
@@ -53,6 +58,36 @@
this.documentation = documentation;
}
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ name = (String)in.readObject();
+ dialect = (String)in.readObject();
+ documentation = (String)in.readObject();
+ consequence = in.readObject();
+ lhs = (AndDescr)in.readObject();
+ consequenceLine = in.readInt();
+ consequencePattern = in.readInt();
+ offset = in.readInt();
+ attributes = (List)in.readObject();
+ salience = (String)in.readObject();
+ className = (String)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ out.writeObject(name);
+ out.writeObject(dialect);
+ out.writeObject(documentation);
+ out.writeObject(consequence);
+ out.writeObject(lhs);
+ out.writeInt(consequenceLine);
+ out.writeInt(consequencePattern);
+ out.writeInt(offset);
+ out.writeObject(attributes);
+ out.writeObject(salience);
+ out.writeObject(className);
+ }
+
public String getName() {
return this.name;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -383,7 +383,7 @@
// analyze field type:
Class resultType = getFieldReturnType( pattern,
fieldConstraintDescr );
-
+
PredicateDescr predicateDescr = new PredicateDescr();
MVELDumper dumper = new MVELDumper();
predicateDescr.setContent( dumper.dump( fieldConstraintDescr, Date.class.isAssignableFrom( resultType ) ) );
@@ -796,7 +796,7 @@
((ObjectFieldImpl) field).setEnum( true );
((ObjectFieldImpl) field).setEnumName( staticClass.getName() );
((ObjectFieldImpl) field).setFieldName( fieldName );
- }
+ }
} catch ( final ClassNotFoundException e ) {
// nothing to do, as it is not a class name with static field
} catch ( final Exception e ) {
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ReturnValueEvaluatorBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,8 +1,6 @@
package org.drools.rule.builder;
import org.drools.compiler.ReturnValueDescr;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.workflow.core.node.ActionNode;
import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
public interface ReturnValueEvaluatorBuilder {
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,9 +16,7 @@
package org.drools.rule.builder;
-import java.util.ArrayList;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaProcessBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -7,10 +7,7 @@
import java.util.Map;
import org.drools.lang.descr.BaseDescr;
-import org.drools.rule.Declaration;
import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
import org.drools.util.StringUtils;
import org.mvel.MVEL;
import org.mvel.MVELTemplateRegistry;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -9,7 +9,6 @@
import org.drools.lang.descr.BaseDescr;
import org.drools.rule.Declaration;
import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
import org.drools.util.StringUtils;
import org.mvel.MVEL;
import org.mvel.MVELTemplateRegistry;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaActionBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,24 +16,16 @@
package org.drools.rule.builder.dialect.java;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.drools.compiler.Dialect;
-import org.drools.compiler.DescrBuildError;
import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.Declaration;
import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.drools.spi.PatternExtractor;
import org.drools.workflow.core.node.ActionNode;
/**
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -189,6 +189,7 @@
consequence.append( ";\n" );
// adding the modifyRetract call:
consequence.append( "modifyRetract( __obj__ );\n" );
+
// adding each of the expressions:
for ( Iterator exprIt = d.getExpressions().iterator(); exprIt.hasNext(); ) {
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -12,7 +12,6 @@
import java.util.Map;
import java.util.Set;
-import org.drools.process.core.Process;
import org.drools.base.ClassFieldExtractorCache;
import org.drools.base.TypeResolver;
import org.drools.commons.jci.compilers.CompilationResult;
@@ -22,11 +21,13 @@
import org.drools.commons.jci.problems.CompilationProblem;
import org.drools.commons.jci.readers.MemoryResourceReader;
import org.drools.commons.jci.readers.ResourceReader;
+import org.drools.compiler.DescrBuildError;
import org.drools.compiler.Dialect;
import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.DescrBuildError;
import org.drools.compiler.PackageBuilder.ErrorHandler;
import org.drools.compiler.PackageBuilder.FunctionErrorHandler;
+import org.drools.compiler.PackageBuilder.ProcessErrorHandler;
+import org.drools.compiler.PackageBuilder.ProcessInvokerErrorHandler;
import org.drools.compiler.PackageBuilder.RuleErrorHandler;
import org.drools.compiler.PackageBuilder.RuleInvokerErrorHandler;
import org.drools.lang.descr.AccumulateDescr;
@@ -45,7 +46,7 @@
import org.drools.lang.descr.ProcessDescr;
import org.drools.lang.descr.QueryDescr;
import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.EntryPoint;
+import org.drools.process.core.Process;
import org.drools.rule.Function;
import org.drools.rule.JavaDialectData;
import org.drools.rule.LineMappings;
@@ -74,8 +75,6 @@
import org.drools.rule.builder.SalienceBuilder;
import org.drools.rule.builder.dialect.mvel.MVELFromBuilder;
import org.drools.rule.builder.dialect.mvel.MVELSalienceBuilder;
-import org.drools.compiler.PackageBuilder.ProcessInvokerErrorHandler;
-import org.drools.compiler.PackageBuilder.ProcessErrorHandler;
import org.drools.util.StringUtils;
public class JavaDialect
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaProcessClassBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -19,12 +19,9 @@
import java.util.Iterator;
import org.drools.lang.descr.ProcessDescr;
-import org.drools.lang.descr.RuleDescr;
import org.drools.rule.ImportDeclaration;
import org.drools.rule.builder.ProcessBuildContext;
import org.drools.rule.builder.ProcessClassBuilder;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.RuleClassBuilder;
import org.drools.util.StringUtils;
/**
@@ -50,7 +47,7 @@
buffer.append( "package " + context.getPkg().getName() + ";" + lineSeparator );
for ( ImportDeclaration decl : context.getPkg().getImports().values() ) {
- buffer.append( "import " + ( decl.isEvent() ? "event " : "" ) + decl.getTarget() + ";" + lineSeparator );
+ buffer.append( "import " + decl.getTarget() + ";" + lineSeparator );
}
for ( final Iterator it = context.getPkg().getStaticImports().iterator(); it.hasNext(); ) {
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaReturnValueEvaluatorBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,27 +16,16 @@
package org.drools.rule.builder.dialect.java;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.drools.compiler.Dialect;
-import org.drools.compiler.DescrBuildError;
import org.drools.compiler.ReturnValueDescr;
-import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.Declaration;
-import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.ProcessBuildContext;
import org.drools.rule.builder.ReturnValueEvaluatorBuilder;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.drools.spi.PatternExtractor;
-import org.drools.workflow.core.node.ActionNode;
import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
/**
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,10 +3,15 @@
package org.drools.rule.builder.dialect.java.parser;
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
+import org.antlr.runtime.BaseRecognizer;
+import org.antlr.runtime.CharStream;
+import org.antlr.runtime.CommonToken;
+import org.antlr.runtime.DFA;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.Lexer;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.RecognitionException;
public class JavaLexer extends Lexer {
public static final int T29=29;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,15 +1,26 @@
// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-12-19 16:46:01
package org.drools.rule.builder.dialect.java.parser;
- import java.util.Iterator;
+ import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Stack;
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
+import org.antlr.runtime.BitSet;
+import org.antlr.runtime.CommonToken;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.FailedPredicateException;
+import org.antlr.runtime.MismatchedNotSetException;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.MismatchedTokenException;
+import org.antlr.runtime.MismatchedTreeNodeException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.Parser;
+import org.antlr.runtime.ParserRuleReturnScope;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.antlr.runtime.TokenStream;
/** A Java 1.5 grammar for ANTLR v3 derived from the spec
*
* This is a very close representation of the spec; the changes
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,24 +2,17 @@
import java.io.Serializable;
import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Set;
import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.base.mvel.MVELAction;
-import org.drools.base.mvel.MVELConsequence;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.lang.descr.ActionDescr;
import org.drools.rule.MVELDialectData;
import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
import org.drools.workflow.core.node.ActionNode;
-import org.mvel.Macro;
-import org.mvel.MacroProcessor;
public class MVELActionBuilder
implements
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -7,9 +7,8 @@
import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.base.mvel.MVELConsequence;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
-import org.drools.rule.MVELDialectData;
+import org.drools.compiler.Dialect;
import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.RuleBuildContext;
import org.mvel.Macro;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,10 +1,10 @@
package org.drools.rule.builder.dialect.mvel;
-import java.io.Serializable;
import java.io.Externalizable;
-import java.io.ObjectOutput;
import java.io.IOException;
import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
@@ -40,7 +40,6 @@
import org.drools.lang.descr.QueryDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.rule.Declaration;
-import org.drools.rule.JavaDialectData;
import org.drools.rule.LineMappings;
import org.drools.rule.MVELDialectData;
import org.drools.rule.Package;
@@ -73,7 +72,6 @@
import org.mvel.compiler.AbstractParser;
import org.mvel.compiler.CompiledExpression;
import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.debug.DebugTools;
import org.mvel.optimizers.OptimizerFactory;
import org.mvel.util.CompilerTools;
import org.mvel.util.ParseTools;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialectConfiguration.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,7 +2,6 @@
import org.drools.compiler.Dialect;
import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
/**
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,15 +17,13 @@
package org.drools.rule.builder.dialect.mvel;
import java.io.Serializable;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.base.mvel.MVELEvalExpression;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.rule.Declaration;
@@ -35,12 +33,6 @@
import org.drools.rule.RuleConditionElement;
import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.builder.RuleConditionBuilder;
-import org.drools.spi.DeclarationScopeResolver;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
-import org.mvel.util.ParseTools;
/**
* @author etirelli
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELExprAnalyzer.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -27,11 +27,8 @@
import org.antlr.runtime.RecognitionException;
import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
import org.mvel.ParserContext;
-import org.mvel.integration.impl.MapVariableResolver;
+import org.mvel.compiler.ExpressionCompiler;
/**
* Expression analyzer.
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -21,8 +21,8 @@
import org.drools.base.dataproviders.MVELDataProvider;
import org.drools.base.mvel.DroolsMVELFactory;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.lang.descr.AccessorDescr;
import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.FromDescr;
@@ -32,11 +32,6 @@
import org.drools.rule.builder.FromBuilder;
import org.drools.rule.builder.RuleBuildContext;
import org.drools.spi.DataProvider;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
-import org.mvel.integration.impl.ClassImportResolverFactory;
/**
* A builder for "from" conditional element
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -24,18 +24,14 @@
import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.base.mvel.MVELPredicateExpression;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.lang.descr.PredicateDescr;
import org.drools.rule.Declaration;
import org.drools.rule.MVELDialectData;
import org.drools.rule.PredicateConstraint;
import org.drools.rule.builder.PredicateBuilder;
import org.drools.rule.builder.RuleBuildContext;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
/**
* @author etirelli
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,7 +17,6 @@
package org.drools.rule.builder.dialect.mvel;
import java.io.Serializable;
-import java.io.Externalizable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -32,10 +31,6 @@
import org.drools.rule.ReturnValueRestriction;
import org.drools.rule.builder.ReturnValueBuilder;
import org.drools.rule.builder.RuleBuildContext;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
/**
* @author etirelli
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueEvaluatorBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,29 +2,17 @@
import java.io.Serializable;
import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Set;
import org.drools.base.mvel.DroolsMVELFactory;
-import org.drools.base.mvel.MVELAction;
-import org.drools.base.mvel.MVELConsequence;
import org.drools.base.mvel.MVELReturnValueEvaluator;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.compiler.ReturnValueDescr;
-import org.drools.lang.descr.ActionDescr;
import org.drools.rule.MVELDialectData;
-import org.drools.rule.builder.ActionBuilder;
-import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.ReturnValueEvaluatorBuilder;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.spi.ReturnValueEvaluator;
-import org.drools.workflow.core.node.ActionNode;
import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-import org.mvel.Macro;
-import org.mvel.MacroProcessor;
public class MVELReturnValueEvaluatorBuilder
implements
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -5,16 +5,11 @@
import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.base.mvel.MVELSalienceExpression;
-import org.drools.compiler.Dialect;
import org.drools.compiler.DescrBuildError;
+import org.drools.compiler.Dialect;
import org.drools.rule.MVELDialectData;
import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.builder.SalienceBuilder;
-import org.mvel.compiler.AbstractParser;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
-import org.mvel.integration.impl.ClassImportResolverFactory;
public class MVELSalienceBuilder
implements
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,7 +2,6 @@
import static org.mvel.MVEL.eval;
-import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -24,7 +23,6 @@
import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
import org.drools.common.InternalWorkingMemory;
import org.drools.rule.TimeMachine;
-import org.mvel.integration.impl.BaseVariableResolverFactory;
/**
* This actually runs the test scenarios.
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,14 +1,12 @@
package org.drools.testframework;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Map;
-import java.io.IOException;
-import java.io.ObjectOutput;
-import java.io.ObjectInput;
-import org.drools.RuleBase;
import org.drools.WorkingMemory;
import org.drools.event.ActivationCancelledEvent;
import org.drools.event.ActivationCreatedEvent;
@@ -17,7 +15,6 @@
import org.drools.event.AgendaGroupPoppedEvent;
import org.drools.event.AgendaGroupPushedEvent;
import org.drools.event.BeforeActivationFiredEvent;
-import org.drools.rule.Package;
import org.drools.rule.Rule;
import org.drools.spi.Activation;
import org.drools.spi.AgendaFilter;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,36 +3,10 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
-import java.util.HashMap;
-import java.util.Map;
import javax.xml.parsers.SAXParser;
import org.drools.lang.descr.PackageDescr;
-import org.drools.xml.rules.AccumulateHandler;
-import org.drools.xml.rules.AccumulateHelperHandler;
-import org.drools.xml.rules.AndHandler;
-import org.drools.xml.rules.CollectHandler;
-import org.drools.xml.rules.EvalHandler;
-import org.drools.xml.rules.ExistsHandler;
-import org.drools.xml.rules.ExpressionHandler;
-import org.drools.xml.rules.FieldBindingHandler;
-import org.drools.xml.rules.FieldConstraintHandler;
-import org.drools.xml.rules.ForallHandler;
-import org.drools.xml.rules.FromHandler;
-import org.drools.xml.rules.FunctionHandler;
-import org.drools.xml.rules.LiteralRestrictionHandler;
-import org.drools.xml.rules.NotHandler;
-import org.drools.xml.rules.OrHandler;
-import org.drools.xml.rules.PackageHandler;
-import org.drools.xml.rules.PatternHandler;
-import org.drools.xml.rules.PredicateHandler;
-import org.drools.xml.rules.QualifiedIdentifierRestrictionHandler;
-import org.drools.xml.rules.QueryHandler;
-import org.drools.xml.rules.RestrictionConnectiveHandler;
-import org.drools.xml.rules.ReturnValueRestrictionHandler;
-import org.drools.xml.rules.RuleHandler;
-import org.drools.xml.rules.VariableRestrictionsHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,35 +3,9 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
-import java.util.Set;
import javax.xml.parsers.SAXParser;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.xml.rules.AccumulateHandler;
-import org.drools.xml.rules.AccumulateHelperHandler;
-import org.drools.xml.rules.AndHandler;
-import org.drools.xml.rules.CollectHandler;
-import org.drools.xml.rules.EvalHandler;
-import org.drools.xml.rules.ExistsHandler;
-import org.drools.xml.rules.ExpressionHandler;
-import org.drools.xml.rules.FieldBindingHandler;
-import org.drools.xml.rules.FieldConstraintHandler;
-import org.drools.xml.rules.ForallHandler;
-import org.drools.xml.rules.FromHandler;
-import org.drools.xml.rules.FunctionHandler;
-import org.drools.xml.rules.LiteralRestrictionHandler;
-import org.drools.xml.rules.NotHandler;
-import org.drools.xml.rules.OrHandler;
-import org.drools.xml.rules.PackageHandler;
-import org.drools.xml.rules.PatternHandler;
-import org.drools.xml.rules.PredicateHandler;
-import org.drools.xml.rules.QualifiedIdentifierRestrictionHandler;
-import org.drools.xml.rules.QueryHandler;
-import org.drools.xml.rules.RestrictionConnectiveHandler;
-import org.drools.xml.rules.ReturnValueRestrictionHandler;
-import org.drools.xml.rules.RuleHandler;
-import org.drools.xml.rules.VariableRestrictionsHandler;
import org.drools.process.core.Process;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.ConditionalElementDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.BaseDescr;
@@ -29,7 +27,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author fernandomeyer
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.AndDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.CollectDescr;
import org.drools.lang.descr.ConditionalElementDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.ConditionalElementDescr;
@@ -34,7 +32,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.ConditionalElementDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CharStream;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldBindingDescr;
import org.drools.lang.descr.FieldConstraintDescr;
@@ -30,7 +28,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.ConditionalElementDescr;
@@ -33,7 +31,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.ConditionalElementDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.ConditionalElementDescr;
import org.drools.lang.descr.FieldConstraintDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.LiteralRestrictionDescr;
@@ -32,7 +30,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.ConditionalElementDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.AndDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.AndDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldBindingDescr;
import org.drools.lang.descr.FieldConstraintDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.LiteralRestrictionDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.LiteralRestrictionDescr;
@@ -32,7 +30,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,8 +17,6 @@
*/
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.LiteralRestrictionDescr;
@@ -31,7 +29,6 @@
import org.drools.xml.Handler;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
/**
* @author mproctor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-03-19 18:11:50 UTC (rev 19126)
@@ -223,13 +223,13 @@
statement
: a=rule_attribute { this.packageDescr.addAttribute( a ); }
| function_import_statement
- | event_import_statement
| import_statement
| global
| function
| t=template { this.packageDescr.addFactTemplate( $t.template ); }
| r=rule { this.packageDescr.addRule( $r.rule ); }
| q=query { this.packageDescr.addRule( $q.query ); }
+ | d=type_declaration { this.packageDescr.addTypeDeclaration( $d.declaration ); }
;
package_statement returns [String packageName]
@@ -275,22 +275,6 @@
import_name[importDecl] opt_semicolon
;
-event_import_statement
- @init {
- ImportDescr importDecl = null;
- }
- : IMPORT EVENT
- {
- importDecl = factory.createEventImport( );
- importDecl.setStartCharacter( ((CommonToken)$IMPORT).getStartIndex() );
- if (packageDescr != null) {
- packageDescr.addImport( importDecl );
- }
- }
- import_name[importDecl] opt_semicolon
- ;
-
-
import_name[ImportDescr importDecl] returns [String name]
@init {
$name = null;
@@ -387,8 +371,32 @@
: id=identifier { $name=$id.text; } ( '[' ']' { $name += "[]";})*
;
+type_declaration returns [TypeDeclarationDescr declaration]
+ @init {
+ $declaration = factory.createTypeDeclaration();
+ }
+ : DECLARE id=identifier
+ {
+ $declaration.setTypeName( $id.text );
+ }
+ LEFT_CURLY
+ type_decl_attribute[$declaration] ( COMMA type_decl_attribute[$declaration] )*
+ RIGHT_CURLY
+ ;
+
+type_decl_attribute[TypeDeclarationDescr declaration]
+ : att=identifier
+ ( val=STRING
+ {
+ $declaration.addAttribute( $att.text, getString( $val.text ) );
+ }
+ | cl=dotted_name
+ {
+ $declaration.addAttribute( $att.text, $cl.text );
+ }
+ )
+ ;
-
query returns [QueryDescr query]
@init {
$query = null;
@@ -1792,6 +1800,8 @@
GLOBAL : 'global';
+DECLARE : 'declare';
+
RULE : 'rule';
QUERY : 'query';
@@ -1949,3 +1959,5 @@
MISC :
'!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '=' | '/' | '\'' | '\\' | '|' | '&'
;
+
+
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Address.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Address.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Address.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -4,6 +4,8 @@
public class Address implements Serializable {
+ private static final long serialVersionUID = -8519011705761628197L;
+
private String street;
private String suburb;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheese.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheese.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheese.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,8 +1,5 @@
package org.drools;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
import java.io.Serializable;
import java.util.Date;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -20,15 +20,13 @@
import java.io.ObjectOutput;
import java.io.IOException;
import java.io.ObjectInput;
-import java.io.ObjectStreamException;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Cheesery
implements
- Serializable {
+ Externalizable {
/**
*
*/
@@ -41,10 +39,6 @@
private int status;
private int totalAmount;
private Maturity maturity;
-
- public Cheesery() {
-
- }
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
cheeses = (List)in.readObject();
@@ -59,8 +53,7 @@
out.writeInt(status);
out.writeInt(totalAmount);
out.writeObject(maturity);
- }
-
+ }
public List getCheeses() {
return this.cheeses;
}
@@ -114,14 +107,6 @@
public Maturity(final String age) {
this.age = age;
}
-
- private Object readResolve() throws ObjectStreamException {
- if ( "young".equals( this.age) ) {
- return Maturity.YOUNG;
- } else {
- return Maturity.OLD;
- }
- }
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
age = (String)in.readObject();
@@ -135,34 +120,4 @@
return "[Maturity age='" + this.age + "']";
}
}
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((cheeses == null) ? 0 : cheeses.hashCode());
- result = prime * result + ((maturity == null) ? 0 : maturity.hashCode());
- result = prime * result + status;
- result = prime * result + totalAmount;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if ( this == obj ) return true;
- if ( obj == null ) return false;
- if ( getClass() != obj.getClass() ) return false;
- final Cheesery other = (Cheesery) obj;
- if ( cheeses == null ) {
- if ( other.cheeses != null ) return false;
- } else if ( !cheeses.equals( other.cheeses ) ) return false;
- if ( maturity == null ) {
- if ( other.maturity != null ) return false;
- } else if ( !maturity.equals( other.maturity ) ) return false;
- if ( status != other.status ) return false;
- if ( totalAmount != other.totalAmount ) return false;
- return true;
- }
-
-
}
\ No newline at end of file
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 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,9 +1,8 @@
package org.drools;
-import java.io.Externalizable;
-import java.io.ObjectOutput;
import java.io.IOException;
import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -33,34 +32,33 @@
private Cheese cheese;
- private List addresses = new ArrayList();
+ private List addresses = new ArrayList();
- public void readExternal(ObjectInput in) throws IOException,
- ClassNotFoundException {
- name = (String) in.readObject();
- likes = (String) in.readObject();
- age = in.readInt();
- bigDecimal = (BigDecimal) in.readObject();
- bigInteger = (BigInteger) in.readObject();
- hair = (String) in.readObject();
- sex = in.readChar();
- alive = in.readBoolean();
- status = (String) in.readObject();
- cheese = (Cheese) in.readObject();
- addresses = (List) in.readObject();
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ name = (String)in.readObject();
+ likes = (String)in.readObject();
+ age = in.readInt();
+ bigDecimal = (BigDecimal)in.readObject();
+ bigInteger = (BigInteger)in.readObject();
+ hair = (String)in.readObject();
+ sex = in.readChar();
+ alive = in.readBoolean();
+ status = (String)in.readObject();
+ cheese = (Cheese)in.readObject();
+ addresses = (List)in.readObject();
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject( name );
- out.writeObject( likes );
- out.writeObject( bigDecimal );
- out.writeObject( bigInteger );
- out.writeObject( hair );
- out.writeChar( sex );
- out.writeBoolean( alive );
- out.writeObject( status );
- out.writeObject( cheese );
- out.writeObject( addresses );
+ out.writeObject(name);
+ out.writeObject(likes);
+ out.writeObject(bigDecimal);
+ out.writeObject(bigInteger);
+ out.writeObject(hair);
+ out.writeChar(sex);
+ out.writeBoolean(alive);
+ out.writeObject(status);
+ out.writeObject(cheese);
+ out.writeObject(addresses);
}
public List getAddresses() {
@@ -96,14 +94,6 @@
}
public Person(final String name,
- final Cheese cheese) {
- this( name,
- null,
- 0 );
- this.cheese = cheese;
- }
-
- public Person(final String name,
final String likes,
final int age) {
this.name = name;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/StockTick.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/StockTick.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/StockTick.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,12 +1,14 @@
package org.drools;
-public class StockTick {
+import java.io.Serializable;
+
+public class StockTick implements Serializable {
private long seq;
private String company;
private double price;
private long time;
private long duration;
-
+
public StockTick() {
}
@@ -24,7 +26,7 @@
public StockTick(long seq,
String company,
double price,
- long time,
+ long time,
long duration ) {
super();
this.seq = seq;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/DataEnumLoaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/DataEnumLoaderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/DataEnumLoaderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -6,7 +6,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.StringTokenizer;
import junit.framework.TestCase;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,19 +1,17 @@
package org.drools.brms.modeldriven.dt;
-import java.util.ArrayList;
import java.util.HashMap;
+import junit.framework.TestCase;
+
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.dt.ActionCol;
import org.drools.brms.client.modeldriven.dt.ActionInsertFactCol;
import org.drools.brms.client.modeldriven.dt.ActionSetFieldCol;
import org.drools.brms.client.modeldriven.dt.AttributeCol;
import org.drools.brms.client.modeldriven.dt.ConditionCol;
import org.drools.brms.client.modeldriven.dt.GuidedDecisionTable;
-import junit.framework.TestCase;
-
public class GuidedDecisionTableTest extends TestCase {
// public void testGetCol() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -42,9 +42,7 @@
import org.drools.rule.builder.RuleClassBuilder;
import org.drools.rule.builder.RuleConditionBuilder;
import org.drools.rule.builder.SalienceBuilder;
-import org.drools.rule.builder.dialect.java.JavaDialect;
import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
import org.drools.util.ChainedProperties;
public class PackageBuilderConfigurationTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -36,20 +36,20 @@
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
-import org.drools.WorkingMemory;
import org.drools.StockTick;
-import org.drools.integrationtests.SerializationHelper;
+import org.drools.WorkingMemory;
import org.drools.base.DefaultKnowledgeHelper;
import org.drools.common.ActivationGroupNode;
import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.DroolsObjectOutputStream;
import org.drools.common.InternalFactHandle;
import org.drools.common.LogicalDependency;
import org.drools.common.RuleFlowGroupNode;
-import org.drools.common.DroolsObjectOutputStream;
import org.drools.commons.jci.compilers.EclipseJavaCompiler;
import org.drools.commons.jci.compilers.JaninoJavaCompiler;
import org.drools.commons.jci.compilers.JavaCompiler;
import org.drools.facttemplates.Fact;
+import org.drools.integrationtests.SerializationHelper;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.ConditionalElementDescr;
@@ -995,7 +995,7 @@
// test JANINO with property settings
PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
- JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) conf.getDialectConfiguration( "java" );
+ JavaDialectConfiguration javaConf = (JavaDialectConfiguration) conf.getDialectConfiguration( "java" );
javaConf.setCompiler( JavaDialectConfiguration.JANINO );
builder = new PackageBuilder( conf );
builder.addPackage( pkgDescr );
@@ -1007,7 +1007,7 @@
// test eclipse jdt core with property settings and default source level
conf = new PackageBuilderConfiguration();
- javaConf = ( JavaDialectConfiguration ) conf.getDialectConfiguration( "java" );
+ javaConf = (JavaDialectConfiguration) conf.getDialectConfiguration( "java" );
javaConf.setCompiler( JavaDialectConfiguration.ECLIPSE );
builder = new PackageBuilder( conf );
builder.addPackage( pkgDescr );
@@ -1031,7 +1031,6 @@
builder.addPackage( pkgDescr );
Package pkg = builder.getPackage();
- pkg = SerializationHelper.serializeObject(pkg);
assertEquals( 1,
pkg.getTypeDeclarations().size() );
@@ -1258,16 +1257,14 @@
public void testJaninoWithStaticImports() throws Exception {
PackageBuilderConfiguration cfg = new PackageBuilderConfiguration();
- JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) cfg.getDialectConfiguration( "java" );
+ JavaDialectConfiguration javaConf = (JavaDialectConfiguration) cfg.getDialectConfiguration( "java" );
javaConf.setCompiler( JavaDialectConfiguration.JANINO );
+ PackageBuilder bldr = new PackageBuilder( cfg );
+ bldr.addPackageFromDrl( new StringReader( "package testBuilderPackageConfig \n import java.util.List" ) );
+ bldr.addPackageFromDrl( new StringReader( "function void doSomething() {\n System.err.println(List.class.toString()); }" ) );
- PackageBuilder bldr = new PackageBuilder(cfg);
- bldr.addPackageFromDrl( new StringReader("package testBuilderPackageConfig \n import java.util.List") );
- bldr.addPackageFromDrl( new StringReader("function void doSomething() {\n System.err.println(List.class.toString()); }"));
-
- assertFalse(bldr.hasErrors());
-
+ assertFalse( bldr.hasErrors() );
}
@@ -1298,7 +1295,7 @@
}
public String getPackageName() {
- return null;
+ return null;
}
public void setId(String id) {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/RuleErrorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/RuleErrorTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/RuleErrorTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,12 +1,11 @@
package org.drools.compiler;
+import junit.framework.TestCase;
+
import org.drools.commons.jci.problems.CompilationProblem;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.Rule;
-import junit.framework.TestCase;
-
public class RuleErrorTest extends TestCase {
public void testNewLineInMessage() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -56,7 +56,7 @@
final RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
// load up the rulebase
- return SerializationHelper.serializeObject(ruleBase);
+ return ruleBase;
}
public void testAccumulateModify() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,14 +1,21 @@
package org.drools.integrationtests;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.Assert;
import junit.framework.TestCase;
+
import org.drools.ClockType;
import org.drools.OrderEvent;
import org.drools.RuleBase;
import org.drools.RuleBaseConfiguration;
import org.drools.RuleBaseFactory;
+import org.drools.TemporalSession;
import org.drools.StockTick;
-import org.drools.TemporalSession;
import org.drools.WorkingMemory;
import org.drools.common.EventFactHandle;
import org.drools.common.InternalFactHandle;
@@ -19,12 +26,6 @@
import org.drools.rule.Package;
import org.drools.temporal.SessionPseudoClock;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
public class CepEspTest extends TestCase {
protected RuleBase getRuleBase() throws Exception {
@@ -63,9 +64,9 @@
public void testEventAssertion() throws Exception {
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CEP_SimpleEventAssertion.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
- final WorkingMemory wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
+ WorkingMemory wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
final List results = new ArrayList();
wm.setGlobal( "results",
@@ -98,12 +99,12 @@
assertNotNull( handle3 );
assertNotNull( handle4 );
-// @FIXME_testEventAssertion
-// assertTrue( handle1.isEvent() );
-// assertTrue( handle2.isEvent() );
-// assertTrue( handle3.isEvent() );
-// assertTrue( handle4.isEvent() );
+ assertTrue( handle1.isEvent() );
+ assertTrue( handle2.isEvent() );
+ assertTrue( handle3.isEvent() );
+ assertTrue( handle4.isEvent() );
+// wm = SerializationHelper.serializeObject(wm);
wm.fireAllRules();
assertEquals( 2,
@@ -135,7 +136,7 @@
StockTick tick3 = new StockTick( 3,
"ACME",
10,
- System.currentTimeMillis(),
+ System.currentTimeMillis(),
8 );
StockTick tick4 = new StockTick( 4,
"DROO",
@@ -157,12 +158,12 @@
assertTrue( handle2.isEvent() );
assertTrue( handle3.isEvent() );
assertTrue( handle4.isEvent() );
-
+
EventFactHandle eh1 = (EventFactHandle) handle1;
EventFactHandle eh2 = (EventFactHandle) handle2;
EventFactHandle eh3 = (EventFactHandle) handle3;
EventFactHandle eh4 = (EventFactHandle) handle4;
-
+
assertEquals( tick1.getDuration(), eh1.getDuration() );
assertEquals( tick2.getDuration(), eh2.getDuration() );
assertEquals( tick3.getDuration(), eh3.getDuration() );
@@ -180,7 +181,7 @@
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CEP_TimeRelationalOperators.drl" ) );
final RuleBase ruleBase = loadRuleBase( reader );
- final TemporalSession<SessionPseudoClock> wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
+ TemporalSession<SessionPseudoClock> wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
final SessionPseudoClock clock = wm.getSessionClock();
clock.setStartupTime( 1000 );
@@ -297,6 +298,7 @@
assertTrue( handle7.isEvent() );
assertTrue( handle8.isEvent() );
+// wm = SerializationHelper.serializeObject(wm);
wm.fireAllRules();
assertEquals( 1,
@@ -376,7 +378,7 @@
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CEP_SimpleTimeWindow.drl" ) );
final RuleBase ruleBase = loadRuleBase( reader );
- final TemporalSession<SessionPseudoClock> wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
+ TemporalSession<SessionPseudoClock> wm = ruleBase.newTemporalSession( ClockType.PSEUDO_CLOCK );
final List results = new ArrayList();
wm.setGlobal( "results",
@@ -395,6 +397,7 @@
assertEquals( 0,
handle1.getDuration() );
+// wm = SerializationHelper.serializeObject(wm);
wm.fireAllRules();
clock.advanceTime( 10000 ); // 10 seconds
@@ -439,6 +442,7 @@
assertEquals( 0,
handle5.getDuration() );
+// wm = SerializationHelper.serializeObject(wm);
wm.fireAllRules();
clock.advanceTime( 10000 ); // 10 seconds
@@ -450,6 +454,7 @@
assertEquals( 0,
handle6.getDuration() );
+ wm = SerializationHelper.serializeObject(wm);
wm.fireAllRules();
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,6 +1,14 @@
package org.drools.integrationtests;
-import junit.framework.Assert;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.StringReader;
+import java.io.ObjectOutput;
+
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.common.DroolsObjectOutputStream;
@@ -10,13 +18,7 @@
import org.drools.lang.descr.PackageDescr;
import org.drools.rule.Package;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutput;
-import java.io.StringReader;
+import junit.framework.Assert;
/**
* This generates a large number of rules (complex ones) and then times
Deleted: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,45 +0,0 @@
-package org.drools.integrationtests;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.PackageBuilder;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.rule.*;
-import org.drools.rule.Package;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-
-import java.io.StringReader;
-
-import junit.framework.TestCase;
-
-/**
- * Created by IntelliJ IDEA. User: SG0521861 Date: Mar 18, 2008 Time: 1:22:50 PM To change this template use File |
- * Settings | File Templates.
- */
-public class LargeRuleBaseSerializationTest extends TestCase {
- private static final int RULE_COUNT = 200;
-
- public void testLargeRuleBase() throws Exception{
- System.out.println("Generating "+RULE_COUNT+" rules");
- StringBuilder sb = new StringBuilder(LargeRuleBase.getHeader());
-
- for (int i = 0; i < RULE_COUNT; i++) {
- sb.append(LargeRuleBase.getTemplate1("testRule"+i, i));
- }
- System.out.println("Parsing "+RULE_COUNT+" rules");
- DrlParser ps = new DrlParser();
- PackageDescr pkgDescr = ps.parse(new StringReader(sb.toString()));
-
- PackageBuilder pkgBuilder = new PackageBuilder();
- pkgBuilder.addPackage(pkgDescr);
-
- Package pkg = pkgBuilder.getPackage();
- RuleBase rb = RuleBaseFactory.newRuleBase();
-
- rb.addPackage(pkg);
-
- rb = SerializationHelper.serializeObject(rb);
-
- }
-
-}
Copied: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,45 @@
+package org.drools.integrationtests;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.PackageBuilder;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.*;
+import org.drools.rule.Package;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+
+import java.io.StringReader;
+
+import junit.framework.TestCase;
+
+/**
+ * Created by IntelliJ IDEA. User: SG0521861 Date: Mar 18, 2008 Time: 1:22:50 PM To change this template use File |
+ * Settings | File Templates.
+ */
+public class LargeRuleBaseSerializationTest extends TestCase {
+ private static final int RULE_COUNT = 200;
+
+ public void testLargeRuleBase() throws Exception{
+ System.out.println("Generating "+RULE_COUNT+" rules");
+ StringBuilder sb = new StringBuilder(LargeRuleBase.getHeader());
+
+ for (int i = 0; i < RULE_COUNT; i++) {
+ sb.append(LargeRuleBase.getTemplate1("testRule"+i, i));
+ }
+ System.out.println("Parsing "+RULE_COUNT+" rules");
+ DrlParser ps = new DrlParser();
+ PackageDescr pkgDescr = ps.parse(new StringReader(sb.toString()));
+
+ PackageBuilder pkgBuilder = new PackageBuilder();
+ pkgBuilder.addPackage(pkgDescr);
+
+ Package pkg = pkgBuilder.getPackage();
+ RuleBase rb = RuleBaseFactory.newRuleBase();
+
+ rb.addPackage(pkg);
+
+ rb = SerializationHelper.serializeObject(rb);
+
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -3,12 +3,9 @@
import junit.framework.Assert;
import junit.framework.TestCase;
import org.drools.Cheese;
-import org.drools.Cheesery;
-import org.drools.FactHandle;
import org.drools.Person;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
import org.drools.WorkingMemory;
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsParserException;
@@ -22,12 +19,10 @@
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Serializable;
-import java.io.StringReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
public class MVELTest extends TestCase {
public void testHelloWorld() throws Exception {
@@ -108,167 +103,7 @@
}
}
-
- public void testMVELSoundex() throws Exception {
- // read in the source
- final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
- RuleBase ruleBase = loadRuleBase( reader );
-
- ruleBase = SerializationHelper.serializeObject( ruleBase );
- WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
- workingMemory = SerializationHelper.serializeObject( workingMemory );
- Cheese c = new Cheese( "fubar",
- 2 );
-
- workingMemory.insert( c );
- workingMemory.fireAllRules();
- assertEquals( 42,
- c.getPrice() );
- }
-
- public void testMVELConsequenceWithMapsAndArrays() throws Exception {
- String rule = "package org.test;\n";
- rule += "import java.util.ArrayList\n";
- rule += "import java.util.HashMap\n";
- rule += "global java.util.List list\n";
- rule += "rule \"Test Rule\"\n";
- rule += " dialect \"mvel\"";
- rule += "when\n";
- rule += "then\n";
- rule += " m = new HashMap();\n";
- rule += " l = new ArrayList();\n";
- rule += " l.add(\"first\");\n";
- rule += " m.put(\"content\", l);\n";
- rule += " System.out.println(m[\"content\"][0]);\n";
- rule += " list.add(m[\"content\"][0]);\n";
- rule += "end";
-
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader( rule ) );
- final Package pkg = builder.getPackage();
-
- final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- final StatefulSession session = ruleBase.newStatefulSession();
- List list = new ArrayList();
- session.setGlobal( "list",
- list );
- session.fireAllRules();
-
- assertEquals( 1,
- list.size() );
- assertEquals( "first",
- list.get( 0 ) );
- }
-
- /* @see JBRULES-1484 */
- public void testMVELDynamicImports() throws Exception {
- String rule = "package org.xxx;\n";
-
- rule += "import org.drools.*\n";
-
- rule += "global java.util.List list\n";
- rule += "rule \"Test Rule\"\n";
- rule += " dialect \"mvel\"";
- rule += "when\n";
- rule += "then\n";
- rule += " p = new Person( \"diablo\", new Cheese (\"cheddar\") );";
- rule += " c = new Cheese( \"y\" );";
- rule += " list.add( p );\n";
- rule += "end";
-
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader( rule ) );
- final Package pkg = builder.getPackage();
-
- final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- final StatefulSession session = ruleBase.newStatefulSession();
- List list = new ArrayList();
- session.setGlobal( "list",
- list );
- session.fireAllRules();
-
- assertEquals( 1,
- list.size() );
-
- Person p = new Person( "diablo",
- new Cheese( "cheddar" ) );
-
- assertEquals( p,
- list.get( 0 ) );
- }
-
- public void testMatchesMVEL() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesMVEL.drl" ) ) );
- final Package pkg = builder.getPackage();
-
- final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- final StatefulSession session = ruleBase.newStatefulSession();
-
- final List results = new ArrayList();
- session.setGlobal( "results",
- results );
-
- Map map = new HashMap();
- map.put( "content",
- "hello ;=" );
- session.insert( map );
-
- session.fireAllRules();
-
- assertEquals( 1,
- results.size() );
- }
-
- public void testNPEOnMVELAlphaPredicates() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NPEOnMVELPredicate.drl" ) ) );
- final Package pkg = builder.getPackage();
-
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
- final StatefulSession session = ruleBase.newStatefulSession();
-
- final List list = new ArrayList();
- session.setGlobal( "results",
- list );
-
- Cheese cheese = new Cheese( "stilton",
- 10 );
- Cheesery cheesery = new Cheesery();
- cheesery.addCheese( cheese );
- Person bob = new Person( "bob",
- "stilton" );
- Cheese cheese2 = new Cheese();
- bob.setCheese( cheese2 );
-
- FactHandle p = session.insert( bob );
- FactHandle c = session.insert( cheesery );
-
- session.fireAllRules();
-
- assertEquals( "should not have fired",
- 0,
- list.size() );
-
- cheese2.setType( "stilton" );
-
- session.update( p,
- bob );
- session.fireAllRules();
-
- assertEquals( 1,
- list.size() );
-
- }
-
-
public Object compiledExecute(String ex) {
Serializable compiled = MVEL.compileExpression(ex);
return MVEL.executeExpression(compiled, new Object(), new HashMap());
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -37,6 +37,7 @@
import org.drools.rule.Rule;
public class MarshallingTest extends TestCase {
+
public void testSerializable() throws Exception {
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
@@ -469,10 +470,11 @@
// serialize session and rulebase out
byte[] serializedSession = SerializationHelper.serializeOut( session );
+ byte[] serializedRulebase = SerializationHelper.serializeOut( ruleBase );
session.dispose();
// now deserialize the rulebase, deserialize the session and test it
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = (RuleBase) SerializationHelper.serializeIn( serializedRulebase );
session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
// dynamically add a new package
@@ -499,54 +501,17 @@
assertEquals( mark.getObject(),
results.get( 3 ) );
+ serializedSession = null;
+ serializedRulebase = null;
+
serializedSession = SerializationHelper.serializeOut( session );
- SerializationHelper.serializeOut( ruleBase );
+ serializedRulebase = SerializationHelper.serializeOut( ruleBase );
// dispose session
session.dispose();
}
- /**
- * In this case we are dealing with facts which are not on the systems classpath.
- *
- */
- public void testSerializabilityWithJarFacts() throws Exception {
- MapBackedClassLoader loader = new MapBackedClassLoader( this.getClass().getClassLoader() );
-
- JarInputStream jis = new JarInputStream(this.getClass().getResourceAsStream("/billasurf.jar"));
-
- JarEntry entry = null;
- byte[] buf = new byte[1024];
- int len = 0;
- while ( (entry = jis.getNextJarEntry()) != null ) {
- if ( !entry.isDirectory() ) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- while ( (len = jis.read( buf )) >= 0 ) {
- out.write( buf, 0, len );
- }
- loader.addResource( entry.getName() , out.toByteArray() );
- }
- }
-
- String drl = "package foo.bar \n" +
- "import com.billasurf.Board\n" +
- "rule 'MyGoodRule' \n dialect 'mvel' \n when Board() then System.err.println(42); \n end\n";
-
- PackageBuilder builder = new PackageBuilder(new PackageBuilderConfiguration(loader));
- builder.addPackageFromDrl(new StringReader(drl));
- assertFalse(builder.hasErrors());
-
- Package p = builder.getPackage();
- byte[] ser = SerializationHelper.serializeOut(p);
-
- //now read it back
- DroolsObjectInputStream in = new DroolsObjectInputStream(new ByteArrayInputStream(ser), loader);
- Package p_ = (Package) in.readObject();
- assertNotNull(p_);
-
- }
-
/*
* Here I am inserting data points(e.g. Cheese) with 'stilton' / 'brie' as type value.
* Initially I had only 1 rule ('like stilton') for data points(e.g. Cheese) having type as 'stilton'.
@@ -891,18 +856,50 @@
}
+ /**
+ * In this case we are dealing with facts which are not on the systems classpath.
+ *
+ */
+ public void testSerializabilityWithJarFacts() throws Exception {
+ MapBackedClassLoader loader = new MapBackedClassLoader( this.getClass().getClassLoader() );
+ JarInputStream jis = new JarInputStream(this.getClass().getResourceAsStream("/billasurf.jar"));
- protected RuleBase getRuleBase() throws Exception {
+ JarEntry entry = null;
+ byte[] buf = new byte[1024];
+ int len = 0;
+ while ( (entry = jis.getNextJarEntry()) != null ) {
+ if ( !entry.isDirectory() ) {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ while ( (len = jis.read( buf )) >= 0 ) {
+ out.write( buf, 0, len );
+ }
+ loader.addResource( entry.getName() , out.toByteArray() );
+ }
+ }
- return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
- null );
+ String drl = "package foo.bar \n" +
+ "import com.billasurf.Board\n" +
+ "rule 'MyGoodRule' \n dialect 'mvel' \n when Board() then System.err.println(42); \n end\n";
+
+ PackageBuilder builder = new PackageBuilder(new PackageBuilderConfiguration(loader));
+ builder.addPackageFromDrl(new StringReader(drl));
+ assertFalse(builder.hasErrors());
+
+ Package p = builder.getPackage();
+ byte[] ser = SerializationHelper.serializeOut(p);
+
+ //now read it back
+ DroolsObjectInputStream in = new DroolsObjectInputStream(new ByteArrayInputStream(ser), loader);
+ Package p_ = (Package) in.readObject();
+ assertNotNull(p_);
+
}
- protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+ protected RuleBase getRuleBase() throws Exception {
return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
- config );
+ null );
}
protected RuleBase getRuleBase(Package pkg) throws Exception {
@@ -910,6 +907,12 @@
ruleBase.addPackage(pkg);
return SerializationHelper.serializeObject(ruleBase);
- }
+ }
+ protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+
+ return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+ config );
+ }
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,8 +16,23 @@
* limitations under the License.
*/
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Reader;
+import java.io.StringReader;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
import junit.framework.Assert;
import junit.framework.TestCase;
+
import org.acme.insurance.Driver;
import org.acme.insurance.Policy;
import org.drools.Address;
@@ -26,7 +41,6 @@
import org.drools.Cheese;
import org.drools.CheeseEqual;
import org.drools.Cheesery;
-import org.drools.Cheesery.Maturity;
import org.drools.Child;
import org.drools.DomainObjectHolder;
import org.drools.FactA;
@@ -61,6 +75,7 @@
import org.drools.StatelessSession;
import org.drools.TestParam;
import org.drools.WorkingMemory;
+import org.drools.Cheesery.Maturity;
import org.drools.audit.WorkingMemoryFileLogger;
import org.drools.audit.WorkingMemoryInMemoryLogger;
import org.drools.base.ClassObjectFilter;
@@ -71,9 +86,9 @@
import org.drools.compiler.DroolsError;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilder.PackageMergeException;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.ParserError;
+import org.drools.compiler.PackageBuilder.PackageMergeException;
import org.drools.event.ActivationCancelledEvent;
import org.drools.event.ActivationCreatedEvent;
import org.drools.event.AfterActivationFiredEvent;
@@ -101,21 +116,6 @@
import org.drools.spi.GlobalResolver;
import org.drools.xml.XmlDumper;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Reader;
-import java.io.StringReader;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
/** Run all the tests with the ReteOO engine implementation */
public class MiscTest extends TestCase {
@@ -138,7 +138,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese cheese = new Cheese( "stilton",
15 );
@@ -146,10 +146,10 @@
List list = new ArrayList();
workingMemory.setGlobal( "list",
list );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
- list = (List) workingMemory.getGlobal( "list" );
+ list = (List)workingMemory.getGlobal("list");
assertEquals( 4,
list.size() );
@@ -170,7 +170,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -187,30 +187,17 @@
cheesery2.setMaturity( Maturity.YOUNG );
workingMemory.insert( cheesery2 );
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
+// list = (List) workingMemory.getGlobal( "list" );
workingMemory.fireAllRules();
assertEquals( 2,
list.size() );
- assertSame( cheesery1, list.get( 0 ) );
assertEquals( cheesery1,
list.get( 0 ) );
assertEquals( cheesery2,
list.get( 1 ) );
-
- // now try it again with the list from a serialised WM
- workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( SerializationHelper.serializeOut( workingMemory )) );
- list = (List) workingMemory.getGlobal( "list" );
- workingMemory.fireAllRules();
-
- assertEquals( 2,
- list.size() );
-
- assertNotSame( cheesery1, list.get( 0 ) );
- assertEquals( cheesery1,
- list.get( 0 ) );
- assertEquals( cheesery2,
- list.get( 1 ) );
}
public void testPrimitiveArray() throws Exception {
@@ -220,7 +207,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List result = new ArrayList();
workingMemory.setGlobal( "result",
@@ -244,6 +231,25 @@
}
+ public void testMVELSoundex() throws Exception {
+
+ // read in the source
+ final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
+ RuleBase ruleBase = loadRuleBase( reader );
+
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
+ Cheese c = new Cheese( "fubar",
+ 2 );
+
+ workingMemory.insert( c );
+ workingMemory.fireAllRules();
+ assertEquals( 42,
+ c.getPrice() );
+ }
+
public void testGlobals() throws Exception {
final PackageBuilder builder = new PackageBuilder();
@@ -252,7 +258,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -266,11 +272,11 @@
5 );
workingMemory.insert( stilton );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( new Integer( 5 ),
- ((List) workingMemory.getGlobal( "list" )).get( 0 ) );
+ ((List)workingMemory.getGlobal("list")).get( 0 ) );
}
public void testGlobals2() throws Exception {
@@ -281,7 +287,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -298,24 +304,24 @@
5 );
workingMemory.insert( stilton );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
- ((List) workingMemory.getGlobal( "results" )).size() );
+ ((List)workingMemory.getGlobal("results")).size() );
assertEquals( "memberOf",
- ((List) workingMemory.getGlobal( "results" )).get( 0 ) );
+ ((List)workingMemory.getGlobal("results")).get( 0 ) );
final Cheese brie = new Cheese( "brie",
5 );
workingMemory.insert( brie );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 2,
- ((List) workingMemory.getGlobal( "results" )).size() );
+ ((List)workingMemory.getGlobal("results")).size() );
assertEquals( "not memberOf",
- ((List) workingMemory.getGlobal( "results" )).get( 1 ) );
+ ((List)workingMemory.getGlobal("results")).get( 1 ) );
}
public void testCustomGlobalResolver() throws Exception {
@@ -325,7 +331,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map map = new HashMap();
@@ -338,8 +344,7 @@
string );
workingMemory.setGlobalResolver( new GlobalResolver() {
- public void readExternal(ObjectInput in) throws IOException,
- ClassNotFoundException {
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
}
public void writeExternal(ObjectOutput out) throws IOException {
@@ -376,7 +381,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map map = new HashMap();
@@ -399,8 +404,7 @@
value );
}
- public void readExternal(ObjectInput in) throws IOException,
- ClassNotFoundException {
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
}
public void writeExternal(ObjectOutput out) throws IOException {
@@ -443,7 +447,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -468,7 +472,7 @@
// add the package to a rulebase
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List events = new ArrayList();
@@ -514,7 +518,7 @@
// add the package to a rulebase
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -550,7 +554,7 @@
// add the package to a rulebase
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -577,7 +581,7 @@
// add the package to a rulebase
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -612,7 +616,7 @@
// add the package to a rulebase
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
// load up the rulebase
return ruleBase;
}
@@ -634,7 +638,7 @@
workingMemory.insert( new Cheese( "brie",
33 ) );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
list.size() );
@@ -659,7 +663,7 @@
workingMemory.insert( message );
workingMemory.insert( "boo" );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertTrue( message.isFired() );
assertEquals( message,
@@ -674,7 +678,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -684,7 +688,7 @@
final Cheese stilton = new Cheese( "stilton",
5 );
workingMemory.insert( stilton );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
@@ -699,7 +703,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -711,7 +715,7 @@
12 );
bill.setAlive( true );
workingMemory.insert( bill );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
@@ -726,7 +730,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -740,7 +744,7 @@
stilton.setFieldValue( "price",
new Integer( 100 ) );
workingMemory.insert( stilton );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
@@ -763,7 +767,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -773,7 +777,7 @@
final State state = new State( "initial" );
workingMemory.insert( state,
true );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
@@ -802,7 +806,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -821,40 +825,38 @@
workingMemory.insert( bill );
workingMemory.insert( ben );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 1,
list.size() );
}
- public void testBigDecimalIntegerLiteral() throws Exception {
+ public void testBigDecimalIntegerLiteral() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "big_decimal_and_literal.drl" ) ) );
- final Package pkg = builder.getPackage();
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl(new InputStreamReader(getClass()
+ .getResourceAsStream("big_decimal_and_literal.drl")));
+ final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage(pkg);
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
- final List list = new ArrayList();
- workingMemory.setGlobal( "list",
- list );
+ final List list = new ArrayList();
+ workingMemory.setGlobal("list", list);
- final PersonInterface bill = new Person( "bill",
- null,
- 12 );
- bill.setBigDecimal( new BigDecimal( "42" ) );
- bill.setBigInteger( new BigInteger( "42" ) );
+ final PersonInterface bill = new Person("bill", null, 12);
+ bill.setBigDecimal(new BigDecimal("42"));
+ bill.setBigInteger(new BigInteger("42"));
- workingMemory.insert( bill );
- workingMemory.fireAllRules();
+ workingMemory.insert(bill);
+ workingMemory.fireAllRules();
- assertEquals( 6,
- list.size() );
- }
+ assertEquals(6, list.size());
+ }
+
// @FIXME
public void FIXME_testBigDecimalWithFromAndEval() throws Exception {
String rule = "package org.test;\n";
@@ -877,6 +879,41 @@
}
+ public void testMVELConsequenceWithMapsAndArrays() throws Exception {
+ String rule = "package org.test;\n";
+ rule += "import java.util.ArrayList\n";
+ rule += "import java.util.HashMap\n";
+ rule += "global java.util.List list\n";
+ rule += "rule \"Test Rule\"\n";
+ rule += " dialect \"mvel\"";
+ rule += "when\n";
+ rule += "then\n";
+ rule += " m = new HashMap();\n";
+ rule += " l = new ArrayList();\n";
+ rule += " l.add(\"first\");\n";
+ rule += " m.put(\"content\", l);\n";
+ rule += " System.out.println(m[\"content\"][0]);\n";
+ rule += " list.add(m[\"content\"][0]);\n";
+ rule += "end";
+
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new StringReader( rule ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final StatefulSession session = ruleBase.newStatefulSession();
+ List list = new ArrayList();
+ session.setGlobal( "list",
+ list );
+ session.fireAllRules();
+
+ assertEquals( 1,
+ list.size() );
+ assertEquals( "first",
+ list.get( 0 ) );
+ }
+
public void testCell() throws Exception {
final Cell cell1 = new Cell( 9 );
final Cell cell = new Cell( 0 );
@@ -886,12 +923,12 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory memory = ruleBase.newStatefulSession();
memory.insert( cell1 );
memory.insert( cell );
- // memory = SerializationHelper.serializeObject(memory);
+// memory = SerializationHelper.serializeObject(memory);
memory.fireAllRules();
assertEquals( 9,
cell.getValue() );
@@ -939,11 +976,11 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory memory = ruleBase.newStatefulSession();
memory.insert( p );
- memory = SerializationHelper.serializeObject( memory );
+ memory = SerializationHelper.serializeObject(memory);
memory.fireAllRules();
}
@@ -955,7 +992,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
workingMemory.setGlobal( "list",
@@ -982,7 +1019,7 @@
workingMemory.insert( new Cheese( "stilton",
5 ) );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
// now have one more
@@ -998,13 +1035,13 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stinky",
5 );
workingMemory.insert( stilton );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
final QueryResults results = workingMemory.getQueryResults( "simple query" );
assertEquals( 1,
results.size() );
@@ -1029,7 +1066,7 @@
final Cheese stilton = new Cheese( "stilton",
5 );
workingMemory.insert( stilton );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( stilton,
@@ -1047,7 +1084,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "five",
@@ -1060,7 +1097,7 @@
final Cheese stilton = new Cheese( "stilton",
5 );
workingMemory.insert( stilton );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( stilton,
@@ -1074,7 +1111,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1083,7 +1120,7 @@
final Person foo = new Person( "foo" );
workingMemory.insert( foo );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( foo,
@@ -1097,7 +1134,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "two",
@@ -1116,7 +1153,7 @@
10 );
workingMemory.insert( jane );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( jane,
@@ -1132,7 +1169,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "two",
@@ -1166,7 +1203,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final PersonInterface p1 = new Person( "michael",
@@ -1178,7 +1215,7 @@
workingMemory.insert( p1 );
workingMemory.insert( p2 );
- workingMemory = SerializationHelper.serializeObject( workingMemory );
+ workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
}
@@ -1189,7 +1226,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List foo = new ArrayList();
workingMemory.setGlobal( "messages",
@@ -1204,7 +1241,7 @@
workingMemory.insert( p1 );
workingMemory.insert( p2 );
- // workingMemory = SerializationHelper.serializeObject(workingMemory);
+// workingMemory = SerializationHelper.serializeObject(workingMemory);
workingMemory.fireAllRules();
assertEquals( 2,
foo.size() );
@@ -1218,7 +1255,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list1 = new ArrayList();
@@ -1277,7 +1314,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1347,7 +1384,7 @@
Package pkg = builder.getPackage();
pkg.checkValidity();
}
-
+
/**
* @see JBRULES-1415 Certain uses of from causes NullPointerException in WorkingMemoryLogger
*/
@@ -1365,37 +1402,32 @@
rule += "end";
final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader( rule ) );
+ builder.addPackageFromDrl( new StringReader( rule ));
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
+ ruleBase.addPackage(pkg);
final StatefulSession session = ruleBase.newStatefulSession();
-
+
WorkingMemoryInMemoryLogger logger = new WorkingMemoryInMemoryLogger( session );
List list = new ArrayList();
- session.setGlobal( "list",
- list );
-
+ session.setGlobal( "list", list );
+
Cheesery cheesery = new Cheesery();
- cheesery.addCheese( new Cheese( "stilton",
- 22 ) );
-
+ cheesery.addCheese( new Cheese("stilton", 22) );
+
session.insert( cheesery );
+
+ session.fireAllRules();
+
+ assertEquals( 1, list.size());
+ assertEquals( "stilton", list.get(0));
+}
- session.fireAllRules();
-
- assertEquals( 1,
- list.size() );
- assertEquals( "stilton",
- list.get( 0 ) );
- }
-
public void testWithInvalidRule() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "invalid_rule.drl" ) ) );
final Package pkg = builder.getPackage();
- // FIXME
// Mark: please check if the conseqeuence/should/shouldn't be built
// Rule badBoy = pkg.getRules()[0];
// assertFalse(badBoy.isValid());
@@ -1410,7 +1442,7 @@
assertNotNull( e.getMessage() );
runtime = e;
}
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
assertTrue( builder.getErrors().getErrors().length > 0 );
final String pretty = builder.getErrors().toString();
@@ -1473,7 +1505,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1498,7 +1530,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1528,7 +1560,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese mussarela = new Cheese( "Mussarela",
@@ -1581,7 +1613,7 @@
RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1590,7 +1622,7 @@
workingMemory.fireAllRules();
- assertTrue( ((CustomConsequenceExceptionHandler) ((ReteooRuleBase) ruleBase).getConfiguration().getConsequenceExceptionHandler()).isCalled() );
+ assertTrue( ((CustomConsequenceExceptionHandler)((ReteooRuleBase)ruleBase).getConfiguration().getConsequenceExceptionHandler()).isCalled() );
}
public static class CustomConsequenceExceptionHandler
@@ -1609,13 +1641,12 @@
return this.called;
}
- public void readExternal(ObjectInput in) throws IOException,
- ClassNotFoundException {
- called = in.readBoolean();
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ called = in.readBoolean();
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeBoolean( called );
+ out.writeBoolean(called);
}
}
@@ -1626,7 +1657,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1649,7 +1680,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1672,7 +1703,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1695,7 +1726,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese brie = new Cheese( "brie",
@@ -1717,7 +1748,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list1 = new ArrayList();
@@ -1794,7 +1825,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -1879,7 +1910,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1914,7 +1945,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName2.drl" ) ) );
@@ -1934,15 +1965,15 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
// Adding person with null name and likes attributes
- final PersonInterface bob = new Person( (String) null,
- (String) null );
+ final PersonInterface bob = new Person( null,
+ null );
bob.setStatus( "P1" );
- final PersonInterface pete = new Person( (String) null,
- (String) null );
+ final PersonInterface pete = new Person( null,
+ null );
bob.setStatus( "P2" );
workingMemory.insert( bob );
workingMemory.insert( pete );
@@ -1965,7 +1996,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -1985,7 +2016,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2006,7 +2037,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2039,7 +2070,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List orderedFacts = new ArrayList();
@@ -2075,7 +2106,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -2093,7 +2124,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -2135,7 +2166,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stinky",
@@ -2277,7 +2308,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Person p1 = new Person( "p1",
@@ -2363,7 +2394,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2388,7 +2419,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List matchlist = new ArrayList();
@@ -2430,7 +2461,7 @@
RuleBase ruleBase = getRuleBase( config );
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List sensors = new ArrayList();
@@ -2461,7 +2492,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
Assert.fail( "Should have thrown an InvalidRulePackage" );
} catch ( final InvalidRulePackage e ) {
@@ -2480,7 +2511,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2517,7 +2548,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
fail( "Should have trown an exception" );
} catch ( final InvalidRulePackage e ) {
@@ -2535,7 +2566,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
@@ -2565,7 +2596,7 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportConflict.drl" ) ) );
final Package pkg = builder.getPackage();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
}
public void testEmptyIdentifier() throws Exception {
@@ -2575,7 +2606,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List result = new ArrayList();
workingMemory.setGlobal( "results",
@@ -2600,7 +2631,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final Map result = new HashMap();
workingMemory.setGlobal( "results",
@@ -2658,7 +2689,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.insert( new Child( "gp" ) );
@@ -2673,7 +2704,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2711,7 +2742,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2769,7 +2800,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2799,7 +2830,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
final List agendaList = new ArrayList();
@@ -2889,7 +2920,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -2914,7 +2945,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.setGlobal( "value",
@@ -2930,7 +2961,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2969,7 +3000,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -2998,7 +3029,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3026,7 +3057,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3060,7 +3091,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3087,7 +3118,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) ruleBase.newStatefulSession();
final Cheese stilton = new Cheese( "stilton",
@@ -3119,7 +3150,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3182,7 +3213,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3240,7 +3271,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3255,7 +3286,6 @@
workingMemory.insert( stilton );
workingMemory.fireAllRules();
-
assertEquals( 1,
list.size() );
@@ -3263,6 +3293,30 @@
list.get( 0 ) );
}
+ public void testMatchesMVEL() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesMVEL.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ final List results = new ArrayList();
+ session.setGlobal( "results",
+ results );
+
+ Map map = new HashMap();
+ map.put( "content",
+ "hello ;=" );
+ session.insert( map );
+
+ session.fireAllRules();
+
+ assertEquals( 1,
+ results.size() );
+ }
+
public void testAutomaticBindingsErrors() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindingsErrors.drl" ) ) );
@@ -3278,7 +3332,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3308,7 +3362,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3379,7 +3433,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3411,7 +3465,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3436,7 +3490,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3488,7 +3542,7 @@
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3517,7 +3571,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3557,7 +3611,7 @@
conf.setShareAlphaNodes( false );
RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3590,7 +3644,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3616,7 +3670,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -3639,7 +3693,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3689,7 +3743,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
ruleBase.addPackage( pkg2 );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3754,7 +3808,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg1 );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3797,7 +3851,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3824,7 +3878,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3857,7 +3911,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3884,7 +3938,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -3998,7 +4052,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4035,7 +4089,7 @@
conf.setShadowProxy( true );
RuleBase rb = RuleBaseFactory.newRuleBase( conf );
rb.addPackage( builder.getPackage() );
- rb = SerializationHelper.serializeObject( rb );
+ rb = SerializationHelper.serializeObject(rb);
StatefulSession session = rb.newStatefulSession();
List list1 = new ArrayList();
@@ -4096,7 +4150,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4126,7 +4180,7 @@
conf.setSequential( true );
RuleBase ruleBase = getRuleBase( conf );
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
StatelessSession session = ruleBase.newStatelessSession();
List list = new ArrayList();
@@ -4145,7 +4199,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
StatefulSession session = ruleBase.newStatefulSession();
List list = new ArrayList();
@@ -4179,7 +4233,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4284,7 +4338,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
ruleBase.addPackage( pkg2 );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4303,7 +4357,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4327,7 +4381,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List results = new ArrayList();
@@ -4353,7 +4407,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
workingMemory.fireAllRules();
@@ -4375,7 +4429,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4434,7 +4488,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
@@ -4465,7 +4519,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4531,7 +4585,7 @@
try {
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
} catch ( Exception e ) {
e.printStackTrace();
fail( "Should not raise any exception!" );
@@ -4545,7 +4599,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( builder.getPackage() );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
@@ -4581,7 +4635,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4623,7 +4677,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4668,7 +4722,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4727,7 +4781,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4755,7 +4809,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4812,7 +4866,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4844,7 +4898,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4869,7 +4923,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4895,7 +4949,7 @@
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final StatefulSession session = ruleBase.newStatefulSession();
CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4911,7 +4965,7 @@
conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.IDENTITY );
RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final StatefulSession session = ruleBase.newStatefulSession();
CheeseEqual cheese = new CheeseEqual( "stilton",
@@ -4931,7 +4985,7 @@
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -4948,4 +5002,47 @@
list.size() );
assertTrue( list.contains( b.getObject() ) );
}
+
+ public void testNPEOnMVELAlphaPredicates() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NPEOnMVELPredicate.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ final List list = new ArrayList();
+ session.setGlobal( "results",
+ list );
+
+ Cheese cheese = new Cheese( "stilton",
+ 10 );
+ Cheesery cheesery = new Cheesery();
+ cheesery.addCheese( cheese );
+ Person bob = new Person( "bob",
+ "stilton" );
+ Cheese cheese2 = new Cheese();
+ bob.setCheese( cheese2 );
+
+ FactHandle p = session.insert( bob );
+ FactHandle c = session.insert( cheesery );
+
+ session.fireAllRules();
+
+ assertEquals( "should not have fired",
+ 0,
+ list.size() );
+
+ cheese2.setType( "stilton" );
+ session.update( p,
+ bob );
+ session.fireAllRules();
+
+ assertEquals( 1,
+ list.size() );
+
+ }
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulSessionTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulSessionTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -140,7 +140,7 @@
int i = 0;
while ( !futureFireAllRules.isDone() ) {
- Thread.sleep( 100 );
+ Thread.sleep( 300 );
if (i++ > 5) {
fail( "Future should have finished by now" );
}
@@ -165,7 +165,7 @@
int i = 0;
while ( !futureFireAllRules.isDone() ) {
- Thread.sleep( 300 );
+ Thread.sleep( 100 );
if (i++ > 5) {
fail( "Future should have finished by now" );
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -131,11 +131,10 @@
assertNotNull( handle3 );
assertNotNull( handle4 );
-// @FIXME_testEventAssertion
-// assertTrue( handle1.isEvent() );
-// assertTrue( handle2.isEvent() );
-// assertTrue( handle3.isEvent() );
-// assertTrue( handle4.isEvent() );
+ assertTrue( handle1.isEvent() );
+ assertTrue( handle2.isEvent() );
+ assertTrue( handle3.isEvent() );
+ assertTrue( handle4.isEvent() );
wm.fireAllRules();
@@ -171,11 +170,10 @@
assertNotNull( handle7 );
assertNotNull( handle8 );
-// @FIXME_testEventAssertion
-// assertTrue( handle5.isEvent() );
-// assertTrue( handle6.isEvent() );
-// assertTrue( handle7.isEvent() );
-// assertTrue( handle8.isEvent() );
+ assertTrue( handle5.isEvent() );
+ assertTrue( handle6.isEvent() );
+ assertTrue( handle7.isEvent() );
+ assertTrue( handle8.isEvent() );
wm.fireAllRules();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Stage.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -21,7 +21,6 @@
*
*/
-import java.io.Serializable;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -7,15 +7,22 @@
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.Lexer;
import org.antlr.runtime.TokenStream;
+import org.drools.base.evaluators.MatchesEvaluatorsDefinition;
+import org.drools.base.evaluators.SetEvaluatorsDefinition;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.PatternDescr;
public class MVELDumperTest extends TestCase {
private MVELDumper dumper;
-
+
protected void setUp() throws Exception {
super.setUp();
+
+ // configure operators
+ new SetEvaluatorsDefinition();
+ new MatchesEvaluatorsDefinition();
+
dumper = new MVELDumper();
}
@@ -23,7 +30,7 @@
super.tearDown();
}
- public void xxxtestDump() throws Exception {
+ public void testDump() throws Exception {
String input = "Cheese( price > 10 && < 20 || == $val || == 30 )";
String expected = "( ( price > 10 && price < 20 ) || price == $val || price == 30 )" ;
DRLParser parser = parse( input );
@@ -59,7 +66,30 @@
assertEquals( expected, result );
}
-
+ public void testDumpMatches3() throws Exception {
+ String input = "Map( this[\"content\"] matches \"hello ;=\" )";
+ String expected = "this[\"content\"] ~= \"hello ;=\"" ;
+ DRLParser parser = parse( input );
+ PatternDescr pattern = (PatternDescr) parser.fact( null );
+
+ FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+ String result = dumper.dump( fieldDescr );
+
+ assertEquals( expected, result );
+ }
+
+ public void testDumpWithDateAttr() throws Exception {
+ String input = "Person( son.birthDate == \"01-jan-2000\" )";
+ String expected = "son.birthDate == org.drools.util.DateUtils.parseDate( \"01-jan-2000\" )" ;
+ DRLParser parser = parse( input );
+ PatternDescr pattern = (PatternDescr) parser.fact( null );
+
+ FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+ String result = dumper.dump( fieldDescr, true );
+
+ assertEquals( expected, result );
+ }
+
private DRLParser parse(final String text) throws Exception {
return newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
}
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 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,7 +16,15 @@
* limitations under the License.
*/
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.List;
+
import junit.framework.TestCase;
+
import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonToken;
@@ -58,17 +66,10 @@
import org.drools.lang.descr.RestrictionConnectiveDescr;
import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.TypeDeclarationDescr;
import org.drools.lang.descr.VariableRestrictionDescr;
-import org.drools.lang.descr.TypeDeclarationDescr;
import org.drools.lang.dsl.DefaultExpander;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Iterator;
-import java.util.List;
-
public class RuleParserTest extends TestCase {
private DRLParser parser;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -5,7 +5,6 @@
import junit.framework.TestCase;
import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectRegistry;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.AccumulateDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaActionBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,54 +1,23 @@
package org.drools.rule.builder.dialect.java;
-import java.io.InputStreamReader;
-import java.io.Serializable;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import junit.framework.Assert;
import junit.framework.TestCase;
-import org.drools.Cheese;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
-import org.drools.base.ClassObjectType;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.base.mvel.MVELConsequence;
-import org.drools.base.mvel.MVELDebugHandler;
-import org.drools.common.AgendaItem;
-import org.drools.common.InternalFactHandle;
-import org.drools.common.PropagationContextImpl;
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.PackageDescr;
import org.drools.lang.descr.ProcessDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Declaration;
import org.drools.rule.Package;
-import org.drools.rule.Pattern;
-import org.drools.rule.Rule;
-import org.drools.rule.builder.PackageBuildContext;
import org.drools.rule.builder.ProcessBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.RuleBuilder;
import org.drools.spi.Action;
-import org.drools.spi.ObjectType;
-import org.drools.spi.PatternExtractor;
import org.drools.workflow.core.impl.WorkflowProcessImpl;
import org.drools.workflow.core.node.ActionNode;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.ParserContext;
public class JavaActionBuilderTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,23 +2,20 @@
import java.util.Set;
+import junit.framework.TestCase;
+
import org.antlr.runtime.RecognitionException;
import org.drools.Cheese;
import org.drools.base.ClassObjectType;
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectRegistry;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.ImportDeclaration;
import org.drools.rule.Package;
import org.drools.rule.Pattern;
import org.drools.rule.Rule;
+import org.drools.rule.builder.RuleBuildContext;
-import junit.framework.TestCase;
-
public class JavaConsequenceBuilderTest extends TestCase {
private JavaConsequenceBuilder builder;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzerTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzerTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,7 +17,6 @@
*/
package org.drools.rule.builder.dialect.java;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/RuleBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -29,7 +29,6 @@
import org.drools.base.ClassTypeResolver;
import org.drools.base.TypeResolver;
import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectRegistry;
import org.drools.compiler.DrlParser;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELActionBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,51 +1,21 @@
package org.drools.rule.builder.dialect.mvel;
-import java.io.InputStreamReader;
-import java.io.Serializable;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import junit.framework.Assert;
import junit.framework.TestCase;
-import org.drools.Cheese;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
-import org.drools.base.ClassObjectType;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.base.mvel.MVELConsequence;
-import org.drools.base.mvel.MVELDebugHandler;
-import org.drools.common.AgendaItem;
-import org.drools.common.InternalFactHandle;
-import org.drools.common.PropagationContextImpl;
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Declaration;
import org.drools.rule.Package;
-import org.drools.rule.Pattern;
-import org.drools.rule.Rule;
import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.RuleBuilder;
import org.drools.spi.Action;
-import org.drools.spi.ObjectType;
-import org.drools.spi.PatternExtractor;
import org.drools.workflow.core.node.ActionNode;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.ParserContext;
public class MVELActionBuilderTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -21,12 +21,10 @@
import org.drools.common.InternalFactHandle;
import org.drools.common.PropagationContextImpl;
import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectConfiguration;
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.lang.descr.ActionDescr;
import org.drools.lang.descr.PackageDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.reteoo.ReteTuple;
@@ -38,8 +36,8 @@
import org.drools.rule.builder.RuleBuilder;
import org.drools.spi.ObjectType;
import org.drools.spi.PatternExtractor;
-import org.mvel.compiler.ExpressionCompiler;
import org.mvel.ParserContext;
+import org.mvel.compiler.ExpressionCompiler;
public class MVELConsequenceBuilderTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELDecisionBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,51 +1,21 @@
package org.drools.rule.builder.dialect.mvel;
-import java.io.InputStreamReader;
-import java.io.Serializable;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import junit.framework.Assert;
import junit.framework.TestCase;
-import org.drools.Cheese;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
-import org.drools.base.ClassObjectType;
-import org.drools.base.DefaultKnowledgeHelper;
-import org.drools.base.mvel.MVELConsequence;
-import org.drools.base.mvel.MVELDebugHandler;
-import org.drools.common.AgendaItem;
-import org.drools.common.InternalFactHandle;
-import org.drools.common.PropagationContextImpl;
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.ActionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Declaration;
import org.drools.rule.Package;
-import org.drools.rule.Pattern;
-import org.drools.rule.Rule;
import org.drools.rule.builder.PackageBuildContext;
-import org.drools.rule.builder.RuleBuildContext;
-import org.drools.rule.builder.RuleBuilder;
import org.drools.spi.Action;
-import org.drools.spi.ObjectType;
-import org.drools.spi.PatternExtractor;
import org.drools.workflow.core.node.ActionNode;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.ParserContext;
public class MVELDecisionBuilderTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -12,7 +12,6 @@
import org.drools.base.ClassFieldExtractorCache;
import org.drools.base.ClassObjectType;
import org.drools.common.InternalFactHandle;
-import org.drools.compiler.DialectConfiguration;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.EvalDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -11,8 +11,6 @@
import org.drools.WorkingMemory;
import org.drools.base.ClassObjectType;
import org.drools.common.InternalFactHandle;
-import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.DialectRegistry;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.descr.RuleDescr;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactPopulatorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactPopulatorTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactPopulatorTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,17 +1,12 @@
package org.drools.testframework;
-import java.io.Serializable;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import org.mvel.compiler.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
-
import junit.framework.TestCase;
+import org.mvel.MVEL;
+
public class FactPopulatorTest extends TestCase {
public void testMVELPopulate() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,12 +1,23 @@
package org.drools.testframework;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
import org.drools.Agenda;
+import org.drools.WorkingMemoryEntryPoint;
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.ObjectFilter;
import org.drools.QueryResults;
import org.drools.RuleBase;
-import org.drools.WorkingMemoryEntryPoint;
import org.drools.common.InternalRuleBase;
import org.drools.common.InternalWorkingMemory;
import org.drools.common.NodeMemory;
@@ -38,17 +49,6 @@
import org.drools.spi.PropagationContext;
import org.drools.util.ObjectHashMap;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.locks.Lock;
-
public class MockWorkingMemory implements InternalWorkingMemory {
List<Object> facts = new ArrayList<Object>();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -4,17 +4,16 @@
import java.util.List;
import java.util.Map;
+import junit.framework.TestCase;
+
import org.drools.brms.client.modeldriven.testing.ExecutionTrace;
import org.drools.brms.client.modeldriven.testing.FactData;
-import org.drools.brms.client.modeldriven.testing.FieldData;
import org.drools.brms.client.modeldriven.testing.RetractFact;
import org.drools.brms.client.modeldriven.testing.Scenario;
import org.drools.brms.client.modeldriven.testing.VerifyFact;
import org.drools.brms.client.modeldriven.testing.VerifyField;
import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
-import junit.framework.TestCase;
-
public class ScenarioTest extends TestCase {
public void testInsertAfter() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/TestingEventListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/TestingEventListenerTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/TestingEventListenerTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,17 +1,11 @@
package org.drools.testframework;
-import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import org.drools.Cheese;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
-import org.drools.compiler.PackageBuilder;
-import org.drools.spi.Activation;
-import org.drools.spi.AgendaFilter;
public class TestingEventListenerTest extends RuleUnit {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/ActionNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/ActionNodeTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/ActionNodeTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -10,8 +10,6 @@
import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
import org.drools.compiler.PackageBuilder;
-import org.drools.process.core.Process;
-import org.drools.xml.XmlProcessReader;
public class ActionNodeTest extends TestCase {
public void testSingleActionNode() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -5,7 +5,6 @@
import java.io.IOException;
import java.io.InputStreamReader;
-import java.io.StringReader;
import junit.framework.Assert;
@@ -13,7 +12,6 @@
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.lang.DrlDumper;
import org.drools.lang.descr.PackageDescr;
-import org.drools.xml.SemanticModules;
import org.drools.xml.XmlDumper;
import org.drools.xml.XmlPackageReader;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -13,7 +13,6 @@
import org.drools.lang.descr.AccumulateDescr;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BaseDescr;
import org.drools.lang.descr.CollectDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.ExistsDescr;
@@ -35,7 +34,6 @@
import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.lang.descr.VariableRestrictionDescr;
-import org.drools.xml.SemanticModules;
import org.drools.xml.XmlPackageReader;
public class XmlPackageReaderTest extends TestCase {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleEventAssertion.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleEventAssertion.drl 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleEventAssertion.drl 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,7 +1,12 @@
package org.drools;
-import event org.drools.StockTick;
+import org.drools.StockTick;
+declare StockTick {
+ role event,
+ clock_strategy pseudo
+}
+
global java.util.List results;
rule "Check event"
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_TimeRelationalOperators.drl 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,7 +1,12 @@
package org.drools;
-import event org.drools.StockTick;
+import org.drools.StockTick;
+declare StockTick {
+ role event,
+ duration_attribute duration
+}
+
global java.util.List results_coincides;
global java.util.List results_after;
global java.util.List results_before;
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,9 +1,13 @@
package org.drools;
-import event org.drools.StockTick;
+import org.drools.StockTick;
global java.util.List results;
+declare StockTick {
+ role event
+}
+
rule "Test entry point"
when
$st : StockTick( company == "ACME", price > 10 ) from entry-point StockStream
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl 2008-03-19 18:11:50 UTC (rev 19126)
@@ -7,6 +7,6 @@
$p: Person( status == "hungry" )
$c: Cheese( )
then
- modify( $c ) {setPrice (10) };
- modify( $p ) {setStatus("fine") };
+ modify( $c ) {setPrice (10) }
+ modify( $p ) {setStatus("fine") }
end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable.drl 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable.drl 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,6 +17,7 @@
$person.setStatus("match Person ok");
end
+
rule "match Person 2"
agenda-group "xxx"
salience ($age2 - $age1)
@@ -41,7 +42,6 @@
then
end
-
rule "match Integer"
agenda-group "yyy"
auto-focus true
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EntryPointInterface.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,106 +0,0 @@
-/*
- * Copyright 2007 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.
- *
- * Created on Dec 14, 2007
- */
-package org.drools;
-
-import java.io.Externalizable;
-
-/**
- * An interface for instances that allow handling of entry-point-scoped
- * facts
- *
- * @author etirelli
- */
-public interface EntryPointInterface
- extends
- Externalizable {
-
- /**
- * Assert a fact.
- *
- * @param object
- * The fact object.
- *
- * @return The new fact-handle associated with the object.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- FactHandle insert(Object object) throws FactException;
-
- /**
- * Insert a fact registering JavaBean <code>PropertyChangeListeners</code>
- * on the Object to automatically trigger <code>update</code> calls
- * if <code>dynamic</code> is <code>true</code>.
- *
- * @param object
- * The fact object.
- * @param dynamic
- * true if Drools should add JavaBean
- * <code>PropertyChangeListeners</code> to the object.
- *
- * @return The new fact-handle associated with the object.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- FactHandle insert(Object object,
- boolean dynamic) throws FactException;
-
- /**
- * Retract a fact.
- *
- * @param handle
- * The fact-handle associated with the fact to retract.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- void retract(FactHandle handle) throws FactException;
-
- /**
- * Inform the WorkingMemory that a Fact has been modified and that it
- * should now update the network.
- *
- * @param handle
- * The fact-handle associated with the fact to modify.
- * @param object
- * The new value of the fact.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- void update(FactHandle handle,
- Object object) throws FactException;
-
- /**
- *
- * @param factHandle
- */
- public void modifyRetract(final FactHandle factHandle);
-
- /**
- *
- * @param factHandle
- * @param object
- */
- public void modifyInsert(final FactHandle factHandle,
- final Object object);
-
-
-
-}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,10 +16,10 @@
* limitations under the License.
*/
+import java.io.Externalizable;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
-import java.io.Externalizable;
import org.drools.process.instance.ProcessInstance;
import org.drools.process.instance.WorkItemManager;
@@ -234,7 +234,7 @@
* @throws IllegalArgumentException
* if no query named "query" is found in the rulebase
*/
- public QueryResults getQueryResults(String query, Object[] arguments);
+ public QueryResults getQueryResults(String query, Object[] arguments);
/**
* Sets the AsyncExceptionHandler to handle exceptions thrown by the Agenda
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,105 +0,0 @@
-/*
- * Copyright 2007 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.
- *
- * Created on Dec 14, 2007
- */
-package org.drools;
-
-import java.io.Externalizable;
-
-/**
- * An interface for instances that allow handling of entry-point-scoped
- * facts
- *
- * @author etirelli
- */
-public interface WorkingMemoryEntryPoint
- extends
- Externalizable {
- /**
- * Assert a fact.
- *
- * @param object
- * The fact object.
- *
- * @return The new fact-handle associated with the object.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- FactHandle insert(Object object) throws FactException;
-
- /**
- * Insert a fact registering JavaBean <code>PropertyChangeListeners</code>
- * on the Object to automatically trigger <code>update</code> calls
- * if <code>dynamic</code> is <code>true</code>.
- *
- * @param object
- * The fact object.
- * @param dynamic
- * true if Drools should add JavaBean
- * <code>PropertyChangeListeners</code> to the object.
- *
- * @return The new fact-handle associated with the object.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- FactHandle insert(Object object,
- boolean dynamic) throws FactException;
-
- /**
- * Retract a fact.
- *
- * @param handle
- * The fact-handle associated with the fact to retract.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- void retract(FactHandle handle) throws FactException;
-
- /**
- * Inform the WorkingMemory that a Fact has been modified and that it
- * should now update the network.
- *
- * @param handle
- * The fact-handle associated with the fact to modify.
- * @param object
- * The new value of the fact.
- *
- * @throws FactException
- * If a RuntimeException error occurs.
- */
- void update(FactHandle handle,
- Object object) throws FactException;
-
- /**
- *
- * @param factHandle
- */
- public void modifyRetract(final FactHandle factHandle);
-
- /**
- *
- * @param factHandle
- * @param object
- */
- public void modifyInsert(final FactHandle factHandle,
- final Object object);
-
- public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name);
-
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2007 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.
+ *
+ * Created on Dec 14, 2007
+ */
+package org.drools;
+
+import java.io.Serializable;
+
+/**
+ * An interface for instances that allow handling of entry-point-scoped
+ * facts
+ *
+ * @author etirelli
+ */
+public interface WorkingMemoryEntryPoint
+ extends
+ Serializable {
+ /**
+ * Assert a fact.
+ *
+ * @param object
+ * The fact object.
+ *
+ * @return The new fact-handle associated with the object.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ FactHandle insert(Object object) throws FactException;
+
+ /**
+ * Insert a fact registering JavaBean <code>PropertyChangeListeners</code>
+ * on the Object to automatically trigger <code>update</code> calls
+ * if <code>dynamic</code> is <code>true</code>.
+ *
+ * @param object
+ * The fact object.
+ * @param dynamic
+ * true if Drools should add JavaBean
+ * <code>PropertyChangeListeners</code> to the object.
+ *
+ * @return The new fact-handle associated with the object.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ FactHandle insert(Object object,
+ boolean dynamic) throws FactException;
+
+ /**
+ * Retract a fact.
+ *
+ * @param handle
+ * The fact-handle associated with the fact to retract.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ void retract(FactHandle handle) throws FactException;
+
+ /**
+ * Inform the WorkingMemory that a Fact has been modified and that it
+ * should now update the network.
+ *
+ * @param handle
+ * The fact-handle associated with the fact to modify.
+ * @param object
+ * The new value of the fact.
+ *
+ * @throws FactException
+ * If a RuntimeException error occurs.
+ */
+ void update(FactHandle handle,
+ Object object) throws FactException;
+
+ /**
+ *
+ * @param factHandle
+ */
+ public void modifyRetract(final FactHandle factHandle);
+
+ /**
+ *
+ * @param factHandle
+ * @param object
+ */
+ public void modifyInsert(final FactHandle factHandle,
+ final Object object);
+
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name);
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/URLScanner.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,14 +1,11 @@
package org.drools.agent;
-import org.drools.RuntimeDroolsException;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.rule.Package;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.io.UnsupportedEncodingException;
import java.io.ObjectOutput;
-import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
@@ -18,6 +15,10 @@
import java.util.Map;
import java.util.Properties;
+import org.drools.RuntimeDroolsException;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.rule.Package;
+
public class URLScanner extends PackageProvider {
//this is the URLs we are managing
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,17 +16,21 @@
* limitations under the License.
*/
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Externalizable;
+import java.lang.reflect.Method;
+
import org.drools.RuntimeDroolsException;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.InternalWorkingMemory;
import org.drools.common.DroolsObjectInput;
-import org.drools.common.InternalWorkingMemory;
import org.drools.spi.FieldExtractor;
import org.drools.util.ClassUtils;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.lang.reflect.Method;
-
/**
* This provides access to fields, and what their numerical index/object type is.
* This is basically a wrapper class around dynamically generated subclasses of
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -21,7 +21,6 @@
public void handleException(Activation activation,
WorkingMemory workingMemory,
Exception exception) {
- exception.printStackTrace();
throw new ConsequenceException( exception,
activation.getRule() );
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -27,13 +27,14 @@
import org.drools.spi.KnowledgeHelper;
import org.drools.spi.Tuple;
+import java.io.Externalizable;
import java.io.IOException;
+import java.io.ObjectOutput;
import java.io.ObjectInput;
-import java.io.ObjectOutput;
public class DefaultKnowledgeHelper
implements
- KnowledgeHelper {
+ KnowledgeHelper, Externalizable {
private static final long serialVersionUID = 400L;
@@ -44,8 +45,8 @@
private InternalWorkingMemoryActions workingMemory;
public DefaultKnowledgeHelper() {
+
}
-
public DefaultKnowledgeHelper(final WorkingMemory workingMemory) {
this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,21 +16,21 @@
* limitations under the License.
*/
+import java.util.List;
+
import org.drools.FactException;
import org.drools.FactHandle;
+import org.drools.QueryResults;
import org.drools.WorkingMemory;
import org.drools.common.InternalWorkingMemoryActions;
import org.drools.rule.Declaration;
import org.drools.rule.GroupElement;
import org.drools.rule.Rule;
import org.drools.spi.Activation;
+import org.drools.spi.AgendaGroup;
import org.drools.spi.KnowledgeHelper;
import org.drools.spi.Tuple;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-
public class SequentialKnowledgeHelper
implements
KnowledgeHelper {
@@ -41,27 +41,8 @@
private GroupElement subrule;
private Activation activation;
private Tuple tuple;
- private InternalWorkingMemoryActions workingMemory;
+ private final InternalWorkingMemoryActions workingMemory;
- public SequentialKnowledgeHelper() {
- }
-
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- rule = (Rule)in.readObject();
- subrule = (GroupElement)in.readObject();
- activation = (Activation)in.readObject();
- tuple = (Tuple)in.readObject();
- workingMemory = (InternalWorkingMemoryActions)in.readObject();
-
- }
- public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(rule);
- out.writeObject(subrule);
- out.writeObject(activation);
- out.writeObject(tuple);
- out.writeObject(workingMemory);
- }
-
public SequentialKnowledgeHelper(final WorkingMemory workingMemory) {
this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -71,7 +71,8 @@
//this.expression.
final Object result = MVEL.executeExpression( this.expression,
- factory );
+ factory );
+
if ( result == null ) {
return Collections.EMPTY_LIST.iterator();
} else if ( result instanceof Collection ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ComparableEvaluatorsDefinition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ComparableEvaluatorsDefinition.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ComparableEvaluatorsDefinition.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,16 +17,15 @@
*/
package org.drools.base.evaluators;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Comparator;
import java.util.Date;
-import java.io.ObjectOutput;
-import java.io.IOException;
-import java.io.ObjectInput;
import org.drools.base.BaseEvaluator;
-import org.drools.base.ShadowProxy;
import org.drools.base.ValueType;
import org.drools.common.InternalWorkingMemory;
import org.drools.rule.VariableRestriction.CharVariableContextEntry;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,11 +17,10 @@
*/
package org.drools.base.evaluators;
-import java.util.Date;
-import java.util.Map;
-import java.io.ObjectInput;
import java.io.IOException;
+import java.io.ObjectInput;
import java.io.ObjectOutput;
+import java.util.Date;
import org.drools.base.BaseEvaluator;
import org.drools.base.ShadowProxy;
@@ -154,7 +153,6 @@
* Evaluator Implementations
* *********************************************************
*/
-
public static class ArrayEqualEvaluator extends BaseEvaluator {
private static final long serialVersionUID = 400L;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,9 @@
package org.drools.base.field;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
import org.drools.RuntimeDroolsException;
import org.drools.spi.FieldValue;
@@ -23,8 +26,6 @@
import java.io.ObjectInput;
import java.io.IOException;
import java.io.ObjectOutput;
-import java.math.BigDecimal;
-import java.math.BigInteger;
/**
* @author etirelli
@@ -137,13 +138,13 @@
return false;
}
- public BigDecimal getBigDecimalValue() {
- throw new RuntimeDroolsException( "Conversion to BigDecimal not supported for type boolean" );
- }
+ public BigDecimal getBigDecimalValue() {
+ throw new RuntimeDroolsException( "Conversion to BigDecimal not supported for type boolean" );
+ }
- public BigInteger getBigIntegerValue() {
- throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type boolean" );
- }
+ public BigInteger getBigIntegerValue() {
+ throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type boolean" );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,5 +1,8 @@
package org.drools.base.field;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
import org.drools.RuntimeDroolsException;
import org.drools.spi.FieldValue;
@@ -7,8 +10,6 @@
import java.io.ObjectInput;
import java.io.IOException;
import java.io.ObjectOutput;
-import java.math.BigDecimal;
-import java.math.BigInteger;
public class DoubleFieldImpl
implements
@@ -116,12 +117,12 @@
return false;
}
- public BigDecimal getBigDecimalValue() {
- return new BigDecimal(this.value);
- }
+ public BigDecimal getBigDecimalValue() {
+ return new BigDecimal(this.value);
+ }
- public BigInteger getBigIntegerValue() {
- throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type double" );
- }
+ public BigInteger getBigIntegerValue() {
+ throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type double" );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,5 +1,8 @@
package org.drools.base.field;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
import org.drools.RuntimeDroolsException;
import org.drools.spi.FieldValue;
@@ -7,8 +10,6 @@
import java.io.ObjectInput;
import java.io.IOException;
import java.io.ObjectOutput;
-import java.math.BigDecimal;
-import java.math.BigInteger;
public class LongFieldImpl
implements
@@ -117,12 +118,12 @@
return false;
}
- public BigDecimal getBigDecimalValue() {
- return new BigDecimal(this.value);
- }
+ public BigDecimal getBigDecimalValue() {
+ return new BigDecimal(this.value);
+ }
- public BigInteger getBigIntegerValue() {
- return BigInteger.valueOf(this.value);
- }
+ public BigInteger getBigIntegerValue() {
+ return BigInteger.valueOf(this.value);
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -20,9 +20,9 @@
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import java.util.Collection;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Collection;
import org.drools.RuntimeDroolsException;
import org.drools.spi.FieldValue;
@@ -33,6 +33,7 @@
Externalizable {
private static final long serialVersionUID = 400L;
+
private Object value;
// the isEnum attribute is used to support jdk 1.4 type safe enums, and so
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractFactHandleFactory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,16 +16,17 @@
* limitations under the License.
*/
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
import org.drools.WorkingMemory;
import org.drools.spi.FactHandleFactory;
import org.drools.util.PrimitiveLongStack;
import java.io.Externalizable;
-import java.io.IOException;
import java.io.ObjectInput;
+import java.io.IOException;
import java.io.ObjectOutput;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
public abstract class AbstractFactHandleFactory
implements
@@ -36,38 +37,37 @@
*/
private static final long serialVersionUID = 400L;
- protected PrimitiveLongStack factHandlePool = new PrimitiveLongStack();
+// protected final PrimitiveLongStack factHandlePool = new PrimitiveLongStack();
/** The fact id. */
private AtomicInteger id;
/** The number of facts created - used for recency. */
private AtomicLong counter;
-
+
public AbstractFactHandleFactory() {
this.id = new AtomicInteger(-1);
this.counter = new AtomicLong(-1);
}
+
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- id = (AtomicInteger)in.readObject();
- counter = (AtomicLong)in.readObject();
- factHandlePool = (PrimitiveLongStack)in.readObject();
+ id = (AtomicInteger) in.readObject();
+ counter = (AtomicLong) in.readObject();
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(id);
out.writeObject(counter);
- out.writeObject(factHandlePool);
}
/* (non-Javadoc)
- * @see org.drools.reteoo.FactHandleFactory#newFactHandle()
- */
+ * @see org.drools.reteoo.FactHandleFactory#newFactHandle()
+ */
public final InternalFactHandle newFactHandle(final Object object,
final boolean isEvent,
final WorkingMemory workingMemory) {
-// @FIXME make id re-cycling thread safe
+// @FIXME make id re-cycling thread safe
// if ( !this.factHandlePool.isEmpty() ) {
// return newFactHandle( this.factHandlePool.pop(),
// object,
@@ -75,7 +75,6 @@
// 0,
// workingMemory );
// }
-
return newFactHandle( this.id.incrementAndGet(),
object,
isEvent,
@@ -113,7 +112,7 @@
}
public void destroyFactHandle(final InternalFactHandle factHandle) {
-// @FIXME make id re-cycling thread safe
+// @FIXME make id re-cycling thread safe
// this.factHandlePool.push( factHandle.getId() );
factHandle.invalidate();
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -71,50 +71,50 @@
// ------------------------------------------------------------
// Instance members
// ------------------------------------------------------------
- protected String id;
+ protected String id;
- protected int workingMemoryCounter;
+ protected int workingMemoryCounter;
- protected RuleBaseConfiguration config;
+ protected RuleBaseConfiguration config;
- protected Map<String, Package> pkgs;
+ protected Map<String, Package> pkgs;
- protected Map processes;
+ protected Map processes;
- protected Map agendaGroupRuleTotals;
+ protected Map agendaGroupRuleTotals;
- protected transient CompositePackageClassLoader packageClassLoader;
+ protected transient CompositePackageClassLoader packageClassLoader;
- protected transient MapBackedClassLoader classLoader;
+ protected transient MapBackedClassLoader classLoader;
- private transient Objenesis objenesis;
+ private transient Objenesis objenesis;
/** The fact handle factory. */
- protected FactHandleFactory factHandleFactory;
+ protected FactHandleFactory factHandleFactory;
- protected Map globals;
+ protected Map globals;
- private ReloadPackageCompilationData reloadPackageCompilationData = null;
+ private ReloadPackageCompilationData reloadPackageCompilationData = null;
- private RuleBaseEventSupport eventSupport = new RuleBaseEventSupport( this );
+ private RuleBaseEventSupport eventSupport = new RuleBaseEventSupport( this );
/**
* WeakHashMap to keep references of WorkingMemories but allow them to be
* garbage collected
*/
- protected transient ObjectHashSet statefulSessions;
+ protected transient ObjectHashSet statefulSessions;
// wms used for lock list during dynamic updates
- InternalWorkingMemory[] wms;
+ InternalWorkingMemory[] wms;
// indexed used to track invariant lock
- int lastAquiredLock;
+ int lastAquiredLock;
// lock for entire rulebase, used for dynamic updates
- protected ReentrantLock lock = new ReentrantLock();
+ protected ReentrantLock lock = new ReentrantLock();
- private int additionsSinceLock;
- private int removalsSinceLock;
+ private int additionsSinceLock;
+ private int removalsSinceLock;
private transient Map<Class< ? >, TypeDeclaration> classTypeDeclaration;
@@ -174,18 +174,17 @@
*
*/
public void writeExternal(final ObjectOutput out) throws IOException {
- ObjectOutput droolsStream;
- boolean isDrools = out instanceof DroolsObjectOutputStream;
- ByteArrayOutputStream bytes;
+ ObjectOutput droolsStream;
+ boolean isDrools = out instanceof DroolsObjectOutputStream;
+ ByteArrayOutputStream bytes;
- if (isDrools) {
- droolsStream = out;
- bytes = null;
+ if ( isDrools ) {
+ droolsStream = out;
+ bytes = null;
+ } else {
+ bytes = new ByteArrayOutputStream();
+ droolsStream = new DroolsObjectOutputStream( bytes );
}
- else {
- bytes = new ByteArrayOutputStream();
- droolsStream = new DroolsObjectOutputStream(bytes);
- }
droolsStream.writeObject( this.pkgs );
droolsStream.writeObject( this.config );
@@ -194,24 +193,23 @@
// Rules must be restored by an ObjectInputStream that can resolve using a given ClassLoader to handle seaprately by storing as
// a byte[]
droolsStream.writeObject( this.id );
- droolsStream.writeInt(workingMemoryCounter);
+ droolsStream.writeInt( workingMemoryCounter );
droolsStream.writeObject( this.processes );
droolsStream.writeObject( this.agendaGroupRuleTotals );
droolsStream.writeObject( this.factHandleFactory );
droolsStream.writeObject( this.globals );
- droolsStream.writeObject(reloadPackageCompilationData);
+ droolsStream.writeObject( reloadPackageCompilationData );
this.eventSupport.removeEventListener( RuleBaseEventListener.class );
droolsStream.writeObject( this.eventSupport );
- droolsStream.writeObject(wms);
- droolsStream.writeInt(lastAquiredLock);
- droolsStream.writeObject(lock);
- droolsStream.writeInt(additionsSinceLock);
- droolsStream.writeInt(removalsSinceLock);
- droolsStream.writeObject(classTypeDeclaration);
- if (!isDrools) {
+ droolsStream.writeObject( wms );
+ droolsStream.writeInt( lastAquiredLock );
+ droolsStream.writeObject( lock );
+ droolsStream.writeInt( additionsSinceLock );
+ droolsStream.writeInt( removalsSinceLock );
+ if ( !isDrools ) {
bytes.close();
- out.writeObject(bytes.toByteArray());
+ out.writeObject( bytes.toByteArray() );
}
}
@@ -222,34 +220,35 @@
*
*/
public void readExternal(final ObjectInput in) throws IOException,
- ClassNotFoundException {
+ ClassNotFoundException {
// PackageCompilationData must be restored before Rules as it has the ClassLoader needed to resolve the generated code references in Rules
- DroolsObjectInput droolsStream = null;
- boolean isDrools = in instanceof DroolsObjectInputStream;
+ DroolsObjectInput droolsStream = null;
+ boolean isDrools = in instanceof DroolsObjectInputStream;
- if (isDrools) {
- droolsStream = (DroolsObjectInput)in;
+ if ( isDrools ) {
+ droolsStream = (DroolsObjectInput) in;
} else {
- byte[] bytes = (byte[])in.readObject();
+ byte[] bytes = (byte[]) in.readObject();
- droolsStream = new DroolsObjectInputStream(new ByteArrayInputStream(bytes));
+ droolsStream = new DroolsObjectInputStream( new ByteArrayInputStream( bytes ) );
}
this.pkgs = (Map) droolsStream.readObject();
this.config = (RuleBaseConfiguration) droolsStream.readObject();
Map store = (Map) droolsStream.readObject();
this.packageClassLoader = new CompositePackageClassLoader( droolsStream.getClassLoader() );
- droolsStream.setClassLoader(packageClassLoader);
- this.classLoader = new MapBackedClassLoader( this.packageClassLoader, store );
+ droolsStream.setClassLoader( packageClassLoader );
+ this.classLoader = new MapBackedClassLoader( this.packageClassLoader,
+ store );
this.packageClassLoader.addClassLoader( this.classLoader );
this.objenesis = createObjenesis();
- for ( final Object object : this.pkgs.values()) {
+ for ( final Object object : this.pkgs.values() ) {
this.packageClassLoader.addClassLoader( ((Package) object).getDialectDatas().getClassLoader() );
}
// PackageCompilationData must be restored before Rules as it has the ClassLoader needed to resolve the generated code references in Rules
this.id = (String) droolsStream.readObject();
- this.workingMemoryCounter = droolsStream.readInt();
+ this.workingMemoryCounter = droolsStream.readInt();
this.config.setClassLoader( droolsStream.getClassLoader() );
@@ -257,22 +256,23 @@
this.agendaGroupRuleTotals = (Map) droolsStream.readObject();
this.factHandleFactory = (FactHandleFactory) droolsStream.readObject();
this.globals = (Map) droolsStream.readObject();
- this.reloadPackageCompilationData = (ReloadPackageCompilationData)droolsStream.readObject();
+ this.reloadPackageCompilationData = (ReloadPackageCompilationData) droolsStream.readObject();
this.eventSupport = (RuleBaseEventSupport) droolsStream.readObject();
this.eventSupport.setRuleBase( this );
this.statefulSessions = new ObjectHashSet();
- wms = (InternalWorkingMemory[])droolsStream.readObject();
+ wms = (InternalWorkingMemory[]) droolsStream.readObject();
lastAquiredLock = droolsStream.readInt();
- lock = (ReentrantLock)droolsStream.readObject();
- additionsSinceLock = droolsStream.readInt();
- removalsSinceLock = droolsStream.readInt();
- classTypeDeclaration = (Map<Class< ? >, TypeDeclaration>)droolsStream.readObject();
+ lock = (ReentrantLock) droolsStream.readObject();
+ additionsSinceLock = droolsStream.readInt();
+ removalsSinceLock = droolsStream.readInt();
- if (!isDrools) {
+ if ( !isDrools ) {
droolsStream.close();
}
+
+ this.populateTypeDeclarationMaps();
}
/**
@@ -288,10 +288,11 @@
}
private void populateTypeDeclarationMaps() {
- this.classTypeDeclaration = new HashMap<Class<?>, TypeDeclaration>();
- for( Package pkg : this.pkgs.values() ) {
- for( TypeDeclaration type : pkg.getTypeDeclarations().values() ) {
- this.classTypeDeclaration.put( type.getTypeClass(), type );
+ this.classTypeDeclaration = new HashMap<Class< ? >, TypeDeclaration>();
+ for ( Package pkg : this.pkgs.values() ) {
+ for ( TypeDeclaration type : pkg.getTypeDeclarations().values() ) {
+ this.classTypeDeclaration.put( type.getTypeClass(),
+ type );
}
}
}
@@ -532,7 +533,8 @@
// remove the rule if it already exists
if ( pkg.getRule( newRule.getName() ) != null ) {
- removeRule( pkg, pkg.getRule( newRule.getName() ) );
+ removeRule( pkg,
+ pkg.getRule( newRule.getName() ) );
}
pkg.addRule( newRule );
@@ -775,16 +777,16 @@
this.packageClassLoader );
streamWithLoader.setRuleBase( this );
- final StatefulSession session = (StatefulSession) streamWithLoader.readObject();
+ final StatefulSession session = (StatefulSession) streamWithLoader.readObject();
synchronized ( this.pkgs ) {
((InternalWorkingMemory) session).setRuleBase( this );
((InternalWorkingMemory) session).setId( (nextWorkingMemoryCounter()) );
+
-
ExecutorService executor = ExecutorServiceFactory.createExecutorService( this.config.getExecutorService() );
- executor.setCommandExecutor( new CommandExecutor( session ) );
- ((InternalWorkingMemory) session).setExecutorService( executor );
+ executor.setCommandExecutor( new CommandExecutor( session ) );
+ ((InternalWorkingMemory) session).setExecutorService( executor );
if ( keepReference ) {
addStatefulSession( session );
@@ -851,12 +853,13 @@
private static final long serialVersionUID = 1L;
private Set set;
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- set = (Set)in.readObject();
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ set = (Set) in.readObject();
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(set);
+ out.writeObject( set );
}
public void addDialectDatas(final DialectDatas dialectDatas) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,29 @@
* limitations under the License.
*/
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
import org.drools.Agenda;
import org.drools.FactException;
import org.drools.FactHandle;
@@ -24,11 +47,11 @@
import org.drools.QueryResults;
import org.drools.RuleBase;
import org.drools.RuleBaseConfiguration;
-import org.drools.RuleBaseConfiguration.AssertBehaviour;
-import org.drools.RuleBaseConfiguration.LogicalOverride;
import org.drools.RuntimeDroolsException;
import org.drools.WorkingMemory;
import org.drools.WorkingMemoryEntryPoint;
+import org.drools.RuleBaseConfiguration.AssertBehaviour;
+import org.drools.RuleBaseConfiguration.LogicalOverride;
import org.drools.base.MapGlobalResolver;
import org.drools.base.ShadowProxy;
import org.drools.concurrent.ExecutorService;
@@ -50,7 +73,6 @@
import org.drools.rule.EntryPoint;
import org.drools.rule.Rule;
import org.drools.rule.TimeMachine;
-import org.drools.rule.TypeDeclaration;
import org.drools.ruleflow.core.RuleFlowProcess;
import org.drools.ruleflow.instance.RuleFlowProcessInstanceFactory;
import org.drools.spi.Activation;
@@ -61,28 +83,6 @@
import org.drools.spi.GlobalResolver;
import org.drools.spi.PropagationContext;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Queue;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
/**
* Implementation of <code>WorkingMemory</code>.
*
@@ -94,7 +94,7 @@
implements
InternalWorkingMemoryActions,
EventSupport,
- PropertyChangeListener {
+ PropertyChangeListener, Externalizable {
// ------------------------------------------------------------
// Constants
// ------------------------------------------------------------
@@ -104,7 +104,7 @@
// ------------------------------------------------------------
// Instance members
// ------------------------------------------------------------
- protected long id;
+ protected long id;
/** The arguments used when adding/removing a property change listener. */
protected Object[] addRemovePropertyChangeListenerArgs = new Object[]{this};
@@ -114,33 +114,33 @@
protected ObjectStore objectStore;
- protected Map queryResults = Collections.EMPTY_MAP;
+ protected Map queryResults = Collections.EMPTY_MAP;
/** Global values which are associated with this memory. */
- protected GlobalResolver globalResolver;
+ protected GlobalResolver globalResolver;
/** The eventSupport */
- protected WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport();
+ protected WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport();
- protected AgendaEventSupport agendaEventSupport = new AgendaEventSupport();
+ protected AgendaEventSupport agendaEventSupport = new AgendaEventSupport();
- protected RuleFlowEventSupport workflowEventSupport = new RuleFlowEventSupport();
+ protected RuleFlowEventSupport workflowEventSupport = new RuleFlowEventSupport();
- protected List __ruleBaseEventListeners = new LinkedList();
+ protected List __ruleBaseEventListeners = new LinkedList();
/** The <code>RuleBase</code> with which this memory is associated. */
- protected transient InternalRuleBase ruleBase;
+ protected transient InternalRuleBase ruleBase;
protected FactHandleFactory handleFactory;
protected TruthMaintenanceSystem tms;
/** Rule-firing agenda. */
- protected DefaultAgenda agenda;
+ protected DefaultAgenda agenda;
protected Queue<WorkingMemoryAction> actionQueue = new LinkedList<WorkingMemoryAction>();
- protected boolean evaluatingActionQueue;
+ protected boolean evaluatingActionQueue;
protected ReentrantLock lock = new ReentrantLock();
@@ -152,7 +152,6 @@
protected AtomicLong propagationIdCounter;
private boolean maintainTms;
-
private boolean sequential;
private List liaPropagations = Collections.EMPTY_LIST;
@@ -183,6 +182,7 @@
// Constructors
// ------------------------------------------------------------
public AbstractWorkingMemory() {
+
}
/**
* Construct.
@@ -224,20 +224,20 @@
this.workItemManager = new WorkItemManager( this );
this.processInstanceFactories.put( RuleFlowProcess.RULEFLOW_TYPE,
- new RuleFlowProcessInstanceFactory() );
+ new RuleFlowProcessInstanceFactory() );
this.entryPoints = new ConcurrentHashMap();
this.entryPoints.put( "DEFAULT",
this );
this.entryPoint = EntryPoint.DEFAULT;
initTransient();
- }
-
+ }
+
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
id = in.readLong();
evaluatingActionQueue = in.readBoolean();
discardOnLogicalOverride = in.readBoolean();
- propagationIdCounter = (AtomicLong)in.readObject();
+ propagationIdCounter = (AtomicLong) in.readObject();
maintainTms = in.readBoolean();
sequential = in.readBoolean();
firing = in.readBoolean();
@@ -264,6 +264,7 @@
processInstanceFactories = (Map<String, ProcessInstanceFactory>)in.readObject();
timeMachine = (TimeMachine)in.readObject();
entryPoint = (EntryPoint)in.readObject();
+ entryPointNode = (EntryPointNode)in.readObject();
entryPoints = (Map<String, WorkingMemoryEntryPoint>)in.readObject();
initTransient();
}
@@ -299,6 +300,7 @@
out.writeObject(processInstanceFactories);
out.writeObject(timeMachine);
out.writeObject(entryPoint);
+ out.writeObject(entryPointNode);
out.writeObject(entryPoints);
}
@@ -311,14 +313,14 @@
this.nodeMemories.setRuleBaseReference( this.ruleBase );
initTransient();
}
+
-
private void initTransient() {
this.entryPointNode = this.ruleBase.getRete().getEntryPointNode( this.entryPoint );
this.typeConfReg = new ObjectTypeConfigurationRegistry( this.ruleBase );
}
+
-
public void setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport) {
this.workingMemoryEventSupport = workingMemoryEventSupport;
}
@@ -836,7 +838,7 @@
key.setStatus( EqualityKey.STATED );
handle = key.getFactHandle();
- if ( this.ruleBase.getConfiguration().getAssertBehaviour() == AssertBehaviour.IDENTITY ) {
+ if ( AssertBehaviour.IDENTITY.equals(this.ruleBase.getConfiguration().getAssertBehaviour()) ) {
// as assertMap may be using an "identity"
// equality comparator,
// we need to remove the handle from the map,
@@ -1235,6 +1237,12 @@
null );
}
+ /**
+ * modify is implemented as half way retract / assert due to the truth
+ * maintenance issues.
+ *
+ * @see WorkingMemory
+ */
public void update(final FactHandle factHandle,
final Object object,
final Rule rule,
@@ -1280,7 +1288,7 @@
typeConf,
this );
- if ( (originalObject != object) || (this.ruleBase.getConfiguration().getAssertBehaviour() != AssertBehaviour.IDENTITY) ) {
+ if ( originalObject != object || !AssertBehaviour.IDENTITY.equals(this.ruleBase.getConfiguration().getAssertBehaviour()) ) {
this.objectStore.removeHandle( handle );
// set anyway, so that it updates the hashCodes
@@ -1341,7 +1349,7 @@
evaluatingActionQueue = true;
WorkingMemoryAction action = null;
- while ( (action = actionQueue.poll()) != null ) {
+ while ( ( action = actionQueue.poll() ) != null ) {
action.execute( this );
}
evaluatingActionQueue = false;
@@ -1651,7 +1659,4 @@
return this.typeConfReg;
}
- public TypeDeclaration getTypeDeclaration(Class<?> clazz) {
- return null;
- }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -72,14 +72,14 @@
public abstract void attach();
public abstract void attach(InternalWorkingMemory[] workingMemories);
-
+
/**
- * A method that is called for all nodes whose network bellow them
+ * A method that is called for all nodes whose network bellow them
* changed, after the change is complete, providing them with an oportunity
* for state update
*/
public abstract void networkUpdated();
-
+
public void remove(RuleRemovalContext context,
ReteooBuilder builder,
BaseNode node,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EventFactHandle.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -56,7 +56,7 @@
* @param timestamp the timestamp of the occurrence of this event
* @param duration the duration of this event. May be 0 (zero) in case this is a primitive event.
*/
- public EventFactHandle( final int id,
+ public EventFactHandle( final int id,
final Object object,
final long recency,
final long timestamp,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -120,7 +120,7 @@
/**
* Returns the type declaration associated to the given class
- *
+ *
* @param clazz
* @return
*/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,5 +1,7 @@
package org.drools.common;
+import java.util.concurrent.locks.Lock;
+
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.WorkingMemory;
@@ -16,15 +18,13 @@
import org.drools.spi.FactHandleFactory;
import org.drools.spi.PropagationContext;
-import java.util.concurrent.locks.Lock;
-
public interface InternalWorkingMemory
extends
WorkingMemory {
public long getId();
-
+
public void setId(long id);
-
+
void setRuleBase(final InternalRuleBase ruleBase);
public void setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport);
@@ -34,7 +34,7 @@
public void setAgendaEventSupport(AgendaEventSupport agendaEventSupport);
public void setRuleFlowEventSupport(RuleFlowEventSupport ruleFlowEventSupport);
-
+
public void registerProcessInstanceFactory(String type, ProcessInstanceFactory nodeInstanceFactory);
public Object getNodeMemory(NodeMemory node);
@@ -44,7 +44,7 @@
public long getNextPropagationIdCounter();
//public ObjectHashMap getFactHandleMap()
-
+
public ObjectStore getObjectStore();
public TruthMaintenanceSystem getTruthMaintenanceSystem();
@@ -54,7 +54,7 @@
public void queueWorkingMemoryAction(final WorkingMemoryAction action);
public FactHandleFactory getFactHandleFactory();
-
+
/**
* Looks for the fact handle associated to the given object
* by looking up the object IDENTITY (==), even if rule base
@@ -84,11 +84,11 @@
public TimeMachine getTimeMachine();
public void setTimeMachine(TimeMachine tm);
-
+
public void removeProcessInstance(ProcessInstance processInstance);
+
-
public ExecutorService getExecutorService();
- public void setExecutorService(ExecutorService executor);
+ public void setExecutorService(ExecutorService executor);
}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,7 +0,0 @@
-package org.drools.common;
-
-import org.drools.WorkingMemoryEntryPoint;
-
-public interface InternalWorkingMemoryEntryPoint extends WorkingMemoryEntryPoint {
- ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry();
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,7 @@
+package org.drools.common;
+
+import org.drools.WorkingMemoryEntryPoint;
+
+public interface InternalWorkingMemoryEntryPoint extends WorkingMemoryEntryPoint {
+ ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry();
+}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,495 +0,0 @@
-/**
- *
- */
-package org.drools.common;
-
-import org.drools.FactException;
-import org.drools.FactHandle;
-import org.drools.RuleBaseConfiguration.AssertBehaviour;
-import org.drools.RuntimeDroolsException;
-import org.drools.WorkingMemory;
-import org.drools.WorkingMemoryEntryPoint;
-import org.drools.base.ShadowProxy;
-import org.drools.reteoo.EntryPointNode;
-import org.drools.reteoo.ObjectTypeConf;
-import org.drools.rule.EntryPoint;
-import org.drools.rule.Rule;
-import org.drools.spi.Activation;
-import org.drools.spi.FactHandleFactory;
-import org.drools.spi.PropagationContext;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.concurrent.locks.ReentrantLock;
-
-public class NamedEntryPoint
- implements
- InternalWorkingMemoryEntryPoint {
- /** The arguments used when adding/removing a property change listener. */
- protected final Object[] addRemovePropertyChangeListenerArgs = new Object[]{this};
-
- private static final long serialVersionUID = 500;
-
- protected ObjectStore objectStore;
-
- protected transient InternalRuleBase ruleBase;
-
- protected EntryPoint entryPoint;
- protected EntryPointNode entryPointNode;
-
- private ObjectTypeConfigurationRegistry typeConfReg;
-
- private AbstractWorkingMemory wm;
-
- private FactHandleFactory handleFactory;
-
- protected ReentrantLock lock;
-
- public NamedEntryPoint() {
- }
-
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- objectStore = (ObjectStore)in.readObject();
- entryPoint = (EntryPoint)in.readObject();
- entryPointNode = (EntryPointNode)in.readObject();
- typeConfReg = (ObjectTypeConfigurationRegistry)in.readObject();
- wm = (AbstractWorkingMemory)in.readObject();
- handleFactory = (FactHandleFactory)in.readObject();
- lock = (ReentrantLock)in.readObject();
-
- ruleBase = (InternalRuleBase)wm.getRuleBase();
- }
-
- public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(objectStore);
- out.writeObject(entryPoint);
- out.writeObject(entryPointNode);
- out.writeObject(typeConfReg);
- out.writeObject(wm);
- out.writeObject(handleFactory);
- out.writeObject(lock);
-
- }
-
- public NamedEntryPoint(EntryPoint entryPoint,
- EntryPointNode entryPointNode,
- AbstractWorkingMemory wm) {
- this( entryPoint,
- entryPointNode,
- wm,
- new ReentrantLock() );
- }
-
- public NamedEntryPoint(EntryPoint entryPoint,
- EntryPointNode entryPointNode,
- AbstractWorkingMemory wm,
- ReentrantLock lock) {
- this.entryPoint = entryPoint;
- this.entryPointNode = entryPointNode;
- this.wm = wm;
- this.ruleBase = (InternalRuleBase) this.wm.getRuleBase();
- this.lock = lock;
- this.typeConfReg = new ObjectTypeConfigurationRegistry( this.ruleBase );
- this.handleFactory = this.wm.getFactHandleFactory();
- this.objectStore = new SingleThreadedObjectStore( this.ruleBase.getConfiguration(),
- this.lock );
- }
-
- /**
- * @see WorkingMemory
- */
- public FactHandle insert(final Object object) throws FactException {
- return insert( object, /* Not-Dynamic */
- false,
- false,
- null,
- null );
- }
-
- public FactHandle insert(final Object object,
- final boolean dynamic) throws FactException {
- return insert( object,
- dynamic,
- false,
- null,
- null );
- }
-
- protected FactHandle insert(final Object object,
- final boolean dynamic,
- boolean logical,
- final Rule rule,
- final Activation activation) throws FactException {
- if ( object == null ) {
- // you cannot assert a null object
- return null;
- }
-
- ObjectTypeConf typeConf = this.typeConfReg.getObjectTypeConf( this.entryPoint,
- object );
-
- InternalFactHandle handle = this.handleFactory.newFactHandle( object,
- typeConf.isEvent(),
- wm );
- this.objectStore.addHandle( handle,
- object );
-
- if ( dynamic ) {
- addPropertyChangeListener( object );
- }
-
- try {
- this.lock.lock();
- insert( handle,
- object,
- rule,
- activation );
-
- } finally {
- this.lock.unlock();
- }
- return handle;
- }
-
- protected void insert(final InternalFactHandle handle,
- final Object object,
- final Rule rule,
- final Activation activation) {
- this.ruleBase.executeQueuedActions();
-
- if ( activation != null ) {
- // release resources so that they can be GC'ed
- activation.getPropagationContext().releaseResources();
- }
- final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
- PropagationContext.ASSERTION,
- rule,
- activation,
- -1,
- -1,
- this.entryPoint );
-
- this.entryPointNode.assertObject( handle,
- propagationContext,
- this.typeConfReg.getObjectTypeConf( this.entryPoint,
- object ),
- this.wm );
-
- this.wm.executeQueuedActions();
-
- this.wm.getWorkingMemoryEventSupport().fireObjectInserted( propagationContext,
- handle,
- object,
- wm );
- }
-
- public void update(final FactHandle handle,
- final Object object) throws FactException {
- update( handle,
- object,
- null,
- null );
- }
-
- protected void update(final FactHandle factHandle,
- final Object object,
- final Rule rule,
- final Activation activation) throws FactException {
- try {
- this.lock.lock();
- this.ruleBase.executeQueuedActions();
-
- final InternalFactHandle handle = (InternalFactHandle) factHandle;
- final Object originalObject = (handle.isShadowFact()) ? ((ShadowProxy) handle.getObject()).getShadowedObject() : handle.getObject();
-
- if ( handle.getId() == -1 || object == null ) {
- // the handle is invalid, most likely already retracted, so
- // return
- // and we cannot assert a null object
- return;
- }
-
- ObjectTypeConf typeConf = this.typeConfReg.getObjectTypeConf( this.entryPoint,
- object );
-
- if ( activation != null ) {
- // release resources so that they can be GC'ed
- activation.getPropagationContext().releaseResources();
- }
- // Nowretract any trace of the original fact
- final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
- PropagationContext.MODIFICATION,
- rule,
- activation,
- -1,
- -1,
- this.entryPoint );
-
- this.entryPointNode.retractObject( handle,
- propagationContext,
- typeConf,
- this.wm );
-
- if ( (originalObject != object) || (this.ruleBase.getConfiguration().getAssertBehaviour() != AssertBehaviour.IDENTITY) ) {
- this.objectStore.removeHandle( handle );
-
- // set anyway, so that it updates the hashCodes
- handle.setObject( object );
- this.objectStore.addHandle( handle,
- object );
- }
-
- this.handleFactory.increaseFactHandleRecency( handle );
-
- this.entryPointNode.assertObject( handle,
- propagationContext,
- typeConf,
- this.wm );
-
- this.wm.getWorkingMemoryEventSupport().fireObjectUpdated( propagationContext,
- factHandle,
- originalObject,
- object,
- this.wm );
-
- propagationContext.clearRetractedTuples();
-
- this.wm.executeQueuedActions();
- } finally {
- this.lock.unlock();
- }
- }
-
- public void retract(final FactHandle handle) throws FactException {
- retract( handle,
- true,
- true,
- null,
- null );
- }
-
- public void retract(final FactHandle factHandle,
- final boolean removeLogical,
- final boolean updateEqualsMap,
- final Rule rule,
- final Activation activation) throws FactException {
- try {
- this.lock.lock();
- this.ruleBase.executeQueuedActions();
-
- final InternalFactHandle handle = (InternalFactHandle) factHandle;
- if ( handle.getId() == -1 ) {
- // can't retract an already retracted handle
- return;
- }
- removePropertyChangeListener( handle );
-
- if ( activation != null ) {
- // release resources so that they can be GC'ed
- activation.getPropagationContext().releaseResources();
- }
- final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
- PropagationContext.RETRACTION,
- rule,
- activation,
- -1,
- -1,
- this.entryPoint );
-
- this.entryPointNode.retractObject( handle,
- propagationContext,
- this.wm );
-
- final Object object = handle.getObject();
-
- this.wm.getWorkingMemoryEventSupport().fireObjectRetracted( propagationContext,
- handle,
- object,
- this.wm );
-
- this.objectStore.removeHandle( handle );
-
- this.handleFactory.destroyFactHandle( handle );
-
- this.wm.executeQueuedActions();
- } finally {
- this.lock.unlock();
- }
- }
-
- public void modifyRetract(final FactHandle factHandle) {
- modifyRetract( factHandle,
- null,
- null );
- }
-
- public void modifyRetract(final FactHandle factHandle,
- final Rule rule,
- final Activation activation) {
- try {
- this.lock.lock();
- this.ruleBase.executeQueuedActions();
-
- final InternalFactHandle handle = (InternalFactHandle) factHandle;
- // final Object originalObject = (handle.isShadowFact()) ?
- // ((ShadowProxy) handle.getObject()).getShadowedObject() :
- // handle.getObject();
-
- if ( handle.getId() == -1 ) {
- // the handle is invalid, most likely already retracted, so
- // return
- return;
- }
-
- if ( activation != null ) {
- // release resources so that they can be GC'ed
- activation.getPropagationContext().releaseResources();
- }
- // Nowretract any trace of the original fact
- final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
- PropagationContext.MODIFICATION,
- rule,
- activation,
- -1,
- -1,
- entryPoint );
-
- this.entryPointNode.retractObject( handle,
- propagationContext,
- this.wm );
-
- } finally {
- this.lock.unlock();
- }
- }
-
- public void modifyInsert(final FactHandle factHandle,
- final Object object) {
- modifyInsert( factHandle,
- object,
- null,
- null );
- }
-
- public void modifyInsert(final FactHandle factHandle,
- final Object object,
- final Rule rule,
- final Activation activation) {
- this.modifyInsert( EntryPoint.DEFAULT,
- factHandle,
- object,
- rule,
- activation );
- }
-
- protected void modifyInsert(final EntryPoint entryPoint,
- final FactHandle factHandle,
- final Object object,
- final Rule rule,
- final Activation activation) {
- try {
- this.lock.lock();
- this.ruleBase.executeQueuedActions();
-
- final InternalFactHandle handle = (InternalFactHandle) factHandle;
- final Object originalObject = (handle.isShadowFact()) ? ((ShadowProxy) handle.getObject()).getShadowedObject() : handle.getObject();
-
- this.handleFactory.increaseFactHandleRecency( handle );
-
- if ( activation != null ) {
- // release resources so that they can be GC'ed
- activation.getPropagationContext().releaseResources();
- }
- // Nowretract any trace of the original fact
- final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
- PropagationContext.MODIFICATION,
- rule,
- activation,
- -1,
- -1,
- entryPoint );
-
- this.entryPointNode.assertObject( handle,
- propagationContext,
- this.wm );
-
- this.wm.getWorkingMemoryEventSupport().fireObjectUpdated( propagationContext,
- factHandle,
- originalObject,
- object,
- this.wm );
-
- propagationContext.clearRetractedTuples();
-
- this.wm.executeQueuedActions();
- } finally {
- this.lock.unlock();
- }
- }
-
- protected void addPropertyChangeListener(final Object object) {
- try {
- final Method method = object.getClass().getMethod( "addPropertyChangeListener",
- AbstractWorkingMemory.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES );
-
- method.invoke( object,
- this.addRemovePropertyChangeListenerArgs );
- } catch ( final NoSuchMethodException e ) {
- System.err.println( "Warning: Method addPropertyChangeListener not found" + " on the class " + object.getClass() + " so Drools will be unable to process JavaBean" + " PropertyChangeEvents on the asserted Object" );
- } catch ( final IllegalArgumentException e ) {
- System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " does not take" + " a simple PropertyChangeListener argument" + " so Drools will be unable to process JavaBean"
- + " PropertyChangeEvents on the asserted Object" );
- } catch ( final IllegalAccessException e ) {
- System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " is not public" + " so Drools will be unable to process JavaBean" + " PropertyChangeEvents on the asserted Object" );
- } catch ( final InvocationTargetException e ) {
- System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " threw an InvocationTargetException" + " so Drools will be unable to process JavaBean"
- + " PropertyChangeEvents on the asserted Object: " + e.getMessage() );
- } catch ( final SecurityException e ) {
- System.err.println( "Warning: The SecurityManager controlling the class " + object.getClass() + " did not allow the lookup of a" + " addPropertyChangeListener method" + " so Drools will be unable to process JavaBean"
- + " PropertyChangeEvents on the asserted Object: " + e.getMessage() );
- }
- }
-
- protected void removePropertyChangeListener(final FactHandle handle) {
- Object object = null;
- try {
- object = ((InternalFactHandle) handle).getObject();
-
- if ( object != null ) {
- final Method mehod = object.getClass().getMethod( "removePropertyChangeListener",
- AbstractWorkingMemory.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES );
-
- mehod.invoke( object,
- this.addRemovePropertyChangeListenerArgs );
- }
- } catch ( final NoSuchMethodException e ) {
- // The removePropertyChangeListener method on the class
- // was not found so Drools will be unable to
- // stop processing JavaBean PropertyChangeEvents
- // on the retracted Object
- } catch ( final IllegalArgumentException e ) {
- throw new RuntimeDroolsException( "Warning: The removePropertyChangeListener method on the class " + object.getClass() + " does not take a simple PropertyChangeListener argument so Drools will be unable to stop processing JavaBean"
- + " PropertyChangeEvents on the retracted Object" );
- } catch ( final IllegalAccessException e ) {
- throw new RuntimeDroolsException( "Warning: The removePropertyChangeListener method on the class " + object.getClass() + " is not public so Drools will be unable to stop processing JavaBean PropertyChangeEvents on the retracted Object" );
- } catch ( final InvocationTargetException e ) {
- throw new RuntimeDroolsException( "Warning: The removePropertyChangeL istener method on the class " + object.getClass() + " threw an InvocationTargetException so Drools will be unable to stop processing JavaBean"
- + " PropertyChangeEvents on the retracted Object: " + e.getMessage() );
- } catch ( final SecurityException e ) {
- throw new RuntimeDroolsException( "Warning: The SecurityManager controlling the class " + object.getClass() + " did not allow the lookup of a removePropertyChangeListener method so Drools will be unable to stop processing JavaBean"
- + " PropertyChangeEvents on the retracted Object: " + e.getMessage() );
- }
- }
-
- public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
- return this.wm.getWorkingMemoryEntryPoint( name );
- }
-
- public ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry() {
- return this.typeConfReg;
- }
-
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,468 @@
+/**
+ *
+ */
+package org.drools.common;
+
+import java.beans.PropertyChangeListener;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.drools.WorkingMemoryEntryPoint;
+import org.drools.FactException;
+import org.drools.FactHandle;
+import org.drools.RuntimeDroolsException;
+import org.drools.WorkingMemory;
+import org.drools.RuleBaseConfiguration.AssertBehaviour;
+import org.drools.base.ShadowProxy;
+import org.drools.event.WorkingMemoryEventSupport;
+import org.drools.reteoo.EntryPointNode;
+import org.drools.reteoo.ObjectTypeConf;
+import org.drools.rule.EntryPoint;
+import org.drools.rule.Rule;
+import org.drools.spi.Activation;
+import org.drools.spi.FactHandleFactory;
+import org.drools.spi.PropagationContext;
+
+public class NamedEntryPoint
+ implements
+ InternalWorkingMemoryEntryPoint {
+ /** The arguments used when adding/removing a property change listener. */
+ protected final Object[] addRemovePropertyChangeListenerArgs = new Object[]{this};
+
+ private static final long serialVersionUID = 500;
+
+ protected ObjectStore objectStore;
+
+ protected transient InternalRuleBase ruleBase;
+
+ protected EntryPoint entryPoint;
+ protected EntryPointNode entryPointNode;
+
+ private ObjectTypeConfigurationRegistry typeConfReg;
+
+ private final AbstractWorkingMemory wm;
+
+ private FactHandleFactory handleFactory;
+
+ protected final ReentrantLock lock;
+
+ public NamedEntryPoint(EntryPoint entryPoint,
+ EntryPointNode entryPointNode,
+ AbstractWorkingMemory wm) {
+ this( entryPoint,
+ entryPointNode,
+ wm,
+ new ReentrantLock() );
+ }
+
+ public NamedEntryPoint(EntryPoint entryPoint,
+ EntryPointNode entryPointNode,
+ AbstractWorkingMemory wm,
+ ReentrantLock lock) {
+ this.entryPoint = entryPoint;
+ this.entryPointNode = entryPointNode;
+ this.wm = wm;
+ this.ruleBase = (InternalRuleBase) this.wm.getRuleBase();
+ this.lock = lock;
+ this.typeConfReg = new ObjectTypeConfigurationRegistry( this.ruleBase );
+ this.handleFactory = this.wm.getFactHandleFactory();
+ this.objectStore = new SingleThreadedObjectStore( this.ruleBase.getConfiguration(),
+ this.lock );
+ }
+
+ /**
+ * @see WorkingMemory
+ */
+ public FactHandle insert(final Object object) throws FactException {
+ return insert( object, /* Not-Dynamic */
+ false,
+ false,
+ null,
+ null );
+ }
+
+ public FactHandle insert(final Object object,
+ final boolean dynamic) throws FactException {
+ return insert( object,
+ dynamic,
+ false,
+ null,
+ null );
+ }
+
+ protected FactHandle insert(final Object object,
+ final boolean dynamic,
+ boolean logical,
+ final Rule rule,
+ final Activation activation) throws FactException {
+ if ( object == null ) {
+ // you cannot assert a null object
+ return null;
+ }
+
+ ObjectTypeConf typeConf = this.typeConfReg.getObjectTypeConf( this.entryPoint,
+ object );
+
+ InternalFactHandle handle = this.handleFactory.newFactHandle( object,
+ typeConf.isEvent(),
+ wm );
+ this.objectStore.addHandle( handle,
+ object );
+
+ if ( dynamic ) {
+ addPropertyChangeListener( object );
+ }
+
+ try {
+ this.lock.lock();
+ insert( handle,
+ object,
+ rule,
+ activation );
+
+ } finally {
+ this.lock.unlock();
+ }
+ return handle;
+ }
+
+ protected void insert(final InternalFactHandle handle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) {
+ this.ruleBase.executeQueuedActions();
+
+ if ( activation != null ) {
+ // release resources so that they can be GC'ed
+ activation.getPropagationContext().releaseResources();
+ }
+ final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
+ PropagationContext.ASSERTION,
+ rule,
+ activation,
+ -1,
+ -1,
+ this.entryPoint );
+
+ this.entryPointNode.assertObject( handle,
+ propagationContext,
+ this.typeConfReg.getObjectTypeConf( this.entryPoint,
+ object ),
+ this.wm );
+
+ this.wm.executeQueuedActions();
+
+ this.wm.getWorkingMemoryEventSupport().fireObjectInserted( propagationContext,
+ handle,
+ object,
+ wm );
+ }
+
+ public void update(final FactHandle handle,
+ final Object object) throws FactException {
+ update( handle,
+ object,
+ null,
+ null );
+ }
+
+ protected void update(final FactHandle factHandle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) throws FactException {
+ try {
+ this.lock.lock();
+ this.ruleBase.executeQueuedActions();
+
+ final InternalFactHandle handle = (InternalFactHandle) factHandle;
+ final Object originalObject = (handle.isShadowFact()) ? ((ShadowProxy) handle.getObject()).getShadowedObject() : handle.getObject();
+
+ if ( handle.getId() == -1 || object == null ) {
+ // the handle is invalid, most likely already retracted, so
+ // return
+ // and we cannot assert a null object
+ return;
+ }
+
+ ObjectTypeConf typeConf = this.typeConfReg.getObjectTypeConf( this.entryPoint,
+ object );
+
+ if ( activation != null ) {
+ // release resources so that they can be GC'ed
+ activation.getPropagationContext().releaseResources();
+ }
+ // Nowretract any trace of the original fact
+ final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
+ PropagationContext.MODIFICATION,
+ rule,
+ activation,
+ -1,
+ -1,
+ this.entryPoint );
+
+ this.entryPointNode.retractObject( handle,
+ propagationContext,
+ typeConf,
+ this.wm );
+
+ if ( (originalObject != object) || (this.ruleBase.getConfiguration().getAssertBehaviour() != AssertBehaviour.IDENTITY) ) {
+ this.objectStore.removeHandle( handle );
+
+ // set anyway, so that it updates the hashCodes
+ handle.setObject( object );
+ this.objectStore.addHandle( handle,
+ object );
+ }
+
+ this.handleFactory.increaseFactHandleRecency( handle );
+
+ this.entryPointNode.assertObject( handle,
+ propagationContext,
+ typeConf,
+ this.wm );
+
+ this.wm.getWorkingMemoryEventSupport().fireObjectUpdated( propagationContext,
+ factHandle,
+ originalObject,
+ object,
+ this.wm );
+
+ propagationContext.clearRetractedTuples();
+
+ this.wm.executeQueuedActions();
+ } finally {
+ this.lock.unlock();
+ }
+ }
+
+ public void retract(final FactHandle handle) throws FactException {
+ retract( handle,
+ true,
+ true,
+ null,
+ null );
+ }
+
+ public void retract(final FactHandle factHandle,
+ final boolean removeLogical,
+ final boolean updateEqualsMap,
+ final Rule rule,
+ final Activation activation) throws FactException {
+ try {
+ this.lock.lock();
+ this.ruleBase.executeQueuedActions();
+
+ final InternalFactHandle handle = (InternalFactHandle) factHandle;
+ if ( handle.getId() == -1 ) {
+ // can't retract an already retracted handle
+ return;
+ }
+ removePropertyChangeListener( handle );
+
+ if ( activation != null ) {
+ // release resources so that they can be GC'ed
+ activation.getPropagationContext().releaseResources();
+ }
+ final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
+ PropagationContext.RETRACTION,
+ rule,
+ activation,
+ -1,
+ -1,
+ this.entryPoint );
+
+ this.entryPointNode.retractObject( handle,
+ propagationContext,
+ this.wm );
+
+ final Object object = handle.getObject();
+
+ this.wm.getWorkingMemoryEventSupport().fireObjectRetracted( propagationContext,
+ handle,
+ object,
+ this.wm );
+
+ this.objectStore.removeHandle( handle );
+
+ this.handleFactory.destroyFactHandle( handle );
+
+ this.wm.executeQueuedActions();
+ } finally {
+ this.lock.unlock();
+ }
+ }
+
+ public void modifyRetract(final FactHandle factHandle) {
+ modifyRetract( factHandle,
+ null,
+ null );
+ }
+
+ public void modifyRetract(final FactHandle factHandle,
+ final Rule rule,
+ final Activation activation) {
+ try {
+ this.lock.lock();
+ this.ruleBase.executeQueuedActions();
+
+ final InternalFactHandle handle = (InternalFactHandle) factHandle;
+ // final Object originalObject = (handle.isShadowFact()) ?
+ // ((ShadowProxy) handle.getObject()).getShadowedObject() :
+ // handle.getObject();
+
+ if ( handle.getId() == -1 ) {
+ // the handle is invalid, most likely already retracted, so
+ // return
+ return;
+ }
+
+ if ( activation != null ) {
+ // release resources so that they can be GC'ed
+ activation.getPropagationContext().releaseResources();
+ }
+ // Nowretract any trace of the original fact
+ final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
+ PropagationContext.MODIFICATION,
+ rule,
+ activation,
+ -1,
+ -1,
+ entryPoint );
+
+ this.entryPointNode.retractObject( handle,
+ propagationContext,
+ this.wm );
+
+ } finally {
+ this.lock.unlock();
+ }
+ }
+
+ public void modifyInsert(final FactHandle factHandle,
+ final Object object) {
+ modifyInsert( factHandle,
+ object,
+ null,
+ null );
+ }
+
+ public void modifyInsert(final FactHandle factHandle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) {
+ this.modifyInsert( EntryPoint.DEFAULT,
+ factHandle,
+ object,
+ rule,
+ activation );
+ }
+
+ protected void modifyInsert(final EntryPoint entryPoint,
+ final FactHandle factHandle,
+ final Object object,
+ final Rule rule,
+ final Activation activation) {
+ try {
+ this.lock.lock();
+ this.ruleBase.executeQueuedActions();
+
+ final InternalFactHandle handle = (InternalFactHandle) factHandle;
+ final Object originalObject = (handle.isShadowFact()) ? ((ShadowProxy) handle.getObject()).getShadowedObject() : handle.getObject();
+
+ this.handleFactory.increaseFactHandleRecency( handle );
+
+ if ( activation != null ) {
+ // release resources so that they can be GC'ed
+ activation.getPropagationContext().releaseResources();
+ }
+ // Nowretract any trace of the original fact
+ final PropagationContext propagationContext = new PropagationContextImpl( this.wm.getNextPropagationIdCounter(),
+ PropagationContext.MODIFICATION,
+ rule,
+ activation,
+ -1,
+ -1,
+ entryPoint );
+
+ this.entryPointNode.assertObject( handle,
+ propagationContext,
+ this.wm );
+
+ this.wm.getWorkingMemoryEventSupport().fireObjectUpdated( propagationContext,
+ factHandle,
+ originalObject,
+ object,
+ this.wm );
+
+ propagationContext.clearRetractedTuples();
+
+ this.wm.executeQueuedActions();
+ } finally {
+ this.lock.unlock();
+ }
+ }
+
+ protected void addPropertyChangeListener(final Object object) {
+ try {
+ final Method method = object.getClass().getMethod( "addPropertyChangeListener",
+ AbstractWorkingMemory.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES );
+
+ method.invoke( object,
+ this.addRemovePropertyChangeListenerArgs );
+ } catch ( final NoSuchMethodException e ) {
+ System.err.println( "Warning: Method addPropertyChangeListener not found" + " on the class " + object.getClass() + " so Drools will be unable to process JavaBean" + " PropertyChangeEvents on the asserted Object" );
+ } catch ( final IllegalArgumentException e ) {
+ System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " does not take" + " a simple PropertyChangeListener argument" + " so Drools will be unable to process JavaBean"
+ + " PropertyChangeEvents on the asserted Object" );
+ } catch ( final IllegalAccessException e ) {
+ System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " is not public" + " so Drools will be unable to process JavaBean" + " PropertyChangeEvents on the asserted Object" );
+ } catch ( final InvocationTargetException e ) {
+ System.err.println( "Warning: The addPropertyChangeListener method" + " on the class " + object.getClass() + " threw an InvocationTargetException" + " so Drools will be unable to process JavaBean"
+ + " PropertyChangeEvents on the asserted Object: " + e.getMessage() );
+ } catch ( final SecurityException e ) {
+ System.err.println( "Warning: The SecurityManager controlling the class " + object.getClass() + " did not allow the lookup of a" + " addPropertyChangeListener method" + " so Drools will be unable to process JavaBean"
+ + " PropertyChangeEvents on the asserted Object: " + e.getMessage() );
+ }
+ }
+
+ protected void removePropertyChangeListener(final FactHandle handle) {
+ Object object = null;
+ try {
+ object = ((InternalFactHandle) handle).getObject();
+
+ if ( object != null ) {
+ final Method mehod = object.getClass().getMethod( "removePropertyChangeListener",
+ AbstractWorkingMemory.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES );
+
+ mehod.invoke( object,
+ this.addRemovePropertyChangeListenerArgs );
+ }
+ } catch ( final NoSuchMethodException e ) {
+ // The removePropertyChangeListener method on the class
+ // was not found so Drools will be unable to
+ // stop processing JavaBean PropertyChangeEvents
+ // on the retracted Object
+ } catch ( final IllegalArgumentException e ) {
+ throw new RuntimeDroolsException( "Warning: The removePropertyChangeListener method on the class " + object.getClass() + " does not take a simple PropertyChangeListener argument so Drools will be unable to stop processing JavaBean"
+ + " PropertyChangeEvents on the retracted Object" );
+ } catch ( final IllegalAccessException e ) {
+ throw new RuntimeDroolsException( "Warning: The removePropertyChangeListener method on the class " + object.getClass() + " is not public so Drools will be unable to stop processing JavaBean PropertyChangeEvents on the retracted Object" );
+ } catch ( final InvocationTargetException e ) {
+ throw new RuntimeDroolsException( "Warning: The removePropertyChangeL istener method on the class " + object.getClass() + " threw an InvocationTargetException so Drools will be unable to stop processing JavaBean"
+ + " PropertyChangeEvents on the retracted Object: " + e.getMessage() );
+ } catch ( final SecurityException e ) {
+ throw new RuntimeDroolsException( "Warning: The SecurityManager controlling the class " + object.getClass() + " did not allow the lookup of a removePropertyChangeListener method so Drools will be unable to stop processing JavaBean"
+ + " PropertyChangeEvents on the retracted Object: " + e.getMessage() );
+ }
+ }
+
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+ return this.wm.getWorkingMemoryEntryPoint( name );
+ }
+
+ public ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry() {
+ return this.typeConfReg;
+ }
+
+}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,76 +0,0 @@
-package org.drools.common;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.drools.base.ShadowProxy;
-import org.drools.facttemplates.Fact;
-import org.drools.reteoo.ClassObjectTypeConf;
-import org.drools.reteoo.FactTemplateTypeConf;
-import org.drools.reteoo.ObjectTypeConf;
-import org.drools.rule.EntryPoint;
-
-public class ObjectTypeConfigurationRegistry implements Serializable {
- private InternalRuleBase ruleBase;
- private Map<Object, ObjectTypeConf> typeConfMap;
-
-
-
- public ObjectTypeConfigurationRegistry(InternalRuleBase ruleBase ) {
- super();
- this.ruleBase = ruleBase;
- this.typeConfMap = new HashMap<Object, ObjectTypeConf>();
- }
-
-
-
- /**
- * Returns the ObjectTypeConfiguration object for the given object or
- * creates a new one if none is found in the cache
- *
- * @param object
- * @return
- */
- public ObjectTypeConf getObjectTypeConf(EntryPoint entrypoint,
- Object object) {
-
- // first see if it's a ClassObjectTypeConf
- Class cls = null;
- if ( object instanceof ShadowProxy ) {
- cls = ((ShadowProxy) object).getShadowedObject().getClass();
- } else {
- cls = object.getClass();
- }
- ObjectTypeConf objectTypeConf = this.typeConfMap.get( cls );
-
- // Now see if it's something else
- if ( objectTypeConf == null ) {
- objectTypeConf = this.typeConfMap.get( object );
- }
-
-
- // it doesn't exist, so create it.
- if ( objectTypeConf == null ) {
- if ( object instanceof Fact ) {
- objectTypeConf = new FactTemplateTypeConf( entrypoint,
- ((Fact) object).getFactTemplate(),
- this.ruleBase );
- this.typeConfMap.put( object, objectTypeConf );
- } else {
- objectTypeConf = new ClassObjectTypeConf( entrypoint,
- cls,
- this.ruleBase );
- this.typeConfMap.put( cls, objectTypeConf );
- }
- }
-
- return objectTypeConf;
- }
-
-
- public Collection<ObjectTypeConf> values() {
- return this.typeConfMap.values();
- }
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,76 @@
+package org.drools.common;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.base.ShadowProxy;
+import org.drools.facttemplates.Fact;
+import org.drools.reteoo.ClassObjectTypeConf;
+import org.drools.reteoo.FactTemplateTypeConf;
+import org.drools.reteoo.ObjectTypeConf;
+import org.drools.rule.EntryPoint;
+
+public class ObjectTypeConfigurationRegistry implements Serializable {
+ private InternalRuleBase ruleBase;
+ private Map<Object, ObjectTypeConf> typeConfMap;
+
+
+
+ public ObjectTypeConfigurationRegistry(InternalRuleBase ruleBase ) {
+ super();
+ this.ruleBase = ruleBase;
+ this.typeConfMap = new HashMap<Object, ObjectTypeConf>();
+ }
+
+
+
+ /**
+ * Returns the ObjectTypeConfiguration object for the given object or
+ * creates a new one if none is found in the cache
+ *
+ * @param object
+ * @return
+ */
+ public ObjectTypeConf getObjectTypeConf(EntryPoint entrypoint,
+ Object object) {
+
+ // first see if it's a ClassObjectTypeConf
+ Class cls = null;
+ if ( object instanceof ShadowProxy ) {
+ cls = ((ShadowProxy) object).getShadowedObject().getClass();
+ } else {
+ cls = object.getClass();
+ }
+ ObjectTypeConf objectTypeConf = this.typeConfMap.get( cls );
+
+ // Now see if it's something else
+ if ( objectTypeConf == null ) {
+ objectTypeConf = this.typeConfMap.get( object );
+ }
+
+
+ // it doesn't exist, so create it.
+ if ( objectTypeConf == null ) {
+ if ( object instanceof Fact ) {
+ objectTypeConf = new FactTemplateTypeConf( entrypoint,
+ ((Fact) object).getFactTemplate(),
+ this.ruleBase );
+ this.typeConfMap.put( object, objectTypeConf );
+ } else {
+ objectTypeConf = new ClassObjectTypeConf( entrypoint,
+ cls,
+ this.ruleBase );
+ this.typeConfMap.put( cls, objectTypeConf );
+ }
+ }
+
+ return objectTypeConf;
+ }
+
+
+ public Collection<ObjectTypeConf> values() {
+ return this.typeConfMap.values();
+ }
+}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,33 +0,0 @@
-package org.drools.common;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.MapGlobalResolver;
-import org.drools.event.AgendaEventSupport;
-import org.drools.event.RuleFlowEventSupport;
-import org.drools.event.WorkingMemoryEventSupport;
-import org.drools.process.instance.ProcessInstanceFactory;
-import org.drools.process.instance.WorkItemManager;
-import org.drools.rule.TimeMachine;
-import org.drools.spi.FactHandleFactory;
-import org.drools.spi.GlobalResolver;
-import org.drools.temporal.SessionClock;
-
-public class SharedTemporalWorkingMemoryContext<T extends SessionClock> extends SharedWorkingMemoryContext {
- protected T sessionClock;
-
- public SharedTemporalWorkingMemoryContext(FactHandleFactory handleFactory, T sessionClock) {
- super( handleFactory );
- this.sessionClock = sessionClock;
- }
-
- public T getSessionClock() {
- return sessionClock;
- }
-
-
-
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,33 @@
+package org.drools.common;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.base.MapGlobalResolver;
+import org.drools.event.AgendaEventSupport;
+import org.drools.event.RuleFlowEventSupport;
+import org.drools.event.WorkingMemoryEventSupport;
+import org.drools.process.instance.ProcessInstanceFactory;
+import org.drools.process.instance.WorkItemManager;
+import org.drools.rule.TimeMachine;
+import org.drools.spi.FactHandleFactory;
+import org.drools.spi.GlobalResolver;
+import org.drools.temporal.SessionClock;
+
+public class SharedTemporalWorkingMemoryContext<T extends SessionClock> extends SharedWorkingMemoryContext {
+ protected T sessionClock;
+
+ public SharedTemporalWorkingMemoryContext(FactHandleFactory handleFactory, T sessionClock) {
+ super( handleFactory );
+ this.sessionClock = sessionClock;
+ }
+
+ public T getSessionClock() {
+ return sessionClock;
+ }
+
+
+
+}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,119 +0,0 @@
-package org.drools.common;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.MapGlobalResolver;
-import org.drools.event.AgendaEventSupport;
-import org.drools.event.RuleFlowEventSupport;
-import org.drools.event.WorkingMemoryEventSupport;
-import org.drools.process.instance.ProcessInstanceFactory;
-import org.drools.process.instance.WorkItemManager;
-import org.drools.rule.TimeMachine;
-import org.drools.spi.FactHandleFactory;
-import org.drools.spi.GlobalResolver;
-import org.drools.temporal.SessionClock;
-
-public class SharedWorkingMemoryContext {
- protected InternalRuleBase ruleBase;
-
- protected FactHandleFactory handleFactory;
-
- /** Global values which are associated with this memory. */
- protected GlobalResolver globalResolver;
-
- /** The eventSupport */
- protected WorkingMemoryEventSupport workingMemoryEventSupport;
-
- protected AgendaEventSupport agendaEventSupport;
-
- protected RuleFlowEventSupport workflowEventSupport;
-
- protected List __ruleBaseEventListeners;
-
- protected long propagationIdCounter;
-
- private Map processInstances;
-
- private int processCounter;
-
- private WorkItemManager workItemManager;
-
- private Map<String, ProcessInstanceFactory> processInstanceFactories;
-
- private TimeMachine timeMachine;
-
- public SharedWorkingMemoryContext(FactHandleFactory handleFactory) {
- this.handleFactory = handleFactory;
-
- this.globalResolver = new MapGlobalResolver();
-
- this.workingMemoryEventSupport = new WorkingMemoryEventSupport();
- this.agendaEventSupport = new AgendaEventSupport();
- this.workflowEventSupport = new RuleFlowEventSupport();
- this.__ruleBaseEventListeners = new LinkedList();
-
- processInstanceFactories = new HashMap();
-
- timeMachine = new TimeMachine();
- }
-
- public Map getProcessInstances() {
- return processInstances;
- }
-
- public void setProcessInstances(Map processInstances) {
- this.processInstances = processInstances;
- }
-
- public WorkItemManager getWorkItemManager() {
- return workItemManager;
- }
-
- public void setWorkItemManager(WorkItemManager workItemManager) {
- this.workItemManager = workItemManager;
- }
-
- public TimeMachine getTimeMachine() {
- return timeMachine;
- }
-
- public void setTimeMachine(TimeMachine timeMachine) {
- this.timeMachine = timeMachine;
- }
-
- public FactHandleFactory getHandleFactory() {
- return handleFactory;
- }
-
- public GlobalResolver getGlobalResolver() {
- return globalResolver;
- }
-
- public WorkingMemoryEventSupport getWorkingMemoryEventSupport() {
- return workingMemoryEventSupport;
- }
-
- public AgendaEventSupport getAgendaEventSupport() {
- return agendaEventSupport;
- }
-
- public RuleFlowEventSupport getWorkflowEventSupport() {
- return workflowEventSupport;
- }
-
- public List get__ruleBaseEventListeners() {
- return __ruleBaseEventListeners;
- }
-
- public int getProcessCounter() {
- return processCounter;
- }
-
- public Map<String, ProcessInstanceFactory> getProcessInstanceFactories() {
- return processInstanceFactories;
- }
-
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,119 @@
+package org.drools.common;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.base.MapGlobalResolver;
+import org.drools.event.AgendaEventSupport;
+import org.drools.event.RuleFlowEventSupport;
+import org.drools.event.WorkingMemoryEventSupport;
+import org.drools.process.instance.ProcessInstanceFactory;
+import org.drools.process.instance.WorkItemManager;
+import org.drools.rule.TimeMachine;
+import org.drools.spi.FactHandleFactory;
+import org.drools.spi.GlobalResolver;
+import org.drools.temporal.SessionClock;
+
+public class SharedWorkingMemoryContext {
+ protected InternalRuleBase ruleBase;
+
+ protected FactHandleFactory handleFactory;
+
+ /** Global values which are associated with this memory. */
+ protected GlobalResolver globalResolver;
+
+ /** The eventSupport */
+ protected WorkingMemoryEventSupport workingMemoryEventSupport;
+
+ protected AgendaEventSupport agendaEventSupport;
+
+ protected RuleFlowEventSupport workflowEventSupport;
+
+ protected List __ruleBaseEventListeners;
+
+ protected long propagationIdCounter;
+
+ private Map processInstances;
+
+ private int processCounter;
+
+ private WorkItemManager workItemManager;
+
+ private Map<String, ProcessInstanceFactory> processInstanceFactories;
+
+ private TimeMachine timeMachine;
+
+ public SharedWorkingMemoryContext(FactHandleFactory handleFactory) {
+ this.handleFactory = handleFactory;
+
+ this.globalResolver = new MapGlobalResolver();
+
+ this.workingMemoryEventSupport = new WorkingMemoryEventSupport();
+ this.agendaEventSupport = new AgendaEventSupport();
+ this.workflowEventSupport = new RuleFlowEventSupport();
+ this.__ruleBaseEventListeners = new LinkedList();
+
+ processInstanceFactories = new HashMap();
+
+ timeMachine = new TimeMachine();
+ }
+
+ public Map getProcessInstances() {
+ return processInstances;
+ }
+
+ public void setProcessInstances(Map processInstances) {
+ this.processInstances = processInstances;
+ }
+
+ public WorkItemManager getWorkItemManager() {
+ return workItemManager;
+ }
+
+ public void setWorkItemManager(WorkItemManager workItemManager) {
+ this.workItemManager = workItemManager;
+ }
+
+ public TimeMachine getTimeMachine() {
+ return timeMachine;
+ }
+
+ public void setTimeMachine(TimeMachine timeMachine) {
+ this.timeMachine = timeMachine;
+ }
+
+ public FactHandleFactory getHandleFactory() {
+ return handleFactory;
+ }
+
+ public GlobalResolver getGlobalResolver() {
+ return globalResolver;
+ }
+
+ public WorkingMemoryEventSupport getWorkingMemoryEventSupport() {
+ return workingMemoryEventSupport;
+ }
+
+ public AgendaEventSupport getAgendaEventSupport() {
+ return agendaEventSupport;
+ }
+
+ public RuleFlowEventSupport getWorkflowEventSupport() {
+ return workflowEventSupport;
+ }
+
+ public List get__ruleBaseEventListeners() {
+ return __ruleBaseEventListeners;
+ }
+
+ public int getProcessCounter() {
+ return processCounter;
+ }
+
+ public Map<String, ProcessInstanceFactory> getProcessInstanceFactories() {
+ return processInstanceFactories;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,12 @@
package org.drools.reteoo;
+import java.util.Arrays;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Externalizable;
+
import org.drools.RuleBaseConfiguration;
import org.drools.RuntimeDroolsException;
import org.drools.common.BetaConstraints;
@@ -32,12 +38,6 @@
import org.drools.util.Iterator;
import org.drools.util.ObjectHashMap.ObjectEntry;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.Arrays;
-
/**
* AccumulateNode
* A beta node capable of doing accumulate logic.
@@ -94,7 +94,7 @@
out.writeObject(resultConstraints);
out.writeObject(resultBinder);
}
-
+
/**
* @inheritDoc
*
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,12 @@
* limitations under the License.
*/
+import java.util.ArrayList;
+import java.util.List;
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
import org.drools.RuleBaseConfiguration;
import org.drools.common.BaseNode;
import org.drools.common.BetaConstraints;
@@ -27,12 +33,6 @@
import org.drools.util.LinkedList;
import org.drools.util.LinkedListEntry;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* <code>BetaNode</code> provides the base abstract class for <code>JoinNode</code> and <code>NotNode</code>. It implements
* both TupleSink and ObjectSink and as such can receive <code>Tuple</code>s and <code>FactHandle</code>s. BetaNode uses BetaMemory
@@ -149,7 +149,7 @@
this.rightInput.networkUpdated();
this.leftInput.networkUpdated();
}
-
+
public List getRules() {
final List list = new ArrayList();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ClassObjectTypeConf.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,13 +17,22 @@
*/
package org.drools.reteoo;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
import org.drools.FactException;
import org.drools.RuntimeDroolsException;
import org.drools.base.ClassObjectType;
import org.drools.base.DroolsQuery;
import org.drools.base.ShadowProxy;
import org.drools.base.ShadowProxyFactory;
-import org.drools.common.DroolsObjectInput;
import org.drools.common.InternalRuleBase;
import org.drools.objenesis.instantiator.ObjectInstantiator;
import org.drools.reteoo.builder.BuildContext;
@@ -32,25 +41,14 @@
import org.drools.rule.TypeDeclaration;
import org.drools.spi.ObjectType;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutput;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
public class ClassObjectTypeConf
implements
ObjectTypeConf,
Externalizable {
private static final long serialVersionUID = 8218802585428841926L;
-
- private Class<?> cls;
+
+ private Class<?> cls;
private transient InternalRuleBase ruleBase;
private ObjectTypeNode[] objectTypeNodes;
@@ -72,7 +70,7 @@
this.ruleBase = ruleBase;
this.entryPoint = entryPoint;
TypeDeclaration type = ruleBase.getTypeDeclaration( clazz );
- final boolean isEvent = type != null && type.getRole() == TypeDeclaration.Role.EVENT;
+ final boolean isEvent = type != null && type.getRole() == TypeDeclaration.Role.EVENT;
ObjectType objectType = new ClassObjectType( clazz,
isEvent );
@@ -252,12 +250,6 @@
return ret;
}
- private void readObject(ObjectInputStream stream) throws IOException,
- ClassNotFoundException {
- stream.defaultReadObject();
- this.ruleBase = ((DroolsObjectInput) stream).getRuleBase();
- }
-
/**
*
*/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -18,6 +18,14 @@
* Created on January 8th, 2007
*/
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.WorkingMemoryEntryPoint;
import org.drools.base.ShadowProxy;
import org.drools.common.BaseNode;
import org.drools.common.InternalFactHandle;
@@ -33,13 +41,6 @@
import org.drools.util.FactHashTable;
import org.drools.util.Iterator;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* A node that is an entry point into the Rete network.
*
@@ -119,7 +120,7 @@
public EntryPoint getEntryPoint() {
return entryPoint;
}
-
+
public void assertObject(final InternalFactHandle handle,
final PropagationContext context,
final ObjectTypeConf objectTypeConf,
@@ -143,7 +144,7 @@
context,
workingMemory );
}
- }
+ }
/**
* This is the entry point into the network for all asserted Facts. Iterates a cache
@@ -174,10 +175,10 @@
*/
public void retractObject(final InternalFactHandle handle,
final PropagationContext context,
- final ObjectTypeConf objectTypeConf,
+ final ObjectTypeConf objectTypeConf,
final InternalWorkingMemory workingMemory) {
final Object object = handle.getObject();
-
+
ObjectTypeNode[] cachedNodes = objectTypeConf.getObjectTypeNodes();
if ( cachedNodes == null ) {
@@ -191,11 +192,11 @@
workingMemory );
}
}
-
+
public void retractObject(final InternalFactHandle handle,
- final PropagationContext context,
+ final PropagationContext context,
final InternalWorkingMemory workingMemory) {
- // do nothing, dummy method to impl the interface
+ // do nothing, dummy method to impl the interface
}
/**
@@ -275,11 +276,12 @@
final InternalWorkingMemory workingMemory) {
// JBRULES-612: the cache MUST be invalidated when a new node type is added to the network, so iterate and reset all caches.
final ObjectTypeNode node = (ObjectTypeNode) sink;
+
final ObjectType newObjectType = node.getObjectType();
InternalWorkingMemoryEntryPoint wmEntryPoint = ( InternalWorkingMemoryEntryPoint ) workingMemory.getWorkingMemoryEntryPoint( this.entryPoint.getEntryPointId() );
-
- for ( ObjectTypeConf objectTypeConf : wmEntryPoint.getObjectTypeConfigurationRegistry().values() ) {
+
+ for ( ObjectTypeConf objectTypeConf : wmEntryPoint.getObjectTypeConfigurationRegistry().values() ) {
if ( newObjectType.isAssignableFrom( objectTypeConf.getConcreteObjectTypeNode().getObjectType() ) ) {
objectTypeConf.resetCache();
ObjectTypeNode sourceNode = objectTypeConf.getConcreteObjectTypeNode();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,5 +1,10 @@
package org.drools.reteoo;
+import java.io.Serializable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
import org.drools.RuleBaseConfiguration;
import org.drools.common.BaseNode;
import org.drools.common.BetaConstraints;
@@ -17,11 +22,6 @@
import org.drools.util.LinkedListEntry;
import org.drools.util.TupleHashTable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Serializable;
-
public class FromNode extends TupleSource
implements
TupleSinkNode,
@@ -185,7 +185,7 @@
public void networkUpdated() {
this.tupleSource.networkUpdated();
}
-
+
protected void doRemove(final RuleRemovalContext context,
final ReteooBuilder builder,
final BaseNode node,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -123,7 +123,7 @@
public void networkUpdated() {
this.objectSource.networkUpdated();
}
-
+
/**
* Takes the asserted <code>FactHandleImpl</code> received from the <code>ObjectSource</code> and puts it
* in a new <code>ReteTuple</code> before propagating to the <code>TupleSinks</code>
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,16 +16,17 @@
* limitations under the License.
*/
+import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
import org.drools.common.BaseNode;
import org.drools.common.DefaultFactHandle;
import org.drools.common.InternalWorkingMemory;
import org.drools.spi.PropagationContext;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-
/**
* A source of <code>FactHandle</code>s for an <code>ObjectSink</code>.
*
@@ -149,7 +150,7 @@
public abstract void updateSink(ObjectSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory);
-
+
public void networkUpdated() {
this.objectSource.networkUpdated();
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -244,7 +244,7 @@
public void networkUpdated() {
this.skipOnModify = canSkipOnModify( this.sink.getSinks() );
}
-
+
/**
* OTN needs to override remove to avoid releasing the node ID, since OTN are
* never removed from the rulebase in the current implementation
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -177,7 +177,7 @@
public void networkUpdated() {
this.tupleSource.networkUpdated();
}
-
+
protected void doRemove(final RuleRemovalContext context,
final ReteooBuilder builder,
final BaseNode node,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,15 @@
* limitations under the License.
*/
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
import org.drools.common.BaseNode;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalRuleBase;
@@ -25,15 +34,6 @@
import org.drools.spi.ObjectType;
import org.drools.spi.PropagationContext;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
/**
* The Rete-OO network.
*
@@ -164,7 +164,7 @@
public void networkUpdated() {
// nothing to do
}
-
+
protected void doRemove(final RuleRemovalContext context,
final ReteooBuilder builder,
final BaseNode node,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,26 +16,17 @@
* limitations under the License.
*/
-import org.drools.RuleIntegrationException;
-import org.drools.base.SalienceInteger;
-import org.drools.common.BaseNode;
-import org.drools.common.DroolsObjectInputStream;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.common.InternalRuleBase;
-import org.drools.common.InternalWorkingMemory;
-import org.drools.reteoo.builder.ReteooRuleBuilder;
-import org.drools.rule.InvalidPatternException;
-import org.drools.rule.Rule;
-import org.drools.spi.Salience;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Externalizable;
import java.io.IOException;
-import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
import java.io.ObjectInput;
-import java.io.ObjectInputStream;
import java.io.ObjectOutput;
+import java.io.Externalizable;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -44,9 +35,21 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Queue;
import java.util.Map.Entry;
-import java.util.Queue;
+import org.drools.RuleIntegrationException;
+import org.drools.base.SalienceInteger;
+import org.drools.common.BaseNode;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.InternalRuleBase;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.reteoo.builder.ReteooRuleBuilder;
+import org.drools.rule.InvalidPatternException;
+import org.drools.rule.Rule;
+import org.drools.spi.Salience;
+
/**
* Builds the Rete-OO network for a <code>Package</code>.
*
@@ -319,18 +322,17 @@
droolsStream = (DroolsObjectInputStream)in;
} else {
bytes = new ByteArrayInputStream((byte[])in.readObject());
- droolsStream = new DroolsObjectInputStream((InputStream)new ObjectInputStream(bytes));
+ droolsStream = new DroolsObjectInputStream(bytes);
}
this.rules = (Map)in.readObject();
this.idGenerator = (IdGenerator)in.readObject();
this.ordered = in.readBoolean();
-
- // TODO: possible null for rule base.
this.ruleBase = (InternalRuleBase)droolsStream.readObject();
- this.ruleBuilder = new ReteooRuleBuilder();
if (!isDrools) {
bytes.close();
}
+
+ this.ruleBuilder = new ReteooRuleBuilder();
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooFactHandleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooFactHandleFactory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooFactHandleFactory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,10 @@
* limitations under the License.
*/
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
import org.drools.TemporalSession;
import org.drools.WorkingMemory;
import org.drools.common.AbstractFactHandleFactory;
@@ -28,7 +32,19 @@
public class ReteooFactHandleFactory extends AbstractFactHandleFactory {
private static final long serialVersionUID = 400L;
+
+ public ReteooFactHandleFactory() {
+ super();
+ }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ super.writeExternal(out);
+ }
+
/* (non-Javadoc)
* @see org.drools.reteoo.FactHandleFactory#newFactHandle(long)
*/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -19,6 +19,7 @@
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import java.io.Serializable;
import java.io.Externalizable;
import java.util.Iterator;
@@ -46,6 +47,7 @@
import org.drools.spi.ExecutorServiceFactory;
import org.drools.spi.FactHandleFactory;
import org.drools.spi.PropagationContext;
+import org.drools.temporal.SessionClock;
/**
* Implementation of <code>RuleBase</code>.
@@ -82,7 +84,7 @@
/**
* Construct.
*
- * @param rete
+ * @param id
* The rete network.
*/
public ReteooRuleBase(final String id) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -9,6 +9,7 @@
import org.drools.FactHandle;
import org.drools.StatefulSession;
import org.drools.common.InternalRuleBase;
+//import org.drools.common.AbstractWorkingMemory.EntryPointInterfaceImpl;
import org.drools.concurrent.AssertObject;
import org.drools.concurrent.AssertObjects;
import org.drools.concurrent.ExecutorService;
@@ -107,6 +108,12 @@
}
return this.ruleBaseListeners;
}
+
+// public StatefulSession getEntryPoint(String id) {
+// EntryPoint ep = new EntryPoint( id );
+// return new EntryPointInterfaceImpl( ep,
+// this );
+// }
public ExecutorService getExecutorService() {
return executor;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -27,6 +27,7 @@
import org.drools.event.WorkingMemoryEventSupport;
import org.drools.reteoo.ReteooRuleBase.InitialFactHandleDummyObject;
import org.drools.reteoo.ReteooWorkingMemory.WorkingMemoryReteAssertAction;
+import org.drools.rule.EntryPoint;
import org.drools.spi.AgendaFilter;
import org.drools.spi.ExecutorServiceFactory;
import org.drools.spi.GlobalExporter;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooTemporalSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooTemporalSession.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooTemporalSession.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,15 +17,15 @@
*/
package org.drools.reteoo;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
import org.drools.TemporalSession;
import org.drools.common.InternalRuleBase;
import org.drools.concurrent.ExecutorService;
import org.drools.temporal.SessionClock;
-import java.io.ObjectOutput;
-import java.io.IOException;
-import java.io.ObjectInput;
-
/**
* ReteooStatefulTemporalSession implements a temporal enabled session
* for Reteoo rulebases
@@ -37,9 +37,8 @@
TemporalSession<T> {
private static final long serialVersionUID = -2129661675928809928L;
+ private T sessionClock;
- private T sessionClock;
-
public ReteooTemporalSession() {
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -50,7 +50,7 @@
* @author <a href="mailto:mark.proctor at jboss.com">Mark Proctor</a>
* @author <a href="mailto:simon at redhillconsulting.com.au">Simon Harris</a>
*/
-public class ReteooWorkingMemory extends AbstractWorkingMemory {
+public class ReteooWorkingMemory extends AbstractWorkingMemory implements Externalizable {
/**
*
@@ -73,8 +73,8 @@
ruleBase,
ruleBase.newFactHandleFactory() );
this.agenda = new DefaultAgenda( this );
- }
-
+ }
+
public QueryResults getQueryResults(final String query) {
return getQueryResults( query, null );
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -171,6 +171,10 @@
workingMemory );
}
}
+
+ public void networkUpdated() {
+ this.tupleSource.networkUpdated();
+ }
public void updateSink(final ObjectSink sink,
final PropagationContext context,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -460,7 +460,7 @@
public void networkUpdated() {
this.tupleSource.networkUpdated();
}
-
+
protected void doRemove(final RuleRemovalContext context,
final ReteooBuilder builder,
final BaseNode node,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,11 +16,13 @@
package org.drools.reteoo;
+import org.drools.common.NetworkNode;
+
/**
* A markup interface for terminal nodes
*
* @author etirelli
*/
-public interface TerminalNode {
+public interface TerminalNode extends NetworkNode {
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSource.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSource.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -88,7 +88,7 @@
* <code>Tuples</code>.
*/
protected void addTupleSink(final TupleSink tupleSink) {
- if ( this.sink == EmptyTupleSinkAdapter.getInstance() ) {
+ if ( this.sink instanceof EmptyTupleSinkAdapter ) {
this.sink = new SingleTupleSinkAdapter( tupleSink );
} else if ( this.sink instanceof SingleTupleSinkAdapter ) {
final CompositeTupleSinkAdapter sinkAdapter = new CompositeTupleSinkAdapter();
@@ -107,7 +107,7 @@
* The <code>TupleSink</code> to remove
*/
protected void removeTupleSink(final TupleSink tupleSink) {
- if ( this.sink == EmptyTupleSinkAdapter.getInstance() ) {
+ if ( this.sink instanceof EmptyTupleSinkAdapter ) {
throw new IllegalArgumentException( "Cannot remove a sink, when the list of sinks is null" );
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -181,6 +181,8 @@
((BaseNode) terminal).attach( context.getWorkingMemories() );
}
+ ((BaseNode) terminal).networkUpdated();
+
return terminal;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -38,11 +38,11 @@
}
/**
- * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass
+ * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass
* over method calls to parent.loadClass(name, false); and c = findBootstrapClass0(name); which the default implementation
- * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a
+ * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a
* higher priority than normal.
- *
+ *
*/
protected synchronized Class loadClass(final String name,
final boolean resolve) throws ClassNotFoundException {
@@ -68,10 +68,10 @@
return clazz;
}
-
+
public InputStream getResourceAsStream(final String name) {
InputStream stream = super.getResourceAsStream( name );
-
+
for ( final Iterator it = this.classLoaders.iterator(); it.hasNext(); ) {
final DroolsClassLoader classLoader = (DroolsClassLoader) it.next();
stream = classLoader.getResourceAsStream( name );
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -11,20 +11,22 @@
import java.util.Map;
import java.util.Map.Entry;
+import org.drools.common.DroolsObjectInput;
+
public class DialectDatas implements Externalizable {
private transient ClassLoader parentClassLoader;
private CompositePackageClassLoader classLoader;
- private Map<String, DialectData> dialects;
+ private Map<String, DialectData> dialects;
- private Map lineMappings;
+ private Map lineMappings;
/**
* Default constructor - for Externalizable. This should never be used by a user, as it
* will result in an invalid state for the instance.
*/
public DialectDatas() {
- this((ClassLoader)null);
+ this(null);
}
public DialectDatas(ClassLoader classLoader) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -97,7 +97,7 @@
workingMemory,
context );
} catch ( final Exception e ) {
- throw new RuntimeDroolsException( e );
+ throw new RuntimeDroolsException( this.getEvalExpression() + " : " + e, e );
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -23,9 +23,7 @@
import java.io.ObjectOutput;
/**
- * A class to represent an import declaration. That declaration
- * may have additional metadata associated to it, like a flag
- * stating if the imported class is an event or not
+ * A class to represent an import declaration.
*
* @author etirelli
*/
@@ -34,13 +32,12 @@
private static final long serialVersionUID = 6410032114027977766L;
private String target;
- private boolean isEvent;
/**
* Creates an empty import declaration
*/
public ImportDeclaration() {
- this( null, false );
+ this( null );
}
/**
@@ -49,40 +46,17 @@
* @param target
*/
public ImportDeclaration( String target ) {
- this( target, false );
+ this.target = target;
}
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
target = (String)in.readObject();
- isEvent = in.readBoolean();
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(target);
- out.writeBoolean(isEvent);
}
- /**
- * Creates an import declaration for the given target.
- *
- * @param target the import target
- * @param isEvent true if the target is an event-type target, false otherwise.
- */
- public ImportDeclaration(String target,
- boolean isEvent) {
- super();
- this.target = target;
- this.isEvent = isEvent;
- }
-
- public boolean isEvent() {
- return isEvent;
- }
-
- public void setEvent(boolean isEvent) {
- this.isEvent = isEvent;
- }
-
public String getTarget() {
return target;
}
@@ -94,7 +68,6 @@
public int hashCode() {
final int PRIME = 31;
int result = 1;
- result = PRIME * result + (isEvent ? 1231 : 1237);
result = PRIME * result + ((target == null) ? 0 : target.hashCode());
return result;
}
@@ -104,7 +77,6 @@
if ( obj == null ) return false;
if ( getClass() != obj.getClass() ) return false;
final ImportDeclaration other = (ImportDeclaration) obj;
- if ( isEvent != other.isEvent ) return false;
if ( target == null ) {
if ( other.target != null ) return false;
} else if ( !target.equals( other.target ) ) return false;
@@ -118,7 +90,7 @@
* @param name
* @return
*/
- public boolean matches( Class clazz ) {
+ public boolean matches( Class<?> clazz ) {
// fully qualified import?
if( this.target.equals( clazz.getName() ) ) {
return true;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,21 +16,6 @@
* limitations under the License.
*/
-import org.drools.RuntimeDroolsException;
-import org.drools.base.accumulators.JavaAccumulatorFunctionExecutor;
-import org.drools.common.DroolsObjectInputStream;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.common.DroolsObjectInput;
-import org.drools.spi.Accumulator;
-import org.drools.spi.Consequence;
-import org.drools.spi.EvalExpression;
-import org.drools.spi.PredicateExpression;
-import org.drools.spi.ReturnValueEvaluator;
-import org.drools.spi.ReturnValueExpression;
-import org.drools.util.StringUtils;
-import org.drools.workflow.core.node.ActionNode;
-import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
-
import java.io.ByteArrayInputStream;
import java.io.Externalizable;
import java.io.IOException;
@@ -47,6 +32,21 @@
import java.util.Map;
import java.util.Map.Entry;
+import org.drools.RuntimeDroolsException;
+import org.drools.base.accumulators.JavaAccumulatorFunctionExecutor;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.common.DroolsObjectInput;
+import org.drools.spi.Accumulator;
+import org.drools.spi.Consequence;
+import org.drools.spi.EvalExpression;
+import org.drools.spi.PredicateExpression;
+import org.drools.spi.ReturnValueEvaluator;
+import org.drools.spi.ReturnValueExpression;
+import org.drools.util.StringUtils;
+import org.drools.workflow.core.node.ActionNode;
+import org.drools.workflow.instance.impl.ReturnValueConstraintEvaluator;
+
public class JavaDialectData
implements
DialectData,
@@ -410,6 +410,7 @@
if ( resolve && clazz != null) {
resolveClass( clazz );
}
+
return clazz;
}
@@ -417,7 +418,6 @@
return fastFindClass( name );
}
-
public InputStream getResourceAsStream(final String name) {
final byte[] bytes = (byte[]) parent.store.get( name );
if ( bytes != null ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MVELDialectData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MVELDialectData.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MVELDialectData.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -20,7 +20,7 @@
* user, as it will result in an invalid state for the instance.
*/
public MVELDialectData() {
-
+ this(null);
}
public MVELDialectData(final DialectDatas datas) {
@@ -54,46 +54,44 @@
}
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- functionFactory = (MapFunctionResolverFactory)in.readObject();
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(functionFactory);
}
- public static class MapFunctionResolverFactory extends
- MapVariableResolverFactory implements Externalizable {
+ public static class MapFunctionResolverFactory extends
+ MapVariableResolverFactory implements Externalizable {
- public MapFunctionResolverFactory() {
- super(new HashMap<String, Object>());
- }
+ public MapFunctionResolverFactory() {
+ super(new HashMap<String, Object>());
+ }
- public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject( this.variables );
- }
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject( this.variables );
+ }
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- this.variables = ( Map ) in.readObject();
- }
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ this.variables = ( Map ) in.readObject();
+ }
- public void addFunction(Function function) {
- this.variables.put(function.getName(), function);
- }
+ public void addFunction(Function function) {
+ this.variables.put(function.getName(), function);
+ }
- public void removeFunction(String functionName) {
- this.variables.remove(functionName);
- this.variableResolvers.remove(functionName);
- }
+ public void removeFunction(String functionName) {
+ this.variables.remove(functionName);
+ this.variableResolvers.remove(functionName);
+ }
- public VariableResolver createVariable(String name, Object value) {
- throw new RuntimeException(
- "variable is a read-only function pointer");
- }
+ public VariableResolver createVariable(String name, Object value) {
+ throw new RuntimeException(
+ "variable is a read-only function pointer");
+ }
- public VariableResolver createIndexedVariable(int index, String name,
- Object value, Class<?> type) {
- throw new RuntimeException(
- "variable is a read-only function pointer");
- }
- }
+ public VariableResolver createIndexedVariable(int index, String name,
+ Object value, Class<?> type) {
+ throw new RuntimeException(
+ "variable is a read-only function pointer");
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -57,16 +57,21 @@
public void addClass(final String className,
byte[] bytes) {
-
- this.store.put( convertResourcePathToClassName( className ),
- bytes );
+ synchronized ( this.store ) {
+ this.store.put( convertResourcePathToClassName( className ),
+ bytes );
+ }
}
public Class fastFindClass(final String name) {
final Class clazz = findLoadedClass( name );
if ( clazz == null ) {
- final byte[] clazzBytes = (byte[]) this.store.get( name );
+ byte[] clazzBytes = null;
+ synchronized ( this.store ) {
+ clazzBytes = (byte[]) this.store.get( name );
+ }
+
if ( clazzBytes != null ) {
return defineClass( name,
clazzBytes,
@@ -79,11 +84,11 @@
}
/**
- * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass
+ * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass
* over method calls to parent.loadClass(name, false); and c = findBootstrapClass0(name); which the default implementation
- * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a
+ * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a
* higher priority than normal.
- *
+ *
*/
protected synchronized Class loadClass(final String name,
final boolean resolve) throws ClassNotFoundException {
@@ -108,7 +113,11 @@
}
public InputStream getResourceAsStream(final String name) {
- final byte[] bytes = (byte[]) this.store.get( name );
+ byte[] bytes = null;
+ synchronized ( this.store ) {
+ bytes = (byte[]) this.store.get( name );
+ }
+
if ( bytes != null ) {
return new ByteArrayInputStream( bytes );
} else {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,12 +16,6 @@
* limitations under the License.
*/
-import org.drools.common.DroolsObjectInput;
-import org.drools.common.DroolsObjectInputStream;
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.facttemplates.FactTemplate;
-import org.drools.process.core.Process;
-
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Externalizable;
@@ -35,6 +29,12 @@
import java.util.Map;
import java.util.Set;
+import org.drools.common.DroolsObjectInput;
+import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.facttemplates.FactTemplate;
+import org.drools.process.core.Process;
+
/**
* Collection of related <code>Rule</code>s.
*
@@ -80,7 +80,7 @@
// private JavaDialectData packageCompilationData;
private DialectDatas dialectDatas;
-
+
private Map<String, TypeDeclaration> typeDeclarations;
/** This is to indicate the the package has no errors during the compilation/building phase */
@@ -239,19 +239,19 @@
public Map<String, ImportDeclaration> getImports() {
return this.imports;
}
-
+
public void addTypeDeclaration( final TypeDeclaration typeDecl ) {
this.typeDeclarations.put( typeDecl.getTypeName(), typeDecl );
}
-
+
public void removeTypeDeclaration( final String type ) {
this.typeDeclarations.remove( type );
}
-
+
public Map<String, TypeDeclaration> getTypeDeclarations() {
return this.typeDeclarations;
}
-
+
public TypeDeclaration getTypeDeclaration( String type ) {
return this.typeDeclarations.get( type );
}
@@ -495,7 +495,7 @@
/**
* Returns true if clazz is imported as an Event class in this package
* @param clazz
- * @return
+ * @return true if clazz is imported as an Event class in this package
*/
public boolean isEvent(Class clazz) {
if ( clazz == null ) {
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,226 +0,0 @@
-/*
- * Copyright 2008 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.
- *
- * Created on Jan 23, 2008
- */
-
-package org.drools.rule;
-
-import org.drools.facttemplates.FactTemplate;
-
-import java.io.Serializable;
-
-/**
- * The type declaration class stores all type's metadata
- * declared in source files.
- *
- * @author etirelli
- */
-public class TypeDeclaration implements Serializable {
-
- public static enum Role {
- FACT,
- EVENT;
-
- public static Role parseRole( String role ) {
- if( "event".equalsIgnoreCase( role ) ) {
- return EVENT;
- } else if( "fact".equalsIgnoreCase( role ) ) {
- return FACT;
- }
- return null;
- }
- }
-
- public static enum Format {
- POJO,
- TEMPLATE;
-
- public static Format parseFormat( String format ) {
- if( "pojo".equalsIgnoreCase( format ) ) {
- return POJO;
- } else if( "template".equalsIgnoreCase( format ) ) {
- return TEMPLATE;
- }
- return null;
- }
- }
-
- public static enum ClockStrategy {
- NONE,
- PSEUDO,
- SYSTEM,
- HEARTBEAT,
- ATTRIBUTE;
-
- public static ClockStrategy parseClockStrategy( String clockStrategy ) {
- if( "none".equalsIgnoreCase( clockStrategy ) ) {
- return NONE;
- } else if( "pseudo".equalsIgnoreCase( clockStrategy ) ) {
- return PSEUDO;
- } else if( "system".equalsIgnoreCase( clockStrategy ) ) {
- return SYSTEM;
- } else if( "heartbeat".equalsIgnoreCase( clockStrategy ) ) {
- return HEARTBEAT;
- } else if( "attribute".equalsIgnoreCase( clockStrategy ) ) {
- return ATTRIBUTE;
- }
- return null;
- }
- }
-
- private final String typeName;
- private Role role;
- private Format format;
- private ClockStrategy clockStrategy;
- private String timestampAttribute;
- private String durationAttribute;
- private Class<?> typeClass;
- private FactTemplate typeTemplate;
-
- public TypeDeclaration( String typeName ) {
- this.typeName = typeName;
- this.role = Role.FACT;
- this.format = Format.POJO;
- this.clockStrategy = ClockStrategy.NONE;
- this.durationAttribute = null;
- this.timestampAttribute = null;
- this.typeClass = null;
- this.typeTemplate = null;
- }
-
- /**
- * @return the type
- */
- public String getTypeName() {
- return typeName;
- }
-
- /**
- * @return the category
- */
- public Role getRole() {
- return role;
- }
-
- /**
- * @param role the category to set
- */
- public void setRole(Role role) {
- this.role = role;
- }
-
- /**
- * @return the format
- */
- public Format getFormat() {
- return format;
- }
-
- /**
- * @param format the format to set
- */
- public void setFormat(Format format) {
- this.format = format;
- }
-
- /**
- * @return the clockStrategy
- */
- public ClockStrategy getClockStrategy() {
- return clockStrategy;
- }
-
- /**
- * @param clockStrategy the clockStrategy to set
- */
- public void setClockStrategy(ClockStrategy clockStrategy) {
- this.clockStrategy = clockStrategy;
- }
-
- /**
- * @return the timestampAttribute
- */
- public String getTimestampAttribute() {
- return timestampAttribute;
- }
-
- /**
- * @param timestampAttribute the timestampAttribute to set
- */
- public void setTimestampAttribute(String timestampAttribute) {
- this.timestampAttribute = timestampAttribute;
- }
-
- /**
- * @return the durationAttribute
- */
- public String getDurationAttribute() {
- return durationAttribute;
- }
-
- /**
- * @param durationAttribute the durationAttribute to set
- */
- public void setDurationAttribute(String durationAttribute) {
- this.durationAttribute = durationAttribute;
- }
-
- /**
- * @return the typeClass
- */
- public Class< ? > getTypeClass() {
- return typeClass;
- }
-
- /**
- * @param typeClass the typeClass to set
- */
- public void setTypeClass(Class< ? > typeClass) {
- this.typeClass = typeClass;
- }
-
- /**
- * @return the typeTemplate
- */
- public FactTemplate getTypeTemplate() {
- return typeTemplate;
- }
-
- /**
- * @param typeTemplate the typeTemplate to set
- */
- public void setTypeTemplate(FactTemplate typeTemplate) {
- this.typeTemplate = typeTemplate;
- }
-
- /**
- * Returns true if the given parameter matches this type declaration
- *
- * @param clazz
- * @return
- */
- public boolean matches( Object clazz ) {
- boolean matches = false;
- if( clazz instanceof FactTemplate ) {
- matches = this.typeTemplate.equals( clazz );
- } else {
- matches = this.typeClass.isAssignableFrom( (Class<?>) clazz );
- }
- return matches;
- }
-
-
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/TypeDeclaration.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,276 @@
+/*
+ * Copyright 2008 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.
+ *
+ * Created on Jan 23, 2008
+ */
+
+package org.drools.rule;
+
+import org.drools.facttemplates.FactTemplate;
+
+import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.ObjectInput;
+import java.io.IOException;
+import java.io.ObjectOutput;
+
+/**
+ * The type declaration class stores all type's metadata
+ * declared in source files.
+ *
+ * @author etirelli
+ */
+public class TypeDeclaration implements Externalizable {
+
+ public static enum Role {
+ FACT,
+ EVENT;
+
+ public static Role parseRole( String role ) {
+ if( "event".equalsIgnoreCase( role ) ) {
+ return EVENT;
+ } else if( "fact".equalsIgnoreCase( role ) ) {
+ return FACT;
+ }
+ return null;
+ }
+ }
+
+ public static enum Format {
+ POJO,
+ TEMPLATE;
+
+ public static Format parseFormat( String format ) {
+ if( "pojo".equalsIgnoreCase( format ) ) {
+ return POJO;
+ } else if( "template".equalsIgnoreCase( format ) ) {
+ return TEMPLATE;
+ }
+ return null;
+ }
+ }
+
+ public static enum ClockStrategy {
+ NONE,
+ PSEUDO,
+ SYSTEM,
+ HEARTBEAT,
+ ATTRIBUTE;
+
+ public static ClockStrategy parseClockStrategy( String clockStrategy ) {
+ if( "none".equalsIgnoreCase( clockStrategy ) ) {
+ return NONE;
+ } else if( "pseudo".equalsIgnoreCase( clockStrategy ) ) {
+ return PSEUDO;
+ } else if( "system".equalsIgnoreCase( clockStrategy ) ) {
+ return SYSTEM;
+ } else if( "heartbeat".equalsIgnoreCase( clockStrategy ) ) {
+ return HEARTBEAT;
+ } else if( "attribute".equalsIgnoreCase( clockStrategy ) ) {
+ return ATTRIBUTE;
+ }
+ return null;
+ }
+ }
+
+ private String typeName;
+ private Role role;
+ private Format format;
+ private ClockStrategy clockStrategy;
+ private String timestampAttribute;
+ private String durationAttribute;
+ private Class<?> typeClass;
+ private FactTemplate typeTemplate;
+
+ public TypeDeclaration() {
+ }
+
+ public TypeDeclaration( String typeName ) {
+ this.typeName = typeName;
+ this.role = Role.FACT;
+ this.format = Format.POJO;
+ this.clockStrategy = ClockStrategy.NONE;
+ this.durationAttribute = null;
+ this.timestampAttribute = null;
+ this.typeClass = null;
+ this.typeTemplate = null;
+ }
+
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ this.typeName = (String)in.readObject();
+ this.role = (Role)in.readObject();
+ this.format = (Format)in.readObject();
+ this.clockStrategy = (ClockStrategy)in.readObject();
+ this.durationAttribute = (String)in.readObject();
+ this.timestampAttribute = (String)in.readObject();
+ this.typeClass = (Class<?>)in.readObject();
+ this.typeTemplate = (FactTemplate)in.readObject();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(typeName);
+ out.writeObject(role);
+ out.writeObject(format);
+ out.writeObject(clockStrategy);
+ out.writeObject(durationAttribute);
+ out.writeObject(timestampAttribute);
+ out.writeObject(typeClass);
+ out.writeObject(typeTemplate);
+ }
+
+ /**
+ * @return the type
+ */
+ public String getTypeName() {
+ return typeName;
+ }
+
+ /**
+ * @return the category
+ */
+ public Role getRole() {
+ return role;
+ }
+
+ /**
+ * @param role the category to set
+ */
+ public void setRole(Role role) {
+ this.role = role;
+ }
+
+ /**
+ * @return the format
+ */
+ public Format getFormat() {
+ return format;
+ }
+
+ /**
+ * @param format the format to set
+ */
+ public void setFormat(Format format) {
+ this.format = format;
+ }
+
+ /**
+ * @return the clockStrategy
+ */
+ public ClockStrategy getClockStrategy() {
+ return clockStrategy;
+ }
+
+ /**
+ * @param clockStrategy the clockStrategy to set
+ */
+ public void setClockStrategy(ClockStrategy clockStrategy) {
+ this.clockStrategy = clockStrategy;
+ }
+
+ /**
+ * @return the timestampAttribute
+ */
+ public String getTimestampAttribute() {
+ return timestampAttribute;
+ }
+
+ /**
+ * @param timestampAttribute the timestampAttribute to set
+ */
+ public void setTimestampAttribute(String timestampAttribute) {
+ this.timestampAttribute = timestampAttribute;
+ }
+
+ /**
+ * @return the durationAttribute
+ */
+ public String getDurationAttribute() {
+ return durationAttribute;
+ }
+
+ /**
+ * @param durationAttribute the durationAttribute to set
+ */
+ public void setDurationAttribute(String durationAttribute) {
+ this.durationAttribute = durationAttribute;
+ }
+
+ /**
+ * @return the typeClass
+ */
+ public Class< ? > getTypeClass() {
+ return typeClass;
+ }
+
+ /**
+ * @param typeClass the typeClass to set
+ */
+ public void setTypeClass(Class< ? > typeClass) {
+ this.typeClass = typeClass;
+ }
+
+ /**
+ * @return the typeTemplate
+ */
+ public FactTemplate getTypeTemplate() {
+ return typeTemplate;
+ }
+
+ /**
+ * @param typeTemplate the typeTemplate to set
+ */
+ public void setTypeTemplate(FactTemplate typeTemplate) {
+ this.typeTemplate = typeTemplate;
+ }
+
+ /**
+ * Returns true if the given parameter matches this type declaration
+ *
+ * @param clazz
+ * @return
+ */
+ public boolean matches( Object clazz ) {
+ boolean matches = false;
+ if( clazz instanceof FactTemplate ) {
+ matches = this.typeTemplate.equals( clazz );
+ } else {
+ matches = this.typeClass.isAssignableFrom( (Class<?>) clazz );
+ }
+ return matches;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ } else if (obj instanceof TypeDeclaration) {
+ TypeDeclaration that = (TypeDeclaration)obj;
+ return isObjectEqual(typeName, that.typeName) &&
+ role == that.role &&
+ format == that.format &&
+ clockStrategy == that.clockStrategy &&
+ isObjectEqual(timestampAttribute, that.timestampAttribute) &&
+ isObjectEqual(durationAttribute, that.durationAttribute) &&
+ typeClass == that.typeClass &&
+ isObjectEqual(typeTemplate, that.typeTemplate);
+ }
+ return false;
+ }
+
+
+ private static boolean isObjectEqual(Object a, Object b) {
+ return a == b || a != null && a.equals(b);
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FactHandleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FactHandleFactory.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FactHandleFactory.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,12 +16,12 @@
* limitations under the License.
*/
+import java.io.Serializable;
+
import org.drools.FactHandle;
import org.drools.WorkingMemory;
import org.drools.common.InternalFactHandle;
-import java.io.Serializable;
-
/**
* Factory Interface to return new <code>FactHandle</code>s
*
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FieldValue.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FieldValue.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/FieldValue.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -2,13 +2,13 @@
/*
* 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.
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,14 +16,14 @@
* limitations under the License.
*/
+import java.io.Serializable;
+
import org.drools.FactException;
import org.drools.FactHandle;
import org.drools.WorkingMemory;
import org.drools.rule.Declaration;
import org.drools.rule.Rule;
-import java.io.Externalizable;
-
/**
* KnowledgeHelper implementation types are injected into consequenses
* instrumented at compile time and instances passed at runtime. It provides
@@ -39,7 +39,7 @@
*/
public interface KnowledgeHelper
extends
- Externalizable {
+ Serializable {
public void setActivation(final Activation agendaItem);
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,158 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-package org.drools.util;
-
-import java.lang.reflect.Array;
-import java.util.NoSuchElementException;
-
-/**
- * Implements an {@link java.util.Iterator Iterator} over any array.
- * <p>
- * The array can be either an array of object or of primitives. If you know
- * that you have an object array, the
- * {@link org.apache.commons.collections.iterators.ObjectArrayIterator ObjectArrayIterator}
- * class is a better choice, as it will perform better.
- * <p>
- * The iterator implements a {@link #reset} method, allowing the reset of
- * the iterator back to the start if required.
- *
- * @since Commons Collections 1.0
- * @version $Revision$ $Date$
- *
- * @author James Strachan
- * @author Mauricio S. Moura
- * @author Michael A. Smith
- * @author Neil O'Toole
- * @author Stephen Colebourne
- */
-public class ArrayIterator implements java.util.Iterator {
-
- /** The array to iterate over */
- protected Object array;
- /** The end index to loop to */
- protected int endIndex = 0;
- /** The current iterator index */
- protected int index = 0;
-
-
- /**
- * Constructs an ArrayIterator that will iterate over the values in the
- * specified array.
- *
- * @param array the array to iterate over.
- * @throws IllegalArgumentException if <code>array</code> is not an array.
- * @throws NullPointerException if <code>array</code> is <code>null</code>
- */
- public ArrayIterator(final Object array) {
- setArray(array);
- }
-
- /**
- * Checks whether the index is valid or not.
- *
- * @param bound the index to check
- * @param type the index type (for error messages)
- * @throws IndexOutOfBoundsException if the index is invalid
- */
- protected void checkBound(final int bound, final String type ) {
- if (bound > this.endIndex) {
- throw new ArrayIndexOutOfBoundsException(
- "Attempt to make an ArrayIterator that " + type +
- "s beyond the end of the array. "
- );
- }
- if (bound < 0) {
- throw new ArrayIndexOutOfBoundsException(
- "Attempt to make an ArrayIterator that " + type +
- "s before the start of the array. "
- );
- }
- }
-
- // Iterator interface
- //-----------------------------------------------------------------------
- /**
- * Returns true if there are more elements to return from the array.
- *
- * @return true if there is a next element to return
- */
- public boolean hasNext() {
- return (index < endIndex);
- }
-
- /**
- * Returns the next element in the array.
- *
- * @return the next element in the array
- * @throws NoSuchElementException if all the elements in the array
- * have already been returned
- */
- public Object next() {
- if (hasNext() == false) {
- throw new NoSuchElementException();
- }
- return Array.get(array, index++);
- }
-
- /**
- * Throws {@link UnsupportedOperationException}.
- *
- * @throws UnsupportedOperationException always
- */
- public void remove() {
- throw new UnsupportedOperationException("remove() method is not supported");
- }
-
- // Properties
- //-----------------------------------------------------------------------
- /**
- * Gets the array that this iterator is iterating over.
- *
- * @return the array this iterator iterates over, or <code>null</code> if
- * the no-arg constructor was used and {@link #setArray(Object)} has never
- * been called with a valid array.
- */
- public Object getArray() {
- return array;
- }
-
- /**
- * Sets the array that the ArrayIterator should iterate over.
- * <p>
- * If an array has previously been set (using the single-arg constructor
- * or this method) then that array is discarded in favour of this one.
- * Iteration is restarted at the start of the new array.
- * Although this can be used to reset iteration, the {@link #reset()} method
- * is a more effective choice.
- *
- * @param array the array that the iterator should iterate over.
- * @throws IllegalArgumentException if <code>array</code> is not an array.
- * @throws NullPointerException if <code>array</code> is <code>null</code>
- */
- private void setArray(final Object array) {
- // Array.getLength throws IllegalArgumentException if the object is not
- // an array or NullPointerException if the object is null. This call
- // is made before saving the array and resetting the index so that the
- // array iterator remains in a consistent state if the argument is not
- // an array or is null.
- this.endIndex = Array.getLength(array);
- this.array = array;
- this.index = 0;
- }
-
-}
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/main/java/org/drools/util/ArrayIterator.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/ArrayIterator.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,158 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+package org.drools.util;
+
+import java.lang.reflect.Array;
+import java.util.NoSuchElementException;
+
+/**
+ * Implements an {@link java.util.Iterator Iterator} over any array.
+ * <p>
+ * The array can be either an array of object or of primitives. If you know
+ * that you have an object array, the
+ * {@link org.apache.commons.collections.iterators.ObjectArrayIterator ObjectArrayIterator}
+ * class is a better choice, as it will perform better.
+ * <p>
+ * The iterator implements a {@link #reset} method, allowing the reset of
+ * the iterator back to the start if required.
+ *
+ * @since Commons Collections 1.0
+ * @version $Revision$ $Date$
+ *
+ * @author James Strachan
+ * @author Mauricio S. Moura
+ * @author Michael A. Smith
+ * @author Neil O'Toole
+ * @author Stephen Colebourne
+ */
+public class ArrayIterator implements java.util.Iterator {
+
+ /** The array to iterate over */
+ protected Object array;
+ /** The end index to loop to */
+ protected int endIndex = 0;
+ /** The current iterator index */
+ protected int index = 0;
+
+
+ /**
+ * Constructs an ArrayIterator that will iterate over the values in the
+ * specified array.
+ *
+ * @param array the array to iterate over.
+ * @throws IllegalArgumentException if <code>array</code> is not an array.
+ * @throws NullPointerException if <code>array</code> is <code>null</code>
+ */
+ public ArrayIterator(final Object array) {
+ setArray(array);
+ }
+
+ /**
+ * Checks whether the index is valid or not.
+ *
+ * @param bound the index to check
+ * @param type the index type (for error messages)
+ * @throws IndexOutOfBoundsException if the index is invalid
+ */
+ protected void checkBound(final int bound, final String type ) {
+ if (bound > this.endIndex) {
+ throw new ArrayIndexOutOfBoundsException(
+ "Attempt to make an ArrayIterator that " + type +
+ "s beyond the end of the array. "
+ );
+ }
+ if (bound < 0) {
+ throw new ArrayIndexOutOfBoundsException(
+ "Attempt to make an ArrayIterator that " + type +
+ "s before the start of the array. "
+ );
+ }
+ }
+
+ // Iterator interface
+ //-----------------------------------------------------------------------
+ /**
+ * Returns true if there are more elements to return from the array.
+ *
+ * @return true if there is a next element to return
+ */
+ public boolean hasNext() {
+ return (index < endIndex);
+ }
+
+ /**
+ * Returns the next element in the array.
+ *
+ * @return the next element in the array
+ * @throws NoSuchElementException if all the elements in the array
+ * have already been returned
+ */
+ public Object next() {
+ if (hasNext() == false) {
+ throw new NoSuchElementException();
+ }
+ return Array.get(array, index++);
+ }
+
+ /**
+ * Throws {@link UnsupportedOperationException}.
+ *
+ * @throws UnsupportedOperationException always
+ */
+ public void remove() {
+ throw new UnsupportedOperationException("remove() method is not supported");
+ }
+
+ // Properties
+ //-----------------------------------------------------------------------
+ /**
+ * Gets the array that this iterator is iterating over.
+ *
+ * @return the array this iterator iterates over, or <code>null</code> if
+ * the no-arg constructor was used and {@link #setArray(Object)} has never
+ * been called with a valid array.
+ */
+ public Object getArray() {
+ return array;
+ }
+
+ /**
+ * Sets the array that the ArrayIterator should iterate over.
+ * <p>
+ * If an array has previously been set (using the single-arg constructor
+ * or this method) then that array is discarded in favour of this one.
+ * Iteration is restarted at the start of the new array.
+ * Although this can be used to reset iteration, the {@link #reset()} method
+ * is a more effective choice.
+ *
+ * @param array the array that the iterator should iterate over.
+ * @throws IllegalArgumentException if <code>array</code> is not an array.
+ * @throws NullPointerException if <code>array</code> is <code>null</code>
+ */
+ private void setArray(final Object array) {
+ // Array.getLength throws IllegalArgumentException if the object is not
+ // an array or NullPointerException if the object is null. This call
+ // is made before saving the array and resetting the index so that the
+ // array iterator remains in a consistent state if the argument is not
+ // an array or is null.
+ this.endIndex = Array.getLength(array);
+ this.array = array;
+ this.index = 0;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/FileScannerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/FileScannerTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/agent/FileScannerTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,15 +1,20 @@
package org.drools.agent;
-import junit.framework.TestCase;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.rule.Package;
-
import java.io.File;
+import java.io.FileOutputStream;
+import java.io.ObjectOutputStream;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.rule.Package;
+
+import junit.framework.TestCase;
+
public class FileScannerTest extends TestCase {
public void testHasChanged() {
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 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -106,7 +106,6 @@
{Boolean.FALSE, "!=", "xyz", Boolean.FALSE},
{Boolean.FALSE, "!=", "true", Boolean.TRUE},
{Boolean.FALSE, "!=", "false", Boolean.FALSE}
-
};
runEvaluatorTest( data,
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -65,7 +65,7 @@
};
//workingMemory.addEventListener(listener );
- final InputStream is = getClass().getResourceAsStream( "/manners32.dat" );
+ final InputStream is = getClass().getResourceAsStream( "/manners128.dat" );
final List list = getInputObjects( is );
for ( final Iterator it = list.iterator(); it.hasNext(); ) {
final Object object = it.next();
Copied: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/test/java/org/drools/integrationtests)
Deleted: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java
===================================================================
--- labs/jbossrules/branches/fixing_bad_merge/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -1,29 +0,0 @@
-package org.drools.integrationtests;
-
-import org.drools.common.DroolsObjectOutputStream;
-import org.drools.common.DroolsObjectInputStream;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ByteArrayInputStream;
-
-/**
- * Marshalling helper class to perform serialize/de-serialize a given object
- */
-public class SerializationHelper {
- public static <T> T serializeObject(T obj) throws IOException, ClassNotFoundException {
- return (T)serializeIn(serializeOut(obj));
- }
-
- public static byte[] serializeOut(Object obj) throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- new DroolsObjectOutputStream(out).writeObject(obj);
- out.close();
- return out.toByteArray();
- }
-
- public static Object serializeIn(byte[] bytes)
- throws IOException, ClassNotFoundException {
- return new DroolsObjectInputStream(new ByteArrayInputStream(bytes)).readObject();
- }
-}
Copied: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/integrationtests/SerializationHelper.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,29 @@
+package org.drools.integrationtests;
+
+import org.drools.common.DroolsObjectOutputStream;
+import org.drools.common.DroolsObjectInputStream;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+
+/**
+ * Marshalling helper class to perform serialize/de-serialize a given object
+ */
+public class SerializationHelper {
+ public static <T> T serializeObject(T obj) throws IOException, ClassNotFoundException {
+ return (T)serializeIn(serializeOut(obj));
+ }
+
+ public static byte[] serializeOut(Object obj) throws IOException {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ new DroolsObjectOutputStream(out).writeObject(obj);
+ out.close();
+ return out.toByteArray();
+ }
+
+ public static Object serializeIn(byte[] bytes)
+ throws IOException, ClassNotFoundException {
+ return new DroolsObjectInputStream(new ByteArrayInputStream(bytes)).readObject();
+ }
+}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -81,7 +81,7 @@
@Override
public void networkUpdated() {
// TODO Auto-generated method stub
-
+
}
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,11 @@
* limitations under the License.
*/
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
import org.drools.FactException;
import org.drools.RuleBaseConfiguration;
import org.drools.common.BaseNode;
@@ -23,11 +28,6 @@
import org.drools.common.NodeMemory;
import org.drools.spi.PropagationContext;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-
public class MockTupleSink extends TupleSource
implements
TupleSinkNode,
@@ -162,7 +162,7 @@
@Override
public void networkUpdated() {
// TODO Auto-generated method stub
-
+
}
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -67,7 +67,7 @@
@Override
public void networkUpdated() {
// TODO Auto-generated method stub
-
+
}
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -16,6 +16,14 @@
* limitations under the License.
*/
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
import org.drools.Cheese;
import org.drools.DroolsTestCase;
import org.drools.FactException;
@@ -32,13 +40,6 @@
import org.drools.rule.EntryPoint;
import org.drools.spi.PropagationContext;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
/**
* @author mproctor
*
@@ -140,8 +141,8 @@
PropagationContext.ASSERTION,
null,
null ),
- workingMemory );
-
+ workingMemory );
+
ClassObjectTypeConf conf = ( ClassObjectTypeConf ) workingMemory.getObjectTypeConfigurationRegistry().getObjectTypeConf( this.entryPoint.getEntryPoint(), ArrayList.class );
assertLength( 3,
conf.getObjectTypeNodes() );
Copied: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/EnumSerialiationTest.java (from rev 19125, labs/jbossrules/branches/fixing_bad_merge/drools-core/src/test/java/org/drools/rule/EnumSerialiationTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/EnumSerialiationTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/EnumSerialiationTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -0,0 +1,20 @@
+package org.drools.rule;
+
+import junit.framework.TestCase;
+import org.drools.integrationtests.SerializationHelper;
+
+/**
+ * Created by IntelliJ IDEA. User: Ming Jin Date: Mar 19, 2008 Time: 11:11:45 AM To change this template use File |
+ * Settings | File Templates.
+ */
+public class EnumSerialiationTest extends TestCase {
+ private static final String TEST_NAME = "test name";
+
+ public void testTypeDeclaration() throws Exception {
+ TypeDeclaration typeDec1 = new TypeDeclaration(TEST_NAME);
+
+ TypeDeclaration typeDec2 = SerializationHelper.serializeObject(typeDec1);
+
+ assertEquals(typeDec1, typeDec2);
+ }
+}
Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -446,7 +446,7 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
- };
+ };
}
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImplementation.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImplementation.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -17,7 +17,29 @@
-import com.google.gwt.user.client.rpc.SerializableException;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.jar.JarEntry;
+import java.util.jar.JarInputStream;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.jcr.ItemExistsException;
+import javax.jcr.RepositoryException;
+
import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
import org.drools.RuleBase;
@@ -57,8 +79,8 @@
import org.drools.brms.server.util.TableDisplayHandler;
import org.drools.common.AbstractRuleBase;
import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.InternalWorkingMemory;
import org.drools.common.DroolsObjectOutputStream;
-import org.drools.common.InternalWorkingMemory;
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilderConfiguration;
@@ -67,8 +89,8 @@
import org.drools.repository.AssetHistoryIterator;
import org.drools.repository.AssetItem;
import org.drools.repository.AssetItemIterator;
+import org.drools.repository.CategoryItem;
import org.drools.repository.AssetPageList;
-import org.drools.repository.CategoryItem;
import org.drools.repository.PackageItem;
import org.drools.repository.PackageIterator;
import org.drools.repository.RulesRepository;
@@ -85,27 +107,7 @@
import org.jboss.seam.annotations.remoting.WebRemote;
import org.jboss.seam.annotations.security.Restrict;
-import javax.jcr.ItemExistsException;
-import javax.jcr.RepositoryException;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutput;
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import com.google.gwt.user.client.rpc.SerializableException;
/**
* This is the implementation of the repository service to drive the GWT based front end.
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2008-03-19 17:19:53 UTC (rev 19125)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2008-03-19 18:11:50 UTC (rev 19126)
@@ -19,61 +19,32 @@
import com.google.gwt.user.client.rpc.IsSerializable;
import com.google.gwt.user.client.rpc.SerializableException;
import junit.framework.TestCase;
+
+import org.apache.commons.io.IOUtils;
import org.drools.Person;
import org.drools.RuleBase;
import org.drools.StatelessSession;
import org.drools.brms.client.common.AssetFormats;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.drools.brms.client.modeldriven.testing.ExecutionTrace;
-import org.drools.brms.client.modeldriven.testing.FactData;
-import org.drools.brms.client.modeldriven.testing.FieldData;
-import org.drools.brms.client.modeldriven.testing.Scenario;
-import org.drools.brms.client.modeldriven.testing.VerifyFact;
-import org.drools.brms.client.modeldriven.testing.VerifyField;
-import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
-import org.drools.brms.client.rpc.AnalysisReport;
-import org.drools.brms.client.rpc.BuilderResult;
-import org.drools.brms.client.rpc.BulkTestRunResult;
-import org.drools.brms.client.rpc.DetailedSerializableException;
-import org.drools.brms.client.rpc.PackageConfigData;
-import org.drools.brms.client.rpc.RepositoryService;
-import org.drools.brms.client.rpc.RuleAsset;
-import org.drools.brms.client.rpc.RuleContentText;
-import org.drools.brms.client.rpc.ScenarioResultSummary;
-import org.drools.brms.client.rpc.ScenarioRunResult;
-import org.drools.brms.client.rpc.SnapshotInfo;
-import org.drools.brms.client.rpc.TableConfig;
-import org.drools.brms.client.rpc.TableDataResult;
-import org.drools.brms.client.rpc.TableDataRow;
-import org.drools.brms.client.rpc.ValidatedResponse;
+import org.drools.brms.client.modeldriven.brl.*;
+import org.drools.brms.client.modeldriven.testing.*;
+import org.drools.brms.client.rpc.*;
import org.drools.brms.server.util.BRXMLPersistence;
import org.drools.brms.server.util.IO;
import org.drools.brms.server.util.ScenarioXMLPersistence;
import org.drools.brms.server.util.TableDisplayHandler;
import org.drools.brms.server.util.TestEnvironmentSessionHelper;
import org.drools.common.DroolsObjectInputStream;
-import org.drools.repository.AssetItem;
-import org.drools.repository.CategoryItem;
-import org.drools.repository.PackageItem;
-import org.drools.repository.RulesRepository;
-import org.drools.repository.RulesRepositoryException;
-import org.drools.repository.StateItem;
+import org.drools.repository.*;
import org.drools.rule.Package;
import org.drools.util.BinaryRuleBaseLoader;
import java.io.ByteArrayInputStream;
+import java.io.InputStreamReader;
+import java.io.ObjectInputStream;
+import java.io.StringReader;
import java.io.ObjectInput;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
public class ServiceImplementationTest extends TestCase {
More information about the jboss-svn-commits
mailing list