[jboss-svn-commits] JBL Code SVN: r19521 - in labs/jbossrules/trunk/drools-analytics/src: main/java/org/drools/verifier and 29 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Apr 11 08:06:12 EDT 2008
Author: Rikkola
Date: 2008-04-11 08:06:11 -0400 (Fri, 11 Apr 2008)
New Revision: 19521
Added:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Analyzer.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/FindMissingNumber.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PackageDescrFlattener.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PatternSolver.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleLoader.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleSolver.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solver.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solvers.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Incompatibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Opposites.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incompatibility/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/opposites/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/opposites/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/report/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyticsTestStandalone.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyzerTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/ConsequenceTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/FindMissingNumberTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/PatternSolverTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckCleanTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDatesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SolversTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/TestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/missingEquality/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/optimisation/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/redundancy/
Removed:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/report/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports/
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/missingEquality/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/optimisation/
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/redundancy/
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence/Rules.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Consequence.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Notes.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Possibilities.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Rules.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Warnings.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Possibilities.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/PatternsTest.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/RestrictionsTest.drl
Log:
JBRULES-1555: Changing the analytics name to verifier
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Analyzer.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Analyzer.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Analyzer.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Analyzer.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,132 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.Package;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.ReportModeller;
+import org.drools.verifier.report.html.ComponentsReportModeller;
+
+/**
+ * This is the main user class for verifier.
+ * This will use rules to validate rules, caching the "knowledge base" of verifier rules.
+ *
+ * @author Toni Rikkola
+ */
+public class Analyzer {
+
+ static RuleBase verifierKnowledgeBase;
+
+
+ private AnalyticsResult result = AnalyticsResultFactory
+ .createAnalyticsResult();
+
+ public void addPackageDescr(PackageDescr descr) {
+ try {
+
+ PackageDescrFlattener ruleFlattener = new PackageDescrFlattener();
+
+ ruleFlattener.addPackageDescrToData(descr, result
+ .getAnalyticsData());
+
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+
+ /**
+ * As the analyzer uses rules itself, this will reload the knowledge base.
+ * @throws Exception
+ */
+ public synchronized void reloadAnalysisKnowledgeBase() throws Exception {
+ verifierKnowledgeBase = createRuleBase();
+ }
+
+ /**
+ * This will run the verifier.
+ */
+ public void fireAnalysis() {
+ try {
+
+ if (this.verifierKnowledgeBase == null) {
+ synchronized (this.getClass()) {
+ verifierKnowledgeBase = createRuleBase();
+ }
+ }
+
+ WorkingMemory workingMemory = verifierKnowledgeBase.newStatefulSession();
+
+ Collection<? extends Object> c = result.getAnalyticsData().getAll();
+
+ for (Object o : c) {
+ workingMemory.insert(o);
+ }
+
+ // Object that returns the results.
+ workingMemory.setGlobal("result", result);
+ workingMemory.fireAllRules();
+
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+ /**
+ * Returns the verifier results as plain text.
+ *
+ * @return Analysis results as plain text.
+ */
+ public String getResultAsPlainText() {
+ return ReportModeller.writePlainText(result);
+ }
+
+ /**
+ * Returns the verifier results as XML.
+ *
+ * @return Analysis results as XML
+ */
+ public String getResultAsXML() {
+ return ReportModeller.writeXML(result);
+ }
+
+ /**
+ * Returns the verifier results as HTML.
+ *
+ * @return Analysis results as HTML
+ */
+ public void writeComponentsHTML(String path) {
+ ComponentsReportModeller.writeHTML(path, result);
+ }
+
+ /**
+ * Returns the verifier results as <code>AnalysisResult</code> object.
+ *
+ * @return Analysis result
+ */
+ public AnalyticsResult getResult() {
+ return result;
+ }
+
+ private static RuleBase createRuleBase() throws Exception {
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+
+ Collection<Package> packages = RuleLoader.loadPackages();
+ for (Package pkg : packages) {
+ try {
+ ruleBase.addPackage(pkg);
+ } catch (Exception e) {
+ throw new Exception("Adding package " + pkg.getName()
+ + " caused an error.", e);
+ }
+ }
+
+ return ruleBase;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/FindMissingNumber.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/FindMissingNumber.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/FindMissingNumber.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/FindMissingNumber.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,160 @@
+package org.drools.verifier;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+
+public class FindMissingNumber {
+
+ public static final int MIN_NUMBER_OF_RESTRICTIONS = 4;
+
+ /**
+ * Test if the values in constraints are in pattern.
+ *
+ * @param restrictions
+ * @return false if can't find a pattern or constraints list is null or size
+ * of the list is under 3.
+ */
+ public static Number testForPattern(
+ Collection<LiteralRestriction> restrictions) {
+
+ if (restrictions == null
+ || restrictions.size() < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+
+ BigDecimal[] numbers = new BigDecimal[restrictions.size()];
+
+ int index = 0;
+ for (LiteralRestriction restriction : restrictions) {
+ if (restriction.getValueType() == Field.FieldType.DOUBLE) {
+ numbers[index++] = BigDecimal.valueOf(restriction
+ .getDoubleValue());
+ } else if (restriction.getValueType() == Field.FieldType.INT) {
+ numbers[index++] = BigDecimal
+ .valueOf(restriction.getIntValue());
+ }
+ }
+
+ Arrays.sort(numbers);
+
+ Number missingNumber = findSumPattern(numbers);
+ if (missingNumber != null) {
+ return missingNumber;
+ } else {
+ missingNumber = findMultiplicationPattern(numbers);
+ if (missingNumber != null) {
+ return missingNumber;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Looks for sum pattern, on each step x is added or removed. -x is the same
+ * as +(-x) so this works for both.
+ *
+ * @param numbers
+ * @return true if pattern is found.
+ */
+ protected static Number findSumPattern(BigDecimal[] numbers) {
+ if (numbers == null || numbers.length < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+ BigDecimal gap = null;
+ Number missingNumber = null;
+
+ BigDecimal a = numbers[0];
+ BigDecimal b = numbers[1];
+ BigDecimal c = numbers[2];
+ BigDecimal d = numbers[3];
+
+ // Uses first four numbers to check if there is a pattern and to
+ // calculate the gap between them. One missing value is allowed.
+ if (b.subtract(a).equals(c.subtract(b))) {
+ gap = b.subtract(a);
+ } else if (c.subtract(b).equals(d.subtract(c))) {
+ gap = c.subtract(b);
+ } else if (b.subtract(a).equals(d.subtract(c))) {
+ gap = b.subtract(a);
+ } else {
+ // No pattern found.
+ return null;
+ }
+
+ for (int i = 0; i < (numbers.length - 1); i++) {
+ BigDecimal first = numbers[i];
+ BigDecimal second = numbers[i + 1];
+
+ if (missingNumber == null && !second.subtract(first).equals(gap)) {
+ missingNumber = second.subtract(gap);
+ } else if (!second.subtract(first).equals(gap)
+ && missingNumber != null) {
+ // Happends if there is no pattern found, or more than 1
+ // missing number.
+ return null;
+ }
+ }
+
+ return missingNumber;
+ }
+
+ /**
+ * Looks for multiplication pattern, on each step x multiplied or divided.
+ * *x is the same as *(1/x) so this works for both.
+ *
+ * @param numbers
+ * @return true if pattern is found.
+ */
+ protected static Number findMultiplicationPattern(BigDecimal[] numbers) {
+ if (numbers == null || numbers.length < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+ try {
+
+ BigDecimal gap = null;
+ Number missingNumber = null;
+
+ BigDecimal a = numbers[0];
+ BigDecimal b = numbers[1];
+ BigDecimal c = numbers[2];
+ BigDecimal d = numbers[3];
+
+ // Uses first four numbers to check if there is a pattern and to
+ // calculate the gap between them. One missing value is allowed.
+ if (b.divide(a).equals(c.divide(b))) {
+ gap = b.divide(a);
+ } else if (c.divide(b).equals(d.divide(c))) {
+ gap = c.divide(b);
+ } else if (b.divide(a).equals(d.divide(c))) {
+ gap = b.divide(a);
+ } else {
+ // No pattern found.
+ return null;
+ }
+
+ BigDecimal first = null;
+ BigDecimal second = null;
+ for (int i = 0; i < (numbers.length - 1); i++) {
+ first = numbers[i];
+ second = numbers[i + 1];
+
+ if (missingNumber == null && !second.divide(first).equals(gap)) {
+ missingNumber = first.multiply(gap);
+ } else if (!second.divide(first).equals(gap)
+ && missingNumber != null) {
+ // Happends if there is no pattern found, or more than 1
+ // missing number.
+ return null;
+ }
+ }
+ return missingNumber;
+ } catch (Exception e) {
+ return null;
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PackageDescrFlattener.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PackageDescrFlattener.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PackageDescrFlattener.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,736 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.lang.descr.AccessorDescr;
+import org.drools.lang.descr.AccumulateDescr;
+import org.drools.lang.descr.AndDescr;
+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.EvalDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.FieldAccessDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.ForallDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.lang.descr.FunctionCallDescr;
+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.RestrictionConnectiveDescr;
+import org.drools.lang.descr.ReturnValueRestrictionDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
+import org.drools.verifier.components.AnalyticsAccessorDescr;
+import org.drools.verifier.components.AnalyticsAccumulateDescr;
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsCollectDescr;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.AnalyticsComponentType;
+import org.drools.verifier.components.AnalyticsEvalDescr;
+import org.drools.verifier.components.AnalyticsFieldAccessDescr;
+import org.drools.verifier.components.AnalyticsFromDescr;
+import org.drools.verifier.components.AnalyticsFunctionCallDescr;
+import org.drools.verifier.components.AnalyticsMethodAccessDescr;
+import org.drools.verifier.components.AnalyticsPredicateDescr;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Consequence;
+import org.drools.verifier.components.Constraint;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.QualifiedIdentifierRestriction;
+import org.drools.verifier.components.ReturnValueRestriction;
+import org.drools.verifier.components.RulePackage;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.components.TextConsequence;
+import org.drools.verifier.components.Variable;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.dao.AnalyticsData;
+
+/**
+ * @author Toni Rikkola
+ *
+ */
+class PackageDescrFlattener {
+
+ private Solvers solvers = new Solvers();
+
+ private AnalyticsData data;
+
+ private RulePackage currentPackage = null;
+ private AnalyticsRule currentRule = null;
+ private Pattern currentPattern = null;
+ private Constraint currentConstraint = null;
+ private AnalyticsClass currentClass = null;
+ private Field currentField = null;
+
+ /**
+ * Adds packageDescr to given AnalyticsData object
+ *
+ * @param packageDescr
+ * PackageDescr that will be flattened.
+ * @param data
+ * AnalyticsData where the flattened objects are added.
+ */
+ public void addPackageDescrToData(PackageDescr packageDescr,
+ AnalyticsData data) {
+
+ this.data = data;
+
+ flatten(packageDescr);
+
+ formPossibilities();
+ }
+
+ private void flatten(Collection<?> descrs, AnalyticsComponent parent) {
+
+ int orderNumber = 0;
+
+ for (Object o : descrs) {
+ BaseDescr descr = (BaseDescr) o;
+ if (descr instanceof PackageDescr) {
+ flatten((PackageDescr) descr);
+ } else if (descr instanceof RuleDescr) {
+ flatten((RuleDescr) descr, parent);
+ } else if (descr instanceof PatternDescr) {
+ flatten((PatternDescr) descr, parent, orderNumber);
+ } else if (descr instanceof VariableRestrictionDescr) {
+ flatten((VariableRestrictionDescr) descr, parent, orderNumber);
+ } else if (descr instanceof FieldBindingDescr) {
+ flatten((FieldBindingDescr) descr, parent, orderNumber);
+ } else if (descr instanceof FieldConstraintDescr) {
+ flatten((FieldConstraintDescr) descr, parent, orderNumber);
+ } else if (descr instanceof RestrictionConnectiveDescr) {
+ flatten((RestrictionConnectiveDescr) descr, parent, orderNumber);
+ } else if (descr instanceof LiteralRestrictionDescr) {
+ flatten((LiteralRestrictionDescr) descr, parent, orderNumber);
+ } else if (descr instanceof ReturnValueRestrictionDescr) {
+ flatten((ReturnValueRestrictionDescr) descr, parent,
+ orderNumber);
+ } else if (descr instanceof QualifiedIdentifierRestrictionDescr) {
+ flatten((QualifiedIdentifierRestrictionDescr) descr, parent,
+ orderNumber);
+ } else if (descr instanceof FunctionCallDescr) {
+ flatten((FunctionCallDescr) descr, parent, orderNumber);
+ } else if (descr instanceof PredicateDescr) {
+ flatten((PredicateDescr) descr, parent, orderNumber);
+ } else if (descr instanceof AccessorDescr) {
+ flatten((AccessorDescr) descr, parent, orderNumber);
+ } else if (descr instanceof MethodAccessDescr) {
+ flatten((MethodAccessDescr) descr, parent, orderNumber);
+ } else if (descr instanceof FieldAccessDescr) {
+ flatten((FieldAccessDescr) descr, parent, orderNumber);
+ } else if (descr instanceof PatternSourceDescr) {
+ flatten((PatternSourceDescr) descr, parent);
+ } else if (descr instanceof ConditionalElementDescr) {
+ flatten((ConditionalElementDescr) descr, parent, orderNumber);
+ }
+
+ orderNumber++;
+ }
+ }
+
+ private AnalyticsComponent flatten(PatternSourceDescr descr,
+ AnalyticsComponent parent) {
+ if (descr instanceof AccumulateDescr) {
+ return flatten((AccumulateDescr) descr, parent);
+ } else if (descr instanceof CollectDescr) {
+ return flatten((CollectDescr) descr, parent);
+ } else if (descr instanceof FromDescr) {
+ return flatten((FromDescr) descr, parent);
+ }
+
+ return null;
+ }
+
+ private AnalyticsComponent flatten(DeclarativeInvokerDescr descr,
+ AnalyticsComponent parent) {
+ if (descr instanceof AccessorDescr) {
+ return flatten((AccessorDescr) descr, parent);
+ } else if (descr instanceof FieldAccessDescr) {
+ return flatten((FieldAccessDescr) descr, parent);
+ } else if (descr instanceof FunctionCallDescr) {
+ return flatten((FunctionCallDescr) descr, parent);
+ } else if (descr instanceof MethodAccessDescr) {
+ return flatten((MethodAccessDescr) descr, parent);
+ }
+
+ return null;
+ }
+
+ private void flatten(ConditionalElementDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ if (descr instanceof AndDescr) {
+ flatten((AndDescr) descr, parent, orderNumber);
+ } else if (descr instanceof CollectDescr) {
+ flatten((CollectDescr) descr, parent, orderNumber);
+ } else if (descr instanceof EvalDescr) {
+ flatten((EvalDescr) descr, parent, orderNumber);
+ } else if (descr instanceof ExistsDescr) {
+ flatten((ExistsDescr) descr, parent);
+ } else if (descr instanceof ForallDescr) {
+ flatten((ForallDescr) descr, parent);
+ } else if (descr instanceof FromDescr) {
+ flatten((FromDescr) descr, parent);
+ } else if (descr instanceof NotDescr) {
+ flatten((NotDescr) descr, parent);
+ } else if (descr instanceof OrDescr) {
+ flatten((OrDescr) descr, parent, orderNumber);
+ }
+ }
+
+ private void flatten(ForallDescr descr, AnalyticsComponent parent) {
+ solvers.startForall();
+ flatten(descr.getDescrs(), parent);
+ solvers.endForall();
+ }
+
+ private void flatten(ExistsDescr descr, AnalyticsComponent parent) {
+ solvers.startExists();
+ flatten(descr.getDescrs(), parent);
+ solvers.endExists();
+ }
+
+ private void flatten(NotDescr descr, AnalyticsComponent parent) {
+ solvers.startNot();
+ flatten(descr.getDescrs(), parent);
+ solvers.endNot();
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ * @return
+ */
+ private AnalyticsFunctionCallDescr flatten(FunctionCallDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ AnalyticsFunctionCallDescr functionCall = new AnalyticsFunctionCallDescr();
+ functionCall.setName(descr.getName());
+ functionCall.setArguments(descr.getArguments());
+ functionCall.setOrderNumber(orderNumber);
+ functionCall.setParent(parent);
+
+ return functionCall;
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ * @return
+ */
+ private AnalyticsPredicateDescr flatten(PredicateDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ AnalyticsPredicateDescr predicate = new AnalyticsPredicateDescr();
+ predicate.setRuleName(currentRule.getRuleName());
+ predicate.setRuleId(currentRule.getId());
+ predicate.setContent(descr.getContent().toString());
+ predicate.setClassMethodName(descr.getClassMethodName());
+ predicate.setOrderNumber(orderNumber);
+ predicate.setParent(parent);
+
+ data.add(predicate);
+
+ return predicate;
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ * @return
+ */
+ private AnalyticsEvalDescr flatten(EvalDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ AnalyticsEvalDescr eval = new AnalyticsEvalDescr();
+ eval.setRuleId(currentRule.getId());
+ eval.setRuleName(currentRule.getRuleName());
+ eval.setContent(descr.getContent().toString());
+ eval.setClassMethodName(descr.getClassMethodName());
+ eval.setOrderNumber(orderNumber);
+ eval.setParent(parent);
+
+ data.add(eval);
+
+ return eval;
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ * @return
+ */
+ private AnalyticsFromDescr flatten(FromDescr descr,
+ AnalyticsComponent parent) {
+ AnalyticsFromDescr from = new AnalyticsFromDescr();
+
+ AnalyticsComponent ds = flatten(descr.getDataSource(), from);
+ from.setDataSourceId(ds.getId());
+ from.setDataSourceType(ds.getComponentType());
+ from.setParent(parent);
+
+ return from;
+ }
+
+ private AnalyticsAccumulateDescr flatten(AccumulateDescr descr,
+ AnalyticsComponent parent) {
+ AnalyticsAccumulateDescr accumulate = new AnalyticsAccumulateDescr();
+
+ accumulate.setInputPatternId(flatten(descr.getInputPattern(),
+ accumulate, 0));
+ accumulate.setInitCode(descr.getInitCode());
+ accumulate.setActionCode(descr.getActionCode());
+ accumulate.setReverseCode(descr.getReverseCode());
+ accumulate.setResultCode(descr.getResultCode());
+
+ // XXX: Array seems to be always null.
+ // accumulate.setDeclarations(descr.getDeclarations());
+
+ accumulate.setClassName(descr.getClassName());
+ accumulate.setExternalFunction(descr.isExternalFunction());
+ accumulate.setFunctionIdentifier(descr.getFunctionIdentifier());
+ accumulate.setExpression(descr.getExpression());
+ accumulate.setParent(parent);
+
+ return accumulate;
+ }
+
+ private AnalyticsCollectDescr flatten(CollectDescr descr,
+ AnalyticsComponent parent) {
+ AnalyticsCollectDescr collect = new AnalyticsCollectDescr();
+ collect.setClassMethodName(descr.getClassMethodName());
+ collect
+ .setInsidePatternId(flatten(descr.getInputPattern(), collect, 0));
+ collect.setParent(parent);
+
+ return collect;
+ }
+
+ private AnalyticsAccessorDescr flatten(AccessorDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ AnalyticsAccessorDescr accessor = new AnalyticsAccessorDescr();
+ accessor.setOrderNumber(orderNumber);
+ accessor.setParent(parent);
+ // TODO: I wonder what this descr does.
+ return accessor;
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ */
+ private AnalyticsMethodAccessDescr flatten(MethodAccessDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ AnalyticsMethodAccessDescr accessor = new AnalyticsMethodAccessDescr();
+ accessor.setMethodName(descr.getMethodName());
+ accessor.setArguments(descr.getArguments());
+ accessor.setOrderNumber(orderNumber);
+ accessor.setParent(parent);
+
+ return accessor;
+ }
+
+ /**
+ * End leaf
+ *
+ * @param descr
+ */
+ private AnalyticsFieldAccessDescr flatten(FieldAccessDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ AnalyticsFieldAccessDescr accessor = new AnalyticsFieldAccessDescr();
+ accessor.setFieldName(descr.getFieldName());
+ accessor.setArgument(descr.getArgument());
+ accessor.setOrderNumber(orderNumber);
+ accessor.setParent(parent);
+
+ return accessor;
+ }
+
+ private void flatten(PackageDescr descr) {
+ RulePackage rulePackage = data.getRulePackageByName(descr.getName());
+
+ if (rulePackage == null) {
+ rulePackage = new RulePackage();
+
+ rulePackage.setName(descr.getName());
+ data.add(rulePackage);
+ }
+
+ currentPackage = rulePackage;
+
+ flatten(descr.getRules(), rulePackage);
+ }
+
+ private void flatten(RuleDescr descr, AnalyticsComponent parent) {
+
+ AnalyticsRule rule = new AnalyticsRule();
+ currentRule = rule;
+
+ rule.setRuleName(descr.getName());
+ rule.setRuleSalience(descr.getSalience());
+ rule.setConsequence(flattenConsequence(rule, descr.getConsequence()));
+ rule.setLineNumber(descr.getLine());
+ rule.setPackageId(currentPackage.getId());
+ rule.setParent(parent);
+
+ data.add(rule);
+
+ currentPackage.getRules().add(rule);
+
+ solvers.startRuleSolver(rule);
+ flatten(descr.getLhs(), rule, 0);
+ solvers.endRuleSolver();
+ }
+
+ /**
+ * Creates verifier object from rule consequence. Currently only supports
+ * text based consequences.
+ *
+ * @param o
+ * Consequence object.
+ * @return Analytics object that implements the Consequence interface.
+ */
+ private Consequence flattenConsequence(AnalyticsComponent parent, Object o) {
+
+ TextConsequence consequence = new TextConsequence();
+
+ String text = o.toString();
+
+ /*
+ * Strip all comments out of the code.
+ */
+ StringBuffer buffer = new StringBuffer(text);
+ int commentIndex = buffer.indexOf("//");
+
+ while (commentIndex != -1) {
+ buffer = buffer.delete(commentIndex, buffer.indexOf("\n",
+ commentIndex));
+ commentIndex = buffer.indexOf("//");
+ }
+
+ text = buffer.toString();
+
+ /*
+ * Strip all useless characters out of the code.
+ */
+ text = text.replaceAll("\n", "");
+ text = text.replaceAll("\r", "");
+ text = text.replaceAll("\t", "");
+ text = text.replaceAll(" ", "");
+
+ consequence.setText(text);
+ consequence.setRuleId(currentRule.getId());
+ consequence.setRuleName(currentRule.getRuleName());
+ consequence.setParent(parent);
+
+ data.add(consequence);
+
+ return consequence;
+ }
+
+ private void flatten(OrDescr descr, AnalyticsComponent parent,
+ int orderNumber) {
+ OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ operatorDescr.setOrderNumber(orderNumber);
+ operatorDescr.setParent(parent);
+
+ data.add(operatorDescr);
+
+ solvers.startOperator(operatorDescr);
+ flatten(descr.getDescrs(), operatorDescr);
+ solvers.endOperator();
+ }
+
+ private void flatten(AndDescr descr, AnalyticsComponent parent,
+ int orderNumber) {
+ OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ operatorDescr.setOrderNumber(orderNumber);
+ operatorDescr.setParent(parent);
+
+ data.add(operatorDescr);
+
+ solvers.startOperator(operatorDescr);
+ flatten(descr.getDescrs(), operatorDescr);
+ solvers.endOperator();
+ }
+
+ private int flatten(PatternDescr descr, AnalyticsComponent parent,
+ int orderNumber) {
+
+ AnalyticsClass clazz = data.getClassByPackageAndName(descr
+ .getObjectType());
+ if (clazz == null) {
+ clazz = new AnalyticsClass();
+ clazz.setName(descr.getObjectType());
+ data.add(clazz);
+ }
+ currentClass = clazz;
+
+ Pattern pattern = new Pattern();
+ pattern.setRuleId(currentRule.getId());
+ pattern.setRuleName(currentRule.getRuleName());
+ pattern.setClassId(clazz.getId());
+ pattern.setName(clazz.getName());
+ pattern.setPatternNot(solvers.getRuleSolver().isChildNot());
+ pattern.setPatternExists(solvers.getRuleSolver().isExists());
+ pattern.setPatternForall(solvers.getRuleSolver().isForall());
+ pattern.setOrderNumber(orderNumber);
+ pattern.setParent(parent);
+
+ data.add(pattern);
+ currentPattern = pattern;
+
+ if (descr.getIdentifier() != null) {
+ Variable variable = new Variable();
+ variable.setRuleId(currentRule.getId());
+ variable.setRuleName(currentRule.getRuleName());
+ variable.setName(descr.getIdentifier());
+
+ variable.setObjectType(AnalyticsComponentType.CLASS);
+ variable.setObjectId(clazz.getId());
+ variable.setObjectName(descr.getObjectType());
+
+ data.add(variable);
+ }
+
+ // flatten source.
+ if (descr.getSource() != null) {
+ AnalyticsComponent source = flatten(descr.getSource(), pattern);
+ pattern.setSourceId(source.getId());
+ pattern.setSourceType(source.getComponentType());
+ } else {
+ pattern.setSourceId(0);
+ pattern.setSourceType(AnalyticsComponentType.NOTHING);
+ }
+ solvers.startPatternSolver(pattern);
+ flatten(descr.getConstraint(), pattern, 0);
+ solvers.endPatternSolver();
+
+ return pattern.getId();
+ }
+
+ private void flatten(FieldConstraintDescr descr, AnalyticsComponent parent,
+ int orderNumber) {
+
+ Field field = data.getFieldByClassAndFieldName(currentClass.getName(),
+ descr.getFieldName());
+ if (field == null) {
+ field = createField(descr.getFieldName(), descr.getLine(),
+ currentClass.getId(), currentClass.getName());
+ data.add(field);
+ }
+ currentField = field;
+
+ Constraint constraint = new Constraint();
+
+ constraint.setRuleId(currentRule.getId());
+ constraint.setFieldId(currentField.getId());
+ constraint.setFieldName(currentField.getName());
+ constraint.setPatternId(currentPattern.getId());
+ constraint.setPatternIsNot(currentPattern.isPatternNot());
+ constraint.setFieldId(field.getId());
+ constraint.setOrderNumber(orderNumber);
+ constraint.setParent(parent);
+
+ data.add(constraint);
+
+ currentConstraint = constraint;
+
+ flatten(descr.getRestriction(), constraint, 0);
+ }
+
+ private void flatten(RestrictionConnectiveDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+ // TODO: check.
+ flatten(descr.getRestrictions(), parent);
+ }
+
+ /**
+ * End
+ *
+ * @param descr
+ */
+ private void flatten(FieldBindingDescr descr, AnalyticsComponent parent,
+ int orderNumber) {
+
+ Variable variable = new Variable();
+ variable.setRuleId(currentRule.getId());
+ variable.setRuleName(currentRule.getRuleName());
+ variable.setName(descr.getIdentifier());
+ variable.setOrderNumber(orderNumber);
+ variable.setParent(parent);
+
+ variable.setObjectType(AnalyticsComponentType.FIELD);
+
+ data.add(variable);
+ }
+
+ /**
+ * End
+ *
+ * Foo( bar == $bar )<br>
+ * $bar is a VariableRestrictionDescr
+ *
+ * @param descr
+ */
+ private void flatten(VariableRestrictionDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ Variable variable = data.getVariableByRuleAndVariableName(currentRule
+ .getRuleName(), descr.getIdentifier());
+ VariableRestriction restriction = new VariableRestriction();
+
+ restriction.setRuleId(currentRule.getId());
+ restriction.setRuleName(currentRule.getRuleName());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
+ restriction.setVariable(variable);
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
+
+ // Set field value, if it is unset.
+ currentField.setFieldType(Field.FieldType.VARIABLE);
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+ }
+
+ /**
+ * End
+ *
+ * @param descr
+ */
+ private void flatten(ReturnValueRestrictionDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ ReturnValueRestriction restriction = new ReturnValueRestriction();
+
+ restriction.setRuleId(currentRule.getId());
+ restriction.setRuleName(currentRule.getRuleName());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
+ restriction.setClassMethodName(descr.getClassMethodName());
+ restriction.setContent(descr.getContent());
+ restriction.setDeclarations(descr.getDeclarations());
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+
+ }
+
+ /**
+ * End
+ *
+ * @param descr
+ */
+ private void flatten(LiteralRestrictionDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ LiteralRestriction restriction = new LiteralRestriction();
+
+ restriction.setRuleId(currentRule.getId());
+ restriction.setRuleName(currentRule.getRuleName());
+ restriction.setRuleId(currentRule.getId());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
+ restriction.setValue(descr.getText());
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
+
+ // Set field value, if it is unset.
+ currentField.setFieldType(restriction.getValueType());
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+ }
+
+ /**
+ * End
+ *
+ * @param descr
+ */
+ private void flatten(QualifiedIdentifierRestrictionDescr descr,
+ AnalyticsComponent parent, int orderNumber) {
+
+ String text = descr.getText();
+ Variable variable = data.getVariableByRuleAndVariableName(currentRule
+ .getRuleName(), text.substring(0, text.indexOf(".")));
+
+ QualifiedIdentifierRestriction restriction = new QualifiedIdentifierRestriction();
+
+ restriction.setRuleId(currentRule.getId());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
+ restriction.setVariableId(variable.getId());
+ restriction.setVariableName(text.substring(0, text.indexOf(".")));
+ restriction.setVariablePath(text.substring(text.indexOf(".")));
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
+
+ // Set field value, if it is unset.
+ currentField.setFieldType(Field.FieldType.VARIABLE);
+
+ variable.setObjectType(AnalyticsComponentType.FIELD);
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+ }
+
+ private Field createField(String fieldName, int line, int classId,
+ String className) {
+ Field field = new Field();
+ field.setClassId(classId);
+ field.setClassName(className);
+ field.setName(fieldName);
+ field.setLineNumber(line);
+
+ currentClass.getFields().add(field);
+ return field;
+ }
+
+ private void formPossibilities() {
+
+ for (PatternPossibility possibility : solvers.getPatternPossibilities()) {
+ data.add(possibility);
+ }
+ for (RulePossibility possibility : solvers.getRulePossibilities()) {
+ data.add(possibility);
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PatternSolver.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PatternSolver.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PatternSolver.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/PatternSolver.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,23 @@
+package org.drools.verifier;
+
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+
+/**
+ * Takes a list of Constraints and makes possibilities from them.
+ *
+ * @author Toni Rikkola
+ */
+class PatternSolver extends Solver {
+
+ private Pattern pattern;
+
+ public PatternSolver(Pattern pattern) {
+ super(OperatorDescr.Type.OR);
+ this.pattern = pattern;
+ }
+
+ public Pattern getPattern() {
+ return pattern;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleLoader.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleLoader.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleLoader.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,78 @@
+package org.drools.verifier;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Properties;
+
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.rule.Package;
+
+class RuleLoader {
+
+ public static Collection<Package> loadPackages() {
+
+ String[] fileNames = new String[] {
+ // Equivalence
+ "equivalence/Rules.drl",
+ // Incoherence
+ "incoherence/Patterns.drl",
+ "incoherence/Restrictions.drl",
+ // Missing equality
+ "missingEquality/MissingEquality.drl",
+ // Optimization
+ "optimisation/RestrictionOrder.drl",
+ "optimisation/PatternOrder.drl",
+ // Range checks
+ "rangeChecks/Dates.drl", "rangeChecks/Doubles.drl",
+ "rangeChecks/Integers.drl",
+ "rangeChecks/Patterns.drl",
+ "rangeChecks/Variables.drl",
+ "rangeChecks/Clean.drl",
+ // Redundancy
+ "redundancy/Restrictions.drl", "redundancy/Notes.drl",
+ "redundancy/Consequence.drl", "redundancy/Patterns.drl",
+ "redundancy/Possibilities.drl", "redundancy/Rules.drl",
+ "redundancy/Warnings.drl", "reports/RangeCheckReports.drl",
+ // Missing consequence
+ "Consequence.drl", };
+
+ Collection<Package> packages = new ArrayList<Package>();
+
+ for (int i = 0; i < fileNames.length; i++) {
+ try {
+ InputStreamReader reader = new InputStreamReader(
+ RuleLoader.class.getResourceAsStream(fileNames[i]));
+ packages.add(loadPackage(reader));
+ reader.close();
+ } catch (DroolsParserException e) {
+ e.printStackTrace();
+ } catch (NullPointerException e) {
+ System.err.println("Error when opening file " + fileNames[i]
+ + ".");
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return packages;
+ }
+
+ private static Package loadPackage(InputStreamReader reader)
+ throws DroolsParserException, IOException {
+
+ Properties properties = new Properties();
+ properties.setProperty( "drools.dialect.java.compiler",
+ "JANINO" );
+
+ PackageBuilder builder = new PackageBuilder(new PackageBuilderConfiguration( properties ));
+
+ builder.addPackageFromDrl(reader);
+
+ return builder.getPackage();
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleSolver.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleSolver.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleSolver.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/RuleSolver.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,23 @@
+package org.drools.verifier;
+
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.OperatorDescr;
+
+/**
+ * Takes a list of Constraints and makes possibilities from them.
+ *
+ * @author Toni Rikkola
+ */
+class RuleSolver extends Solver {
+
+ private AnalyticsRule rule;
+
+ public RuleSolver(AnalyticsRule rule) {
+ super(OperatorDescr.Type.OR);
+ this.rule = (AnalyticsRule) rule;
+ }
+
+ public AnalyticsRule getRule() {
+ return rule;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solver.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solver.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solver.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solver.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,146 @@
+package org.drools.verifier;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.OperatorDescr;
+
+
+
+/**
+ * Takes a list of Constraints and makes possibilities from them.
+ *
+ * @author Toni Rikkola
+ */
+class Solver {
+
+ private List<Set<AnalyticsComponent>> possibilityLists = new ArrayList<Set<AnalyticsComponent>>();
+ private Solver subSolver = null;
+ private boolean isChildExists = false;
+ private boolean isChildForall = false;
+ private boolean isChildNot = false;
+
+ private OperatorDescr.Type type;
+
+ protected Solver(OperatorDescr.Type type) {
+ this.type = type;
+ }
+
+ public void add(AnalyticsComponent descr) {
+ if (subSolver != null) {
+ subSolver.add(descr);
+ } else if (descr instanceof OperatorDescr) {
+ OperatorDescr operatorDescr = (OperatorDescr) descr;
+ subSolver = new Solver(operatorDescr.getType());
+ } else {
+ if (type == OperatorDescr.Type.AND) {
+ if (possibilityLists.isEmpty()) {
+ possibilityLists.add(new HashSet<AnalyticsComponent>());
+ }
+ for (Set<AnalyticsComponent> set : possibilityLists) {
+ set.add(descr);
+ }
+ } else if (type == OperatorDescr.Type.OR) {
+ Set<AnalyticsComponent> set = new HashSet<AnalyticsComponent>();
+ set.add(descr);
+ possibilityLists.add(set);
+ }
+ }
+ }
+
+ /**
+ * Ends subSolvers data collection.
+ *
+ */
+ protected void end() {
+ if (subSolver != null && subSolver.subSolver == null) {
+ if (type == OperatorDescr.Type.AND) {
+ if (possibilityLists.isEmpty()) {
+ possibilityLists.add(new HashSet<AnalyticsComponent>());
+ }
+
+ List<Set<AnalyticsComponent>> newPossibilities = new ArrayList<Set<AnalyticsComponent>>();
+
+ List<Set<AnalyticsComponent>> sets = subSolver
+ .getPossibilityLists();
+ for (Set<AnalyticsComponent> possibilityList : possibilityLists) {
+
+ for (Set<AnalyticsComponent> set : sets) {
+ Set<AnalyticsComponent> newSet = new HashSet<AnalyticsComponent>();
+ newSet.addAll(possibilityList);
+ newSet.addAll(set);
+ newPossibilities.add(newSet);
+ }
+ }
+ possibilityLists = newPossibilities;
+
+ } else if (type == OperatorDescr.Type.OR) {
+
+ possibilityLists.addAll(subSolver.getPossibilityLists());
+
+ }
+
+ subSolver = null;
+
+ } else if (subSolver != null && subSolver.subSolver != null) {
+
+ subSolver.end();
+ }
+
+ }
+
+ public void setChildForall(boolean b) {
+ if (subSolver != null) {
+ subSolver.setChildForall(b);
+ } else {
+ isChildForall = b;
+ }
+ }
+
+ public void setChildExists(boolean b) {
+ if (subSolver != null) {
+ subSolver.setChildExists(b);
+ } else {
+ isChildExists = b;
+ }
+ }
+
+ public void setChildNot(boolean b) {
+ if (subSolver != null) {
+ subSolver.setChildNot(b);
+ } else {
+ isChildNot = b;
+ }
+ }
+
+ public boolean isForall() {
+ if (subSolver != null) {
+ return subSolver.isForall();
+ } else {
+ return isChildForall;
+ }
+ }
+
+ public boolean isExists() {
+ if (subSolver != null) {
+ return subSolver.isExists();
+ } else {
+ return isChildExists;
+ }
+ }
+
+ public boolean isChildNot() {
+ if (subSolver != null) {
+ return subSolver.isChildNot();
+ } else {
+ return isChildNot;
+ }
+ }
+
+ public List<Set<AnalyticsComponent>> getPossibilityLists() {
+ return possibilityLists;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solvers.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solvers.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solvers.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/Solvers.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,174 @@
+package org.drools.verifier;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.RulePossibility;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+ class Solvers {
+
+ private RuleSolver ruleSolver = null;
+ private PatternSolver patternSolver = null;
+
+ private List<PatternPossibility> patternPossibilities = new ArrayList<PatternPossibility>();
+ private List<RulePossibility> rulePossibilities = new ArrayList<RulePossibility>();
+
+ public void startRuleSolver(AnalyticsRule rule) {
+ ruleSolver = new RuleSolver(rule);
+ }
+
+ public void endRuleSolver() {
+ createRulePossibilities();
+ ruleSolver = null;
+ }
+
+ public void startPatternSolver(Pattern pattern) {
+ patternSolver = new PatternSolver(pattern);
+
+ patternSolver.getPattern().setPatternNot(ruleSolver.isChildNot());
+ }
+
+ public void endPatternSolver() {
+ createPatternPossibilities();
+ patternSolver = null;
+ }
+
+ public void startForall() {
+ if (patternSolver != null) {
+ patternSolver.setChildForall(true);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildForall(true);
+ }
+ }
+
+ public void endForall() {
+ if (patternSolver != null) {
+ patternSolver.setChildForall(false);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildForall(false);
+ }
+ }
+
+ public void startExists() {
+ if (patternSolver != null) {
+ patternSolver.setChildExists(true);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildExists(true);
+ }
+ }
+
+ public void endExists() {
+ if (patternSolver != null) {
+ patternSolver.setChildExists(false);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildExists(false);
+ }
+ }
+
+ public void startNot() {
+ if (patternSolver != null) {
+ patternSolver.setChildNot(true);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildNot(true);
+ }
+ }
+
+ public void endNot() {
+ if (patternSolver != null) {
+ patternSolver.setChildNot(false);
+ } else if (ruleSolver != null) {
+ ruleSolver.setChildNot(false);
+ }
+ }
+
+ public void startOperator(OperatorDescr operatorDescr) {
+ if (patternSolver != null) {
+ patternSolver.add(operatorDescr);
+ } else if (ruleSolver != null) {
+ ruleSolver.add(operatorDescr);
+ }
+ }
+
+ public void endOperator() {
+ if (patternSolver != null) {
+ patternSolver.end();
+ } else if (ruleSolver != null) {
+ ruleSolver.end();
+ }
+ }
+
+ public void addRestriction(Restriction restriction) {
+ patternSolver.add(restriction);
+ }
+
+ private void createPatternPossibilities() {
+ for (Set<AnalyticsComponent> list : patternSolver.getPossibilityLists()) {
+ PatternPossibility possibility = new PatternPossibility();
+
+ possibility.setRuleId(ruleSolver.getRule().getId());
+ possibility.setRuleName(ruleSolver.getRule().getRuleName());
+ possibility.setRuleId(ruleSolver.getRule().getId());
+ possibility.setPatternId(patternSolver.getPattern().getId());
+
+ for (AnalyticsComponent descr : list) {
+ possibility.add((Restriction) descr);
+ }
+
+ ruleSolver.add(possibility);
+ patternPossibilities.add(possibility);
+ }
+ }
+
+ private void createRulePossibilities() {
+ for (Set<AnalyticsComponent> list : ruleSolver.getPossibilityLists()) {
+ RulePossibility possibility = new RulePossibility();
+
+ possibility.setRuleId(ruleSolver.getRule().getId());
+ possibility.setRuleName(ruleSolver.getRule().getRuleName());
+ possibility.setRuleId(ruleSolver.getRule().getId());
+
+ for (AnalyticsComponent descr : list) {
+ PatternPossibility patternPossibility = (PatternPossibility) descr;
+ possibility.add(patternPossibility);
+ }
+
+ rulePossibilities.add(possibility);
+ }
+ }
+
+ public List<PatternPossibility> getPatternPossibilities() {
+ return patternPossibilities;
+ }
+
+ public void setPatternPossibilities(
+ List<PatternPossibility> patternPossibilities) {
+ this.patternPossibilities = patternPossibilities;
+ }
+
+ public List<RulePossibility> getRulePossibilities() {
+ return rulePossibilities;
+ }
+
+ public void setRulePossibilities(List<RulePossibility> rulePossibilities) {
+ this.rulePossibilities = rulePossibilities;
+ }
+
+ public PatternSolver getPatternSolver() {
+ return patternSolver;
+ }
+
+ public RuleSolver getRuleSolver() {
+ return ruleSolver;
+ }
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components)
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsAccessorDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,19 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsAccessorDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- public AnalyticsAccessorDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.ACCESSOR;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsAccessorDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccessorDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,19 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsAccessorDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ public AnalyticsAccessorDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.ACCESSOR;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsAccumulateDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,111 +0,0 @@
-package org.drools.analytics.components;
-
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsAccumulateDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private int inputPatternId;
- private String initCode;
- private String actionCode;
- private String reverseCode;
- private String resultCode;
- private String[] declarations;
- private String className;
- private boolean externalFunction = false;
- private String functionIdentifier;
- private String expression;
-
- public AnalyticsAccumulateDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.ACCUMULATE;
- }
-
- public String getActionCode() {
- return actionCode;
- }
-
- public void setActionCode(String actionCode) {
- this.actionCode = actionCode;
- }
-
- public String getClassName() {
- return className;
- }
-
- public void setClassName(String className) {
- this.className = className;
- }
-
- public String[] getDeclarations() {
- return declarations;
- }
-
- public void setDeclarations(String[] declarations) {
- this.declarations = declarations;
- }
-
- public String getExpression() {
- return expression;
- }
-
- public void setExpression(String expression) {
- this.expression = expression;
- }
-
- public boolean isExternalFunction() {
- return externalFunction;
- }
-
- public void setExternalFunction(boolean externalFunction) {
- this.externalFunction = externalFunction;
- }
-
- public String getFunctionIdentifier() {
- return functionIdentifier;
- }
-
- public void setFunctionIdentifier(String functionIdentifier) {
- this.functionIdentifier = functionIdentifier;
- }
-
- public String getInitCode() {
- return initCode;
- }
-
- public void setInitCode(String initCode) {
- this.initCode = initCode;
- }
-
- public int getInputPatternId() {
- return inputPatternId;
- }
-
- public void setInputPatternId(int inputPatternId) {
- this.inputPatternId = inputPatternId;
- }
-
- public String getResultCode() {
- return resultCode;
- }
-
- public void setResultCode(String resultCode) {
- this.resultCode = resultCode;
- }
-
- public String getReverseCode() {
- return reverseCode;
- }
-
- public void setReverseCode(String reverseCode) {
- this.reverseCode = reverseCode;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsAccumulateDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsAccumulateDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,111 @@
+package org.drools.verifier.components;
+
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsAccumulateDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private int inputPatternId;
+ private String initCode;
+ private String actionCode;
+ private String reverseCode;
+ private String resultCode;
+ private String[] declarations;
+ private String className;
+ private boolean externalFunction = false;
+ private String functionIdentifier;
+ private String expression;
+
+ public AnalyticsAccumulateDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.ACCUMULATE;
+ }
+
+ public String getActionCode() {
+ return actionCode;
+ }
+
+ public void setActionCode(String actionCode) {
+ this.actionCode = actionCode;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public String[] getDeclarations() {
+ return declarations;
+ }
+
+ public void setDeclarations(String[] declarations) {
+ this.declarations = declarations;
+ }
+
+ public String getExpression() {
+ return expression;
+ }
+
+ public void setExpression(String expression) {
+ this.expression = expression;
+ }
+
+ public boolean isExternalFunction() {
+ return externalFunction;
+ }
+
+ public void setExternalFunction(boolean externalFunction) {
+ this.externalFunction = externalFunction;
+ }
+
+ public String getFunctionIdentifier() {
+ return functionIdentifier;
+ }
+
+ public void setFunctionIdentifier(String functionIdentifier) {
+ this.functionIdentifier = functionIdentifier;
+ }
+
+ public String getInitCode() {
+ return initCode;
+ }
+
+ public void setInitCode(String initCode) {
+ this.initCode = initCode;
+ }
+
+ public int getInputPatternId() {
+ return inputPatternId;
+ }
+
+ public void setInputPatternId(int inputPatternId) {
+ this.inputPatternId = inputPatternId;
+ }
+
+ public String getResultCode() {
+ return resultCode;
+ }
+
+ public void setResultCode(String resultCode) {
+ this.resultCode = resultCode;
+ }
+
+ public String getReverseCode() {
+ return reverseCode;
+ }
+
+ public void setReverseCode(String reverseCode) {
+ this.reverseCode = reverseCode;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsClass.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,50 +0,0 @@
-package org.drools.analytics.components;
-
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * @author Toni Rikkola
- *
- */
-public class AnalyticsClass implements Serializable {
- private static final long serialVersionUID = -783733402566313623L;
-
- private static int index = 0;
-
- private int id = index++;
- private int offset =0;
-
- private String name;
-
- private Set<Field> fields = new HashSet<Field>();
-
- public String getName() {
- return name;
- }
-
- public int getOffset(){
- return offset + id % 2;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public Set<Field> getFields() {
- return fields;
- }
-
- public void setFields(Set<Field> fields) {
- this.fields = fields;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsClass.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsClass.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,50 @@
+package org.drools.verifier.components;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author Toni Rikkola
+ *
+ */
+public class AnalyticsClass implements Serializable {
+ private static final long serialVersionUID = -783733402566313623L;
+
+ private static int index = 0;
+
+ private int id = index++;
+ private int offset =0;
+
+ private String name;
+
+ private Set<Field> fields = new HashSet<Field>();
+
+ public String getName() {
+ return name;
+ }
+
+ public int getOffset(){
+ return offset + id % 2;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public Set<Field> getFields() {
+ return fields;
+ }
+
+ public void setFields(Set<Field> fields) {
+ this.fields = fields;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsCollectDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsCollectDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private int insidePatternId;
- private String classMethodName;
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.COLLECT;
- }
-
- public int getInsidePatternId() {
- return insidePatternId;
- }
-
- public void setInsidePatternId(int insidePatternId) {
- this.insidePatternId = insidePatternId;
- }
-
- public String getClassMethodName() {
- return classMethodName;
- }
-
- public void setClassMethodName(String classMethodName) {
- this.classMethodName = classMethodName;
- }
-
- public AnalyticsCollectDescr() {
- super(index++);
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsCollectDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsCollectDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsCollectDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private int insidePatternId;
+ private String classMethodName;
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.COLLECT;
+ }
+
+ public int getInsidePatternId() {
+ return insidePatternId;
+ }
+
+ public void setInsidePatternId(int insidePatternId) {
+ this.insidePatternId = insidePatternId;
+ }
+
+ public String getClassMethodName() {
+ return classMethodName;
+ }
+
+ public void setClassMethodName(String classMethodName) {
+ this.classMethodName = classMethodName;
+ }
+
+ public AnalyticsCollectDescr() {
+ super(index++);
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsComponent.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,68 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public abstract class AnalyticsComponent implements
- Comparable<AnalyticsComponent> {
-
- protected String ruleName;
- protected int ruleId;
- protected int id;
-
- protected AnalyticsComponent parent;
-
- // Order number of this instance under parent.
- protected int orderNumber = 0;
-
- public abstract AnalyticsComponentType getComponentType();
-
- public int compareTo(AnalyticsComponent o) {
- if (id == o.getId()) {
- return 0;
- }
-
- return (id > o.getId() ? 1 : -1);
- }
-
- public AnalyticsComponent(int id) {
- this.id = id;
- }
-
- public int getId() {
- return id;
- }
-
- public String getRuleName() {
- return ruleName;
- }
-
- public void setRuleName(String ruleName) {
- this.ruleName = ruleName;
- }
-
- public AnalyticsComponent getParent() {
- return parent;
- }
-
- public void setParent(AnalyticsComponent parent) {
- this.parent = parent;
- }
-
- public int getOrderNumber() {
- return orderNumber;
- }
-
- public void setOrderNumber(int orderNumber) {
- this.orderNumber = orderNumber;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsComponent.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponent.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,68 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public abstract class AnalyticsComponent implements
+ Comparable<AnalyticsComponent> {
+
+ protected String ruleName;
+ protected int ruleId;
+ protected int id;
+
+ protected AnalyticsComponent parent;
+
+ // Order number of this instance under parent.
+ protected int orderNumber = 0;
+
+ public abstract AnalyticsComponentType getComponentType();
+
+ public int compareTo(AnalyticsComponent o) {
+ if (id == o.getId()) {
+ return 0;
+ }
+
+ return (id > o.getId() ? 1 : -1);
+ }
+
+ public AnalyticsComponent(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getRuleName() {
+ return ruleName;
+ }
+
+ public void setRuleName(String ruleName) {
+ this.ruleName = ruleName;
+ }
+
+ public AnalyticsComponent getParent() {
+ return parent;
+ }
+
+ public void setParent(AnalyticsComponent parent) {
+ this.parent = parent;
+ }
+
+ public int getOrderNumber() {
+ return orderNumber;
+ }
+
+ public void setOrderNumber(int orderNumber) {
+ this.orderNumber = orderNumber;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsComponentType.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,37 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsComponentType{
- public static final AnalyticsComponentType NOTHING = new AnalyticsComponentType(0);
- public static final AnalyticsComponentType CLASS = new AnalyticsComponentType(1);
- public static final AnalyticsComponentType FIELD = new AnalyticsComponentType(2);
- public static final AnalyticsComponentType RULE = new AnalyticsComponentType(3);
- public static final AnalyticsComponentType CONSTRAINT = new AnalyticsComponentType(4);
- public static final AnalyticsComponentType VARIABLE = new AnalyticsComponentType(5);
- public static final AnalyticsComponentType PATTERN = new AnalyticsComponentType(6);
- public static final AnalyticsComponentType PATTERN_POSSIBILITY = new AnalyticsComponentType(7);
- public static final AnalyticsComponentType RULE_POSSIBILITY = new AnalyticsComponentType(8);
- public static final AnalyticsComponentType RESTRICTION =new AnalyticsComponentType(9);
- public static final AnalyticsComponentType OPERATOR = new AnalyticsComponentType(10);
- public static final AnalyticsComponentType FIELD_CLASS_LINK = new AnalyticsComponentType(11);
- public static final AnalyticsComponentType COLLECT = new AnalyticsComponentType(12);
- public static final AnalyticsComponentType ACCUMULATE = new AnalyticsComponentType(13);
- public static final AnalyticsComponentType FROM = new AnalyticsComponentType(14);
- public static final AnalyticsComponentType EVAL = new AnalyticsComponentType(15);
- public static final AnalyticsComponentType PREDICATE = new AnalyticsComponentType(16);
- public static final AnalyticsComponentType METHOD_ACCESSOR = new AnalyticsComponentType(17);
- public static final AnalyticsComponentType FIELD_ACCESSOR = new AnalyticsComponentType(18);
- public static final AnalyticsComponentType FUNCTION_CALL = new AnalyticsComponentType(19);
- public static final AnalyticsComponentType ACCESSOR = new AnalyticsComponentType(20);
- public static final AnalyticsComponentType RULE_PACKAGE = new AnalyticsComponentType(21);
- public static final AnalyticsComponentType CONSEQUENCE = new AnalyticsComponentType(22);
-
- private final int index;
-
- private AnalyticsComponentType(int i) {
- index = i;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsComponentType.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsComponentType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,37 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsComponentType{
+ public static final AnalyticsComponentType NOTHING = new AnalyticsComponentType(0);
+ public static final AnalyticsComponentType CLASS = new AnalyticsComponentType(1);
+ public static final AnalyticsComponentType FIELD = new AnalyticsComponentType(2);
+ public static final AnalyticsComponentType RULE = new AnalyticsComponentType(3);
+ public static final AnalyticsComponentType CONSTRAINT = new AnalyticsComponentType(4);
+ public static final AnalyticsComponentType VARIABLE = new AnalyticsComponentType(5);
+ public static final AnalyticsComponentType PATTERN = new AnalyticsComponentType(6);
+ public static final AnalyticsComponentType PATTERN_POSSIBILITY = new AnalyticsComponentType(7);
+ public static final AnalyticsComponentType RULE_POSSIBILITY = new AnalyticsComponentType(8);
+ public static final AnalyticsComponentType RESTRICTION =new AnalyticsComponentType(9);
+ public static final AnalyticsComponentType OPERATOR = new AnalyticsComponentType(10);
+ public static final AnalyticsComponentType FIELD_CLASS_LINK = new AnalyticsComponentType(11);
+ public static final AnalyticsComponentType COLLECT = new AnalyticsComponentType(12);
+ public static final AnalyticsComponentType ACCUMULATE = new AnalyticsComponentType(13);
+ public static final AnalyticsComponentType FROM = new AnalyticsComponentType(14);
+ public static final AnalyticsComponentType EVAL = new AnalyticsComponentType(15);
+ public static final AnalyticsComponentType PREDICATE = new AnalyticsComponentType(16);
+ public static final AnalyticsComponentType METHOD_ACCESSOR = new AnalyticsComponentType(17);
+ public static final AnalyticsComponentType FIELD_ACCESSOR = new AnalyticsComponentType(18);
+ public static final AnalyticsComponentType FUNCTION_CALL = new AnalyticsComponentType(19);
+ public static final AnalyticsComponentType ACCESSOR = new AnalyticsComponentType(20);
+ public static final AnalyticsComponentType RULE_PACKAGE = new AnalyticsComponentType(21);
+ public static final AnalyticsComponentType CONSEQUENCE = new AnalyticsComponentType(22);
+
+ private final int index;
+
+ private AnalyticsComponentType(int i) {
+ index = i;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,50 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsEvalDescr extends AnalyticsComponent implements Cause {
-
- private static int index = 0;
-
- private String content;
- private String classMethodName;
-
- public AnalyticsEvalDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.EVAL;
- }
-
- public CauseType getCauseType() {
- return CauseType.EVAL;
- }
-
- public String getClassMethodName() {
- return classMethodName;
- }
-
- public void setClassMethodName(String classMethodName) {
- this.classMethodName = classMethodName;
- }
-
- public String getContent() {
- return content;
- }
-
- public void setContent(String content) {
- this.content = content;
- }
-
- @Override
- public String toString() {
- return "Eval, content: " + content;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsEvalDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,50 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsEvalDescr extends AnalyticsComponent implements Cause {
+
+ private static int index = 0;
+
+ private String content;
+ private String classMethodName;
+
+ public AnalyticsEvalDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.EVAL;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.EVAL;
+ }
+
+ public String getClassMethodName() {
+ return classMethodName;
+ }
+
+ public void setClassMethodName(String classMethodName) {
+ this.classMethodName = classMethodName;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ @Override
+ public String toString() {
+ return "Eval, content: " + content;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFieldAccessDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsFieldAccessDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private String fieldName;
- private String argument;
-
- public AnalyticsFieldAccessDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FIELD_ACCESSOR;
- }
-
- public String getArgument() {
- return argument;
- }
-
- public void setArgument(String argument) {
- this.argument = argument;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFieldAccessDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFieldAccessDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsFieldAccessDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private String fieldName;
+ private String argument;
+
+ public AnalyticsFieldAccessDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.FIELD_ACCESSOR;
+ }
+
+ public String getArgument() {
+ return argument;
+ }
+
+ public void setArgument(String argument) {
+ this.argument = argument;
+ }
+
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFromDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsFromDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private AnalyticsComponentType dataSourceType;
- private int dataSourceId;
-
- public AnalyticsFromDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FROM;
- }
-
- public int getDataSourceId() {
- return dataSourceId;
- }
-
- public void setDataSourceId(int dataSourceId) {
- this.dataSourceId = dataSourceId;
- }
-
- public AnalyticsComponentType getDataSourceType() {
- return dataSourceType;
- }
-
- public void setDataSourceType(AnalyticsComponentType dataSourceType) {
- this.dataSourceType = dataSourceType;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFromDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFromDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsFromDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private AnalyticsComponentType dataSourceType;
+ private int dataSourceId;
+
+ public AnalyticsFromDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.FROM;
+ }
+
+ public int getDataSourceId() {
+ return dataSourceId;
+ }
+
+ public void setDataSourceId(int dataSourceId) {
+ this.dataSourceId = dataSourceId;
+ }
+
+ public AnalyticsComponentType getDataSourceType() {
+ return dataSourceType;
+ }
+
+ public void setDataSourceType(AnalyticsComponentType dataSourceType) {
+ this.dataSourceType = dataSourceType;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFunctionCallDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsFunctionCallDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private String name;
- private String arguments;
-
- public AnalyticsFunctionCallDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FUNCTION_CALL;
- }
-
- public String getArguments() {
- return arguments;
- }
-
- public void setArguments(String arguments) {
- this.arguments = arguments;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsFunctionCallDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsFunctionCallDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsFunctionCallDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private String name;
+ private String arguments;
+
+ public AnalyticsFunctionCallDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.FUNCTION_CALL;
+ }
+
+ public String getArguments() {
+ return arguments;
+ }
+
+ public void setArguments(String arguments) {
+ this.arguments = arguments;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsMethodAccessDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsMethodAccessDescr extends AnalyticsComponent {
-
- private static int index = 0;
-
- private String methodName;
- private String arguments;
-
- public AnalyticsMethodAccessDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.METHOD_ACCESSOR;
- }
-
- public String getArguments() {
- return arguments;
- }
-
- public void setArguments(String arguments) {
- this.arguments = arguments;
- }
-
- public String getMethodName() {
- return methodName;
- }
-
- public void setMethodName(String methodName) {
- this.methodName = methodName;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsMethodAccessDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsMethodAccessDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsMethodAccessDescr extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private String methodName;
+ private String arguments;
+
+ public AnalyticsMethodAccessDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.METHOD_ACCESSOR;
+ }
+
+ public String getArguments() {
+ return arguments;
+ }
+
+ public void setArguments(String arguments) {
+ this.arguments = arguments;
+ }
+
+ public String getMethodName() {
+ return methodName;
+ }
+
+ public void setMethodName(String methodName) {
+ this.methodName = methodName;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,51 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsPredicateDescr extends AnalyticsComponent implements
- Cause {
-
- private static int index = 0;
-
- private String content;
- private String classMethodName;
-
- public AnalyticsPredicateDescr() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.PREDICATE;
- }
-
- public CauseType getCauseType() {
- return CauseType.PREDICATE;
- }
-
- public String getClassMethodName() {
- return classMethodName;
- }
-
- public void setClassMethodName(String classMethodName) {
- this.classMethodName = classMethodName;
- }
-
- public String getContent() {
- return content;
- }
-
- public void setContent(String content) {
- this.content = content;
- }
-
- @Override
- public String toString() {
- return "Predicate id: " + id + " content: " + content;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsPredicateDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,51 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsPredicateDescr extends AnalyticsComponent implements
+ Cause {
+
+ private static int index = 0;
+
+ private String content;
+ private String classMethodName;
+
+ public AnalyticsPredicateDescr() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.PREDICATE;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.PREDICATE;
+ }
+
+ public String getClassMethodName() {
+ return classMethodName;
+ }
+
+ public void setClassMethodName(String classMethodName) {
+ this.classMethodName = classMethodName;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ @Override
+ public String toString() {
+ return "Predicate id: " + id + " content: " + content;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,79 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsRule extends AnalyticsComponent implements Cause {
-
- private static int index = 0;
-
- private String ruleSalience;
- private String ruleAgendaGroup;
- private Consequence consequence;
- private int lineNumber;
-
- private int packageId;
-
- public AnalyticsRule() {
- super(index++);
- ruleId = index;
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RULE;
- }
-
- public CauseType getCauseType() {
- return CauseType.RULE;
- }
-
- public String getRuleAgendaGroup() {
- return ruleAgendaGroup;
- }
-
- public void setRuleAgendaGroup(String agendaGroup) {
- this.ruleAgendaGroup = agendaGroup;
- }
-
- public String getRuleSalience() {
- return ruleSalience;
- }
-
- public void setRuleSalience(String salience) {
- this.ruleSalience = salience;
- }
-
- public Consequence getConsequence() {
- return consequence;
- }
-
- public void setConsequence(Consequence consequence) {
- this.consequence = consequence;
- }
-
- public int getLineNumber() {
- return lineNumber;
- }
-
- public void setLineNumber(int lineNumber) {
- this.lineNumber = lineNumber;
- }
-
- @Override
- public String toString() {
- return "Rule '" + ruleName + "'";
- }
-
- public int getPackageId() {
- return packageId;
- }
-
- public void setPackageId(int packageId) {
- this.packageId = packageId;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/AnalyticsRule.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,79 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsRule extends AnalyticsComponent implements Cause {
+
+ private static int index = 0;
+
+ private String ruleSalience;
+ private String ruleAgendaGroup;
+ private Consequence consequence;
+ private int lineNumber;
+
+ private int packageId;
+
+ public AnalyticsRule() {
+ super(index++);
+ ruleId = index;
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.RULE;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.RULE;
+ }
+
+ public String getRuleAgendaGroup() {
+ return ruleAgendaGroup;
+ }
+
+ public void setRuleAgendaGroup(String agendaGroup) {
+ this.ruleAgendaGroup = agendaGroup;
+ }
+
+ public String getRuleSalience() {
+ return ruleSalience;
+ }
+
+ public void setRuleSalience(String salience) {
+ this.ruleSalience = salience;
+ }
+
+ public Consequence getConsequence() {
+ return consequence;
+ }
+
+ public void setConsequence(Consequence consequence) {
+ this.consequence = consequence;
+ }
+
+ public int getLineNumber() {
+ return lineNumber;
+ }
+
+ public void setLineNumber(int lineNumber) {
+ this.lineNumber = lineNumber;
+ }
+
+ @Override
+ public String toString() {
+ return "Rule '" + ruleName + "'";
+ }
+
+ public int getPackageId() {
+ return packageId;
+ }
+
+ public void setPackageId(int packageId) {
+ this.packageId = packageId;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,26 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-
-public interface Consequence extends Cause {
-
- public static class ConsequenceType {
-
- public static final ConsequenceType TEXT = new ConsequenceType(0);
-
- private final int index;
-
- private ConsequenceType(int i) {
- index = i;
- }
- }
-
- public int getId();
-
- public ConsequenceType getConsequenceType();
-
- public int getRuleId();
-
- public String getRuleName();
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Consequence.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,26 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+
+public interface Consequence extends Cause {
+
+ public static class ConsequenceType {
+
+ public static final ConsequenceType TEXT = new ConsequenceType(0);
+
+ private final int index;
+
+ private ConsequenceType(int i) {
+ index = i;
+ }
+ }
+
+ public int getId();
+
+ public ConsequenceType getConsequenceType();
+
+ public int getRuleId();
+
+ public String getRuleName();
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,86 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Constraint extends AnalyticsComponent implements Cause {
-
- private static int index = 0;
-
- private int ruleId;
- private int patternId;
- private boolean patternIsNot;
- private int fieldId;
- private String fieldName;
- private int lineNumber;
-
- public Constraint() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.CONSTRAINT;
- }
-
- public CauseType getCauseType() {
- return CauseType.CONSTRAINT;
- }
-
- public int getFieldId() {
- return fieldId;
- }
-
- public void setFieldId(int fieldId) {
- this.fieldId = fieldId;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public int getLineNumber() {
- return lineNumber;
- }
-
- public void setLineNumber(int lineNumber) {
- this.lineNumber = lineNumber;
- }
-
- public int getPatternId() {
- return patternId;
- }
-
- public void setPatternId(int patternId) {
- this.patternId = patternId;
- }
-
- public boolean isPatternIsNot() {
- return patternIsNot;
- }
-
- public void setPatternIsNot(boolean patternIsNot) {
- this.patternIsNot = patternIsNot;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- @Override
- public String toString() {
- return "Constraint id: " + id + " field name: " + fieldName;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Constraint.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,86 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Constraint extends AnalyticsComponent implements Cause {
+
+ private static int index = 0;
+
+ private int ruleId;
+ private int patternId;
+ private boolean patternIsNot;
+ private int fieldId;
+ private String fieldName;
+ private int lineNumber;
+
+ public Constraint() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.CONSTRAINT;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.CONSTRAINT;
+ }
+
+ public int getFieldId() {
+ return fieldId;
+ }
+
+ public void setFieldId(int fieldId) {
+ this.fieldId = fieldId;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public int getLineNumber() {
+ return lineNumber;
+ }
+
+ public void setLineNumber(int lineNumber) {
+ this.lineNumber = lineNumber;
+ }
+
+ public int getPatternId() {
+ return patternId;
+ }
+
+ public void setPatternId(int patternId) {
+ this.patternId = patternId;
+ }
+
+ public boolean isPatternIsNot() {
+ return patternIsNot;
+ }
+
+ public void setPatternIsNot(boolean patternIsNot) {
+ this.patternIsNot = patternIsNot;
+ }
+
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ @Override
+ public String toString() {
+ return "Constraint id: " + id + " field name: " + fieldName;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,104 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Field extends AnalyticsComponent implements Cause {
-
- public static class FieldType {
- public static final FieldType BOOLEAN = new FieldType("boolean");
- public static final FieldType STRING = new FieldType( "String");
- public static final FieldType INT = new FieldType( "int");
- public static final FieldType DOUBLE = new FieldType( "double");
- public static final FieldType DATE = new FieldType( "Date");
- public static final FieldType VARIABLE = new FieldType( "Variable");
- public static final FieldType OBJECT = new FieldType( "Object");
-
- private final String string;
-
- private FieldType(String string) {
- this.string = string;
- }
-
- @Override
- public String toString() {
- return string;
- }
- }
-
- private static int index = 0;
-
- private int classId;
- private String className;
- private String name;
- private FieldType fieldType;
-
- private int lineNumber;
-
- public Field() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FIELD;
- }
-
- public CauseType getCauseType() {
- return CauseType.FIELD;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public FieldType getFieldType() {
- return fieldType;
- }
-
- public void setFieldType(FieldType fieldType) {
- // Only set fieldType to variable if there is no other fieldType found.
- if (fieldType == FieldType.VARIABLE && this.fieldType == null) {
- this.fieldType = fieldType;
- } else {
- this.fieldType = fieldType;
- }
- }
-
- public int getClassId() {
- return classId;
- }
-
- public void setClassId(int classId) {
- this.classId = classId;
- }
-
- public int getLineNumber() {
- return lineNumber;
- }
-
- public void setLineNumber(int lineNumber) {
- this.lineNumber = lineNumber;
- }
-
- public String getClassName() {
- return className;
- }
-
- public void setClassName(String className) {
- this.className = className;
- }
-
- @Override
- public String toString() {
- return "Field '" + name + "' from class '" + className + "'";
- }
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Field.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,104 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Field extends AnalyticsComponent implements Cause {
+
+ public static class FieldType {
+ public static final FieldType BOOLEAN = new FieldType("boolean");
+ public static final FieldType STRING = new FieldType( "String");
+ public static final FieldType INT = new FieldType( "int");
+ public static final FieldType DOUBLE = new FieldType( "double");
+ public static final FieldType DATE = new FieldType( "Date");
+ public static final FieldType VARIABLE = new FieldType( "Variable");
+ public static final FieldType OBJECT = new FieldType( "Object");
+
+ private final String string;
+
+ private FieldType(String string) {
+ this.string = string;
+ }
+
+ @Override
+ public String toString() {
+ return string;
+ }
+ }
+
+ private static int index = 0;
+
+ private int classId;
+ private String className;
+ private String name;
+ private FieldType fieldType;
+
+ private int lineNumber;
+
+ public Field() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.FIELD;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.FIELD;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public FieldType getFieldType() {
+ return fieldType;
+ }
+
+ public void setFieldType(FieldType fieldType) {
+ // Only set fieldType to variable if there is no other fieldType found.
+ if (fieldType == FieldType.VARIABLE && this.fieldType == null) {
+ this.fieldType = fieldType;
+ } else {
+ this.fieldType = fieldType;
+ }
+ }
+
+ public int getClassId() {
+ return classId;
+ }
+
+ public void setClassId(int classId) {
+ this.classId = classId;
+ }
+
+ public int getLineNumber() {
+ return lineNumber;
+ }
+
+ public void setLineNumber(int lineNumber) {
+ this.lineNumber = lineNumber;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ @Override
+ public String toString() {
+ return "Field '" + name + "' from class '" + className + "'";
+ }
+}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/FieldClassLink.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,38 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class FieldClassLink extends AnalyticsComponent {
-
- private static int index = 0;
-
- private int fieldId;
- private int classId;
-
- public FieldClassLink() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FIELD_CLASS_LINK;
- }
-
- public int getClassId() {
- return classId;
- }
-
- public void setClassId(int classId) {
- this.classId = classId;
- }
-
- public int getFieldId() {
- return fieldId;
- }
-
- public void setFieldId(int fieldId) {
- this.fieldId = fieldId;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/FieldClassLink.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class FieldClassLink extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private int fieldId;
+ private int classId;
+
+ public FieldClassLink() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.FIELD_CLASS_LINK;
+ }
+
+ public int getClassId() {
+ return classId;
+ }
+
+ public void setClassId(int classId) {
+ this.classId = classId;
+ }
+
+ public int getFieldId() {
+ return fieldId;
+ }
+
+ public void setFieldId(int fieldId) {
+ this.fieldId = fieldId;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/InlineEvalDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class InlineEvalDescr {
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/InlineEvalDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/InlineEvalDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,9 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class InlineEvalDescr {
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/LiteralRestriction.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,167 +0,0 @@
-package org.drools.analytics.components;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.zip.DataFormatException;
-
-import org.drools.analytics.report.components.Cause;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class LiteralRestriction extends Restriction implements Cause {
-
- private Field.FieldType valueType;
-
- private boolean booleanValue;
-
- private int intValue;
-
- private double doubleValue;
-
- private String stringValue;
-
- private Date dateValue;
-
- public RestrictionType getRestrictionType() {
- return Restriction.RestrictionType.LITERAL;
- }
-
- /**
- * Compares two LiteralRestrictions by value.
- *
- * @param restriction
- * Restriction that this object is compared to.
- * @return a negative integer, zero, or a positive integer as this object is
- * less than, equal to, or greater than the specified object.
- * @throws DataFormatException
- * If data was not supported.
- */
- public int compareValues(LiteralRestriction restriction)
- throws DataFormatException {
- if (restriction.getValueType() != valueType) {
- throw new DataFormatException(
- "Value types did not match. Value type "
- + restriction.getValueType() + " was compared to "
- + valueType);
- }
-
- if (valueType == Field.FieldType.DATE) {
- return dateValue.compareTo(restriction.getDateValue());
- } else if (valueType == Field.FieldType.DOUBLE) {
- if (doubleValue > restriction.getDoubleValue()) {
- return 1;
- } else if (doubleValue < restriction.getDoubleValue()) {
- return -1;
- } else {
- return 0;
- }
- } else if (valueType == Field.FieldType.INT) {
- if (intValue > restriction.getIntValue()) {
- return 1;
- } else if (intValue < restriction.getIntValue()) {
- return -1;
- } else {
- return 0;
- }
- } else if (valueType == Field.FieldType.STRING) {
- return stringValue.compareTo(restriction.getValueAsString());
- }
-
- throw new DataFormatException("Value types did not match. Value type "
- + restriction.getValueType() + " was compared to " + valueType);
- }
-
- public Object getValueAsObject() {
- if (valueType == Field.FieldType.BOOLEAN) {
- return Boolean.valueOf(booleanValue);
- } else if (valueType == Field.FieldType.DATE) {
- return dateValue;
- } else if (valueType == Field.FieldType.DOUBLE) {
- return Double.valueOf(doubleValue);
- } else if (valueType == Field.FieldType.INT) {
- return Integer.valueOf(intValue);
- }
- return stringValue;
- }
-
- public String getValueAsString() {
- return stringValue;
- }
-
- public double getDoubleValue() {
- return doubleValue;
- }
-
- public int getIntValue() {
- return intValue;
- }
-
- public Field.FieldType getValueType() {
- return valueType;
- }
-
- public Date getDateValue() {
- return dateValue;
- }
-
- public void setValue(String value) {
-
- if ("true".equals(value) || "false".equals(value)) {
- booleanValue = value.equals("true");
- valueType = Field.FieldType.BOOLEAN;
- stringValue = value;
- }
-
- try {
- intValue = Integer.parseInt(value);
- valueType = Field.FieldType.INT;
- stringValue = value;
- return;
- } catch (NumberFormatException e) {
- // Not int.
- }
-
- try {
- doubleValue = Double.parseDouble(value);
- valueType = Field.FieldType.DOUBLE;
- stringValue = value;
- return;
- } catch (NumberFormatException e) {
- // Not double.
- }
-
- try {
- String fmt = System.getProperty("drools.dateformat");
- if (fmt == null) {
- fmt = "dd-MMM-yyyy";
- }
-
- dateValue = new SimpleDateFormat(fmt, Locale.ENGLISH).parse(value);
- valueType = Field.FieldType.DATE;
- stringValue = value;
- return;
- } catch (Exception e) {
- // Not a date.
- }
-
- stringValue = value;
- valueType = Field.FieldType.STRING;
- }
-
- public boolean isBooleanValue() {
- return booleanValue;
- }
-
- public void setBooleanValue(boolean booleanValue) {
- this.booleanValue = booleanValue;
- }
-
- @Override
- public String toString() {
- return "LiteralRestriction from rule [" + ruleName + "] value '"
- + operator.getOperatorString() + " " + stringValue + "'";
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/LiteralRestriction.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/LiteralRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,167 @@
+package org.drools.verifier.components;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.zip.DataFormatException;
+
+import org.drools.verifier.report.components.Cause;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class LiteralRestriction extends Restriction implements Cause {
+
+ private Field.FieldType valueType;
+
+ private boolean booleanValue;
+
+ private int intValue;
+
+ private double doubleValue;
+
+ private String stringValue;
+
+ private Date dateValue;
+
+ public RestrictionType getRestrictionType() {
+ return Restriction.RestrictionType.LITERAL;
+ }
+
+ /**
+ * Compares two LiteralRestrictions by value.
+ *
+ * @param restriction
+ * Restriction that this object is compared to.
+ * @return a negative integer, zero, or a positive integer as this object is
+ * less than, equal to, or greater than the specified object.
+ * @throws DataFormatException
+ * If data was not supported.
+ */
+ public int compareValues(LiteralRestriction restriction)
+ throws DataFormatException {
+ if (restriction.getValueType() != valueType) {
+ throw new DataFormatException(
+ "Value types did not match. Value type "
+ + restriction.getValueType() + " was compared to "
+ + valueType);
+ }
+
+ if (valueType == Field.FieldType.DATE) {
+ return dateValue.compareTo(restriction.getDateValue());
+ } else if (valueType == Field.FieldType.DOUBLE) {
+ if (doubleValue > restriction.getDoubleValue()) {
+ return 1;
+ } else if (doubleValue < restriction.getDoubleValue()) {
+ return -1;
+ } else {
+ return 0;
+ }
+ } else if (valueType == Field.FieldType.INT) {
+ if (intValue > restriction.getIntValue()) {
+ return 1;
+ } else if (intValue < restriction.getIntValue()) {
+ return -1;
+ } else {
+ return 0;
+ }
+ } else if (valueType == Field.FieldType.STRING) {
+ return stringValue.compareTo(restriction.getValueAsString());
+ }
+
+ throw new DataFormatException("Value types did not match. Value type "
+ + restriction.getValueType() + " was compared to " + valueType);
+ }
+
+ public Object getValueAsObject() {
+ if (valueType == Field.FieldType.BOOLEAN) {
+ return Boolean.valueOf(booleanValue);
+ } else if (valueType == Field.FieldType.DATE) {
+ return dateValue;
+ } else if (valueType == Field.FieldType.DOUBLE) {
+ return Double.valueOf(doubleValue);
+ } else if (valueType == Field.FieldType.INT) {
+ return Integer.valueOf(intValue);
+ }
+ return stringValue;
+ }
+
+ public String getValueAsString() {
+ return stringValue;
+ }
+
+ public double getDoubleValue() {
+ return doubleValue;
+ }
+
+ public int getIntValue() {
+ return intValue;
+ }
+
+ public Field.FieldType getValueType() {
+ return valueType;
+ }
+
+ public Date getDateValue() {
+ return dateValue;
+ }
+
+ public void setValue(String value) {
+
+ if ("true".equals(value) || "false".equals(value)) {
+ booleanValue = value.equals("true");
+ valueType = Field.FieldType.BOOLEAN;
+ stringValue = value;
+ }
+
+ try {
+ intValue = Integer.parseInt(value);
+ valueType = Field.FieldType.INT;
+ stringValue = value;
+ return;
+ } catch (NumberFormatException e) {
+ // Not int.
+ }
+
+ try {
+ doubleValue = Double.parseDouble(value);
+ valueType = Field.FieldType.DOUBLE;
+ stringValue = value;
+ return;
+ } catch (NumberFormatException e) {
+ // Not double.
+ }
+
+ try {
+ String fmt = System.getProperty("drools.dateformat");
+ if (fmt == null) {
+ fmt = "dd-MMM-yyyy";
+ }
+
+ dateValue = new SimpleDateFormat(fmt, Locale.ENGLISH).parse(value);
+ valueType = Field.FieldType.DATE;
+ stringValue = value;
+ return;
+ } catch (Exception e) {
+ // Not a date.
+ }
+
+ stringValue = value;
+ valueType = Field.FieldType.STRING;
+ }
+
+ public boolean isBooleanValue() {
+ return booleanValue;
+ }
+
+ public void setBooleanValue(boolean booleanValue) {
+ this.booleanValue = booleanValue;
+ }
+
+ @Override
+ public String toString() {
+ return "LiteralRestriction from rule [" + ruleName + "] value '"
+ + operator.getOperatorString() + " " + stringValue + "'";
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/OperatorDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,48 +0,0 @@
-package org.drools.analytics.components;
-
-import java.io.Serializable;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class OperatorDescr extends AnalyticsComponent implements Serializable {
- private static final long serialVersionUID = 8393994152436331910L;
-
- private static int index = 0;
-
- public static class Type {
- public static final Type AND = new Type(0);
- public static final Type OR = new Type(1);
-
- private final int index;
-
- private Type(int i) {
- index = i;
- }
- };
-
- private Type type;
-
- public OperatorDescr() {
- super(index++);
- }
-
- public OperatorDescr(Type operatorType) {
- super(index++);
- this.type = operatorType;
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.OPERATOR;
- }
-
- public Type getType() {
- return type;
- }
-
- public void setType(Type type) {
- this.type = type;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/OperatorDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/OperatorDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,48 @@
+package org.drools.verifier.components;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class OperatorDescr extends AnalyticsComponent implements Serializable {
+ private static final long serialVersionUID = 8393994152436331910L;
+
+ private static int index = 0;
+
+ public static class Type {
+ public static final Type AND = new Type(0);
+ public static final Type OR = new Type(1);
+
+ private final int index;
+
+ private Type(int i) {
+ index = i;
+ }
+ };
+
+ private Type type;
+
+ public OperatorDescr() {
+ super(index++);
+ }
+
+ public OperatorDescr(Type operatorType) {
+ super(index++);
+ this.type = operatorType;
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.OPERATOR;
+ }
+
+ public Type getType() {
+ return type;
+ }
+
+ public void setType(Type type) {
+ this.type = type;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,107 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Pattern extends AnalyticsComponent implements Cause {
-
- private static final long serialVersionUID = 5852308145251025423L;
-
- private static int index = 0;
-
- private int ruleId;
- private int classId;
- private String name;
- private AnalyticsComponentType sourceType = AnalyticsComponentType.NOTHING;
- private int sourceId = -1;
-
- private boolean isPatternNot = false;
- private boolean isPatternExists = false;
- private boolean isPatternForall = false;
-
- public Pattern() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.PATTERN;
- }
-
- public CauseType getCauseType() {
- return CauseType.PATTERN;
- }
-
- public boolean isPatternNot() {
- return isPatternNot;
- }
-
- public void setPatternNot(boolean isNot) {
- this.isPatternNot = isNot;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public boolean isPatternExists() {
- return isPatternExists;
- }
-
- public void setPatternExists(boolean isExists) {
- this.isPatternExists = isExists;
- }
-
- public int getClassId() {
- return classId;
- }
-
- public void setClassId(int classId) {
- this.classId = classId;
- }
-
- public boolean isPatternForall() {
- return isPatternForall;
- }
-
- public void setPatternForall(boolean isForall) {
- this.isPatternForall = isForall;
- }
-
- public int getSourceId() {
- return sourceId;
- }
-
- public void setSourceId(int sourceId) {
- this.sourceId = sourceId;
- }
-
- public AnalyticsComponentType getSourceType() {
- return sourceType;
- }
-
- public void setSourceType(AnalyticsComponentType sourceType) {
- this.sourceType = sourceType;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- @Override
- public String toString() {
- return "Pattern, name: " + name;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Pattern.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,107 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Pattern extends AnalyticsComponent implements Cause {
+
+ private static final long serialVersionUID = 5852308145251025423L;
+
+ private static int index = 0;
+
+ private int ruleId;
+ private int classId;
+ private String name;
+ private AnalyticsComponentType sourceType = AnalyticsComponentType.NOTHING;
+ private int sourceId = -1;
+
+ private boolean isPatternNot = false;
+ private boolean isPatternExists = false;
+ private boolean isPatternForall = false;
+
+ public Pattern() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.PATTERN;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.PATTERN;
+ }
+
+ public boolean isPatternNot() {
+ return isPatternNot;
+ }
+
+ public void setPatternNot(boolean isNot) {
+ this.isPatternNot = isNot;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public boolean isPatternExists() {
+ return isPatternExists;
+ }
+
+ public void setPatternExists(boolean isExists) {
+ this.isPatternExists = isExists;
+ }
+
+ public int getClassId() {
+ return classId;
+ }
+
+ public void setClassId(int classId) {
+ this.classId = classId;
+ }
+
+ public boolean isPatternForall() {
+ return isPatternForall;
+ }
+
+ public void setPatternForall(boolean isForall) {
+ this.isPatternForall = isForall;
+ }
+
+ public int getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(int sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ public AnalyticsComponentType getSourceType() {
+ return sourceType;
+ }
+
+ public void setSourceType(AnalyticsComponentType sourceType) {
+ this.sourceType = sourceType;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return "Pattern, name: " + name;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,72 +0,0 @@
-package org.drools.analytics.components;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- * Instance of this class represents a possible combination of Constraints under
- * one Pattern. Each possibility returns true if all the Constraints in the
- * combination are true.
- *
- * @author Toni Rikkola
- */
-public class PatternPossibility extends AnalyticsComponent implements
- Possibility {
- private static final long serialVersionUID = 8871361928380977116L;
-
- private static int index = 0;
-
- private int patternId;
- private int ruleId;
- private Set<Cause> items = new HashSet<Cause>();
-
- public PatternPossibility() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.PATTERN_POSSIBILITY;
- }
-
- public CauseType getCauseType() {
- return CauseType.PATTERN_POSSIBILITY;
- }
-
- public Set<Cause> getItems() {
- return items;
- }
-
- public int getAmountOfItems() {
- return items.size();
- }
-
- public int getPatternId() {
- return patternId;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public void setPatternId(int patternId) {
- this.patternId = patternId;
- }
-
- public void add(Restriction restriction) {
- items.add(restriction);
- }
-
- @Override
- public String toString() {
- return "PatternPossibility from rule: " + ruleName
- + ", amount of items:" + items.size();
- }
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/PatternPossibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,72 @@
+package org.drools.verifier.components;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ * Instance of this class represents a possible combination of Constraints under
+ * one Pattern. Each possibility returns true if all the Constraints in the
+ * combination are true.
+ *
+ * @author Toni Rikkola
+ */
+public class PatternPossibility extends AnalyticsComponent implements
+ Possibility {
+ private static final long serialVersionUID = 8871361928380977116L;
+
+ private static int index = 0;
+
+ private int patternId;
+ private int ruleId;
+ private Set<Cause> items = new HashSet<Cause>();
+
+ public PatternPossibility() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.PATTERN_POSSIBILITY;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.PATTERN_POSSIBILITY;
+ }
+
+ public Set<Cause> getItems() {
+ return items;
+ }
+
+ public int getAmountOfItems() {
+ return items.size();
+ }
+
+ public int getPatternId() {
+ return patternId;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public void setPatternId(int patternId) {
+ this.patternId = patternId;
+ }
+
+ public void add(Restriction restriction) {
+ items.add(restriction);
+ }
+
+ @Override
+ public String toString() {
+ return "PatternPossibility from rule: " + ruleName
+ + ", amount of items:" + items.size();
+ }
+}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Possibility.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,16 +0,0 @@
-package org.drools.analytics.components;
-
-import java.util.Set;
-
-import org.drools.analytics.report.components.Cause;
-
-/**
- *
- * @author Toni Rikkola
- */
-public interface Possibility extends Cause {
-
- public Set<Cause> getItems();
-
- public int getAmountOfItems();
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Possibility.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Possibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,16 @@
+package org.drools.verifier.components;
+
+import java.util.Set;
+
+import org.drools.verifier.report.components.Cause;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public interface Possibility extends Cause {
+
+ public Set<Cause> getItems();
+
+ public int getAmountOfItems();
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/QualifiedIdentifierRestriction.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,52 +0,0 @@
-package org.drools.analytics.components;
-
-
-/**
- *
- * @author Toni Rikkola
- */
-public class QualifiedIdentifierRestriction extends Restriction {
-
- private int variableId;
- private String variableName;
- private String variablePath;
-
- @Override
- public RestrictionType getRestrictionType() {
- return RestrictionType.QUALIFIED_IDENTIFIER;
- }
-
- public String getValueAsString() {
- return variablePath + "." + variableName;
- }
-
- public int getVariableId() {
- return variableId;
- }
-
- public void setVariableId(int variableId) {
- this.variableId = variableId;
- }
-
- public String getVariableName() {
- return variableName;
- }
-
- public void setVariableName(String variableName) {
- this.variableName = variableName;
- }
-
- public String getVariablePath() {
- return variablePath;
- }
-
- public void setVariablePath(String variablePath) {
- this.variablePath = variablePath;
- }
-
- @Override
- public String toString() {
- return "QualifiedIdentifierRestriction name: " + variableName
- + variablePath;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/QualifiedIdentifierRestriction.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/QualifiedIdentifierRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,52 @@
+package org.drools.verifier.components;
+
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class QualifiedIdentifierRestriction extends Restriction {
+
+ private int variableId;
+ private String variableName;
+ private String variablePath;
+
+ @Override
+ public RestrictionType getRestrictionType() {
+ return RestrictionType.QUALIFIED_IDENTIFIER;
+ }
+
+ public String getValueAsString() {
+ return variablePath + "." + variableName;
+ }
+
+ public int getVariableId() {
+ return variableId;
+ }
+
+ public void setVariableId(int variableId) {
+ this.variableId = variableId;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getVariablePath() {
+ return variablePath;
+ }
+
+ public void setVariablePath(String variablePath) {
+ this.variablePath = variablePath;
+ }
+
+ @Override
+ public String toString() {
+ return "QualifiedIdentifierRestriction name: " + variableName
+ + variablePath;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,101 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.base.evaluators.Operator;
-
-/**
- *
- * @author Toni Rikkola
- */
-public abstract class Restriction extends AnalyticsComponent implements Cause {
-
- public static class RestrictionType {
- public static final RestrictionType LITERAL = new RestrictionType(0);
- public static final RestrictionType VARIABLE = new RestrictionType(1);
- public static final RestrictionType QUALIFIED_IDENTIFIER = new RestrictionType(
- 2);
- public static final RestrictionType RETURN_VALUE_RESTRICTION = new RestrictionType(
- 3);
-
- private final int index;
-
- private RestrictionType(int i) {
- index = i;
- }
- }
-
- private static int index = 0;
-
- private int patternId;
- private boolean patternIsNot;
- private int constraintId;
-
- // Id of the field that this restriction is related to.
- private int fieldId;
-
- protected Operator operator;
-
- public Restriction() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RESTRICTION;
- }
-
- public CauseType getCauseType() {
- return CauseType.RESTRICTION;
- }
-
- public abstract RestrictionType getRestrictionType();
-
- public Operator getOperator() {
- return operator;
- }
-
- public void setOperator(Operator operator) {
- this.operator = operator;
- }
-
- public int getConstraintId() {
- return constraintId;
- }
-
- public void setConstraintId(int constraintId) {
- this.constraintId = constraintId;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public int getPatternId() {
- return patternId;
- }
-
- public void setPatternId(int patternId) {
- this.patternId = patternId;
- }
-
- public int getFieldId() {
- return fieldId;
- }
-
- public void setFieldId(int fieldId) {
- this.fieldId = fieldId;
- }
-
- public boolean isPatternIsNot() {
- return patternIsNot;
- }
-
- public void setPatternIsNot(boolean patternIsNot) {
- this.patternIsNot = patternIsNot;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Restriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,101 @@
+package org.drools.verifier.components;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public abstract class Restriction extends AnalyticsComponent implements Cause {
+
+ public static class RestrictionType {
+ public static final RestrictionType LITERAL = new RestrictionType(0);
+ public static final RestrictionType VARIABLE = new RestrictionType(1);
+ public static final RestrictionType QUALIFIED_IDENTIFIER = new RestrictionType(
+ 2);
+ public static final RestrictionType RETURN_VALUE_RESTRICTION = new RestrictionType(
+ 3);
+
+ private final int index;
+
+ private RestrictionType(int i) {
+ index = i;
+ }
+ }
+
+ private static int index = 0;
+
+ private int patternId;
+ private boolean patternIsNot;
+ private int constraintId;
+
+ // Id of the field that this restriction is related to.
+ private int fieldId;
+
+ protected Operator operator;
+
+ public Restriction() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.RESTRICTION;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.RESTRICTION;
+ }
+
+ public abstract RestrictionType getRestrictionType();
+
+ public Operator getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Operator operator) {
+ this.operator = operator;
+ }
+
+ public int getConstraintId() {
+ return constraintId;
+ }
+
+ public void setConstraintId(int constraintId) {
+ this.constraintId = constraintId;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public int getPatternId() {
+ return patternId;
+ }
+
+ public void setPatternId(int patternId) {
+ this.patternId = patternId;
+ }
+
+ public int getFieldId() {
+ return fieldId;
+ }
+
+ public void setFieldId(int fieldId) {
+ this.fieldId = fieldId;
+ }
+
+ public boolean isPatternIsNot() {
+ return patternIsNot;
+ }
+
+ public void setPatternIsNot(boolean patternIsNot) {
+ this.patternIsNot = patternIsNot;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/ReturValueFieldDescr.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class ReturValueFieldDescr {
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/ReturValueFieldDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturValueFieldDescr.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,9 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class ReturValueFieldDescr {
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/ReturnValueRestriction.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,43 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class ReturnValueRestriction extends Restriction implements Cause {
-
- private Object content;
- private String[] declarations;
- private String classMethodName;
-
- @Override
- public RestrictionType getRestrictionType() {
- return RestrictionType.RETURN_VALUE_RESTRICTION;
- }
-
- public String getClassMethodName() {
- return classMethodName;
- }
-
- public void setClassMethodName(String classMethodName) {
- this.classMethodName = classMethodName;
- }
-
- public Object getContent() {
- return content;
- }
-
- public void setContent(Object content) {
- this.content = content;
- }
-
- public String[] getDeclarations() {
- return declarations;
- }
-
- public void setDeclarations(String[] declarations) {
- this.declarations = declarations;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/ReturnValueRestriction.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/ReturnValueRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,43 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class ReturnValueRestriction extends Restriction implements Cause {
+
+ private Object content;
+ private String[] declarations;
+ private String classMethodName;
+
+ @Override
+ public RestrictionType getRestrictionType() {
+ return RestrictionType.RETURN_VALUE_RESTRICTION;
+ }
+
+ public String getClassMethodName() {
+ return classMethodName;
+ }
+
+ public void setClassMethodName(String classMethodName) {
+ this.classMethodName = classMethodName;
+ }
+
+ public Object getContent() {
+ return content;
+ }
+
+ public void setContent(Object content) {
+ this.content = content;
+ }
+
+ public String[] getDeclarations() {
+ return declarations;
+ }
+
+ public void setDeclarations(String[] declarations) {
+ this.declarations = declarations;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePackage.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,47 +0,0 @@
-package org.drools.analytics.components;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class RulePackage extends AnalyticsComponent {
-
- private static int index = 0;
-
- private int offset = 0;
- private String name;
- private Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
-
- public RulePackage() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RULE_PACKAGE;
- }
-
- public int getOffset(){
- offset++;
- return offset % 2;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Set<AnalyticsRule> getRules() {
- return rules;
- }
-
- public void setRules(Set<AnalyticsRule> rules) {
- this.rules = rules;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePackage.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePackage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,47 @@
+package org.drools.verifier.components;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class RulePackage extends AnalyticsComponent {
+
+ private static int index = 0;
+
+ private int offset = 0;
+ private String name;
+ private Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
+
+ public RulePackage() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.RULE_PACKAGE;
+ }
+
+ public int getOffset(){
+ offset++;
+ return offset % 2;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Set<AnalyticsRule> getRules() {
+ return rules;
+ }
+
+ public void setRules(Set<AnalyticsRule> rules) {
+ this.rules = rules;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,64 +0,0 @@
-package org.drools.analytics.components;
-
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-
-/**
- * Instance of this class represents a possible combination of
- * PatternPosibilities under one Rule. Each possibility returns true if all the
- * PatternPosibilities in the combination are true.
- *
- * @author Toni Rikkola
- */
-public class RulePossibility extends AnalyticsComponent implements
- Serializable, Possibility {
- private static final long serialVersionUID = 8871361928380977116L;
-
- private static int index = 0;
-
- private int ruleId;
- private Set<Cause> items = new HashSet<Cause>();
-
- public RulePossibility() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RULE_POSSIBILITY;
- }
-
- public CauseType getCauseType() {
- return CauseType.RULE_POSSIBILITY;
- }
-
- public Set<Cause> getItems() {
- return items;
- }
-
- public int getAmountOfItems() {
- return items.size();
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public void add(PatternPossibility patternPossibility) {
- items.add(patternPossibility);
- }
-
- @Override
- public String toString() {
- return "RulePossibility from rule: " + ruleName + ", amount of items:"
- + items.size();
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/RulePossibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,64 @@
+package org.drools.verifier.components;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+/**
+ * Instance of this class represents a possible combination of
+ * PatternPosibilities under one Rule. Each possibility returns true if all the
+ * PatternPosibilities in the combination are true.
+ *
+ * @author Toni Rikkola
+ */
+public class RulePossibility extends AnalyticsComponent implements
+ Serializable, Possibility {
+ private static final long serialVersionUID = 8871361928380977116L;
+
+ private static int index = 0;
+
+ private int ruleId;
+ private Set<Cause> items = new HashSet<Cause>();
+
+ public RulePossibility() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.RULE_POSSIBILITY;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.RULE_POSSIBILITY;
+ }
+
+ public Set<Cause> getItems() {
+ return items;
+ }
+
+ public int getAmountOfItems() {
+ return items.size();
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public void add(PatternPossibility patternPossibility) {
+ items.add(patternPossibility);
+ }
+
+ @Override
+ public String toString() {
+ return "RulePossibility from rule: " + ruleName + ", amount of items:"
+ + items.size();
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,34 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.CauseType;
-
-public class TextConsequence extends AnalyticsComponent implements Consequence {
-
- private static int index = 0;
- private String text;
-
- public TextConsequence() {
- super(index++);
- }
-
- public ConsequenceType getConsequenceType() {
- return ConsequenceType.TEXT;
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.CONSEQUENCE;
- }
-
- public CauseType getCauseType() {
- return CauseType.CONSEQUENCE;
- }
-
- public void setText(String text) {
- this.text = text;
- }
-
- public String getText() {
- return text;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/TextConsequence.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,34 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.CauseType;
+
+public class TextConsequence extends AnalyticsComponent implements Consequence {
+
+ private static int index = 0;
+ private String text;
+
+ public TextConsequence() {
+ super(index++);
+ }
+
+ public ConsequenceType getConsequenceType() {
+ return ConsequenceType.TEXT;
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.CONSEQUENCE;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.CONSEQUENCE;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public String getText() {
+ return text;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Variable.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,73 +0,0 @@
-package org.drools.analytics.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Variable extends AnalyticsComponent {
-
- private static int index;
-
- private int ruleId;
- private AnalyticsComponentType objectType;
- private int objectId;
- private String objectName;
- private String name;
-
- public Variable() {
- super(index++);
- }
-
- @Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.VARIABLE;
- }
-
- public int getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(int ruleId) {
- this.ruleId = ruleId;
- }
-
- public int getObjectId() {
- return objectId;
- }
-
- public void setObjectId(int variableId) {
- this.objectId = variableId;
- }
-
- public AnalyticsComponentType getObjectType() {
- return objectType;
- }
-
- public void setObjectType(AnalyticsComponentType type) {
- // AnalyticsComponentType.CLASS dominates AnalyticsComponentType.FIELD.
- if (objectType == null || objectType != AnalyticsComponentType.CLASS) {
- this.objectType = type;
- }
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getObjectName() {
- return objectName;
- }
-
- public void setObjectName(String objectName) {
- this.objectName = objectName;
- }
-
- @Override
- public String toString() {
- return "Variable name: " + name;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Variable.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/Variable.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,73 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Variable extends AnalyticsComponent {
+
+ private static int index;
+
+ private int ruleId;
+ private AnalyticsComponentType objectType;
+ private int objectId;
+ private String objectName;
+ private String name;
+
+ public Variable() {
+ super(index++);
+ }
+
+ @Override
+ public AnalyticsComponentType getComponentType() {
+ return AnalyticsComponentType.VARIABLE;
+ }
+
+ public int getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(int ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public int getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(int variableId) {
+ this.objectId = variableId;
+ }
+
+ public AnalyticsComponentType getObjectType() {
+ return objectType;
+ }
+
+ public void setObjectType(AnalyticsComponentType type) {
+ // AnalyticsComponentType.CLASS dominates AnalyticsComponentType.FIELD.
+ if (objectType == null || objectType != AnalyticsComponentType.CLASS) {
+ this.objectType = type;
+ }
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getObjectName() {
+ return objectName;
+ }
+
+ public void setObjectName(String objectName) {
+ this.objectName = objectName;
+ }
+
+ @Override
+ public String toString() {
+ return "Variable name: " + name;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/VariableRestriction.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,30 +0,0 @@
-package org.drools.analytics.components;
-
-import org.drools.analytics.report.components.Cause;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class VariableRestriction extends Restriction implements Cause {
-
- protected Variable variable;
-
- public Variable getVariable() {
- return variable;
- }
-
- public void setVariable(Variable variable) {
- this.variable = variable;
- }
-
- public RestrictionType getRestrictionType() {
- return Restriction.RestrictionType.VARIABLE;
- }
-
- @Override
- public String toString() {
- return "VariableRestriction from rule '" + ruleName + "' variable '"
- + variable + "'";
- }
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/VariableRestriction.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/components/VariableRestriction.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,30 @@
+package org.drools.verifier.components;
+
+import org.drools.verifier.report.components.Cause;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VariableRestriction extends Restriction implements Cause {
+
+ protected Variable variable;
+
+ public Variable getVariable() {
+ return variable;
+ }
+
+ public void setVariable(Variable variable) {
+ this.variable = variable;
+ }
+
+ public RestrictionType getRestrictionType() {
+ return Restriction.RestrictionType.VARIABLE;
+ }
+
+ @Override
+ public String toString() {
+ return "VariableRestriction from rule '" + ruleName + "' variable '"
+ + variable + "'";
+ }
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao)
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,89 +0,0 @@
-package org.drools.analytics.dao;
-
-import java.util.Collection;
-
-import org.drools.analytics.components.AnalyticsClass;
-import org.drools.analytics.components.AnalyticsEvalDescr;
-import org.drools.analytics.components.AnalyticsPredicateDescr;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Consequence;
-import org.drools.analytics.components.Constraint;
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.FieldClassLink;
-import org.drools.analytics.components.OperatorDescr;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.components.RulePackage;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.components.Variable;
-
-/**
- *
- * @author Toni Rikkola
- */
-public interface AnalyticsData {
-
- public void add(Consequence consequence);
-
- public void add(AnalyticsClass clazz);
-
- public void add(Field field);
-
- public void add(Variable variable);
-
- public void add(AnalyticsRule rule);
-
- public void add(Pattern pattern);
-
- public void add(Constraint constraint);
-
- public void add(Restriction restriction);
-
- public void add(FieldClassLink link);
-
- public void add(PatternPossibility possibility);
-
- public void add(RulePossibility possibility);
-
- public void add(RulePackage rulePackage);
-
- public AnalyticsClass getClassByPackageAndName(String name);
-
- public AnalyticsClass getClassById(int id);
-
- public Field getFieldByClassAndFieldName(String className, String fieldName);
-
- public Variable getVariableByRuleAndVariableName(String ruleName,
- String variableName);
-
- public Collection<? extends Object> getAll();
-
- public FieldClassLink getFieldClassLink(int id, int id2);
-
- public Collection<AnalyticsRule> getAllRules();
-
- public Collection<AnalyticsClass> getClassesByRuleName(String ruleName);
-
- public Collection<AnalyticsClass> getAllClasses();
-
- public Collection<RulePackage> getAllRulePackages();
-
- public Collection<Field> getFieldsByClassId(int id);
-
- public Collection<AnalyticsRule> getRulesByClassId(int id);
-
- public Collection<Field> getAllFields();
-
- public Collection<AnalyticsRule> getRulesByFieldId(int id);
-
- public RulePackage getRulePackageByName(String name);
-
- public Collection<Restriction> getRestrictionsByFieldId(int id);
-
- public void add(OperatorDescr operatorDescr);
-
- public void add(AnalyticsEvalDescr eval);
-
- public void add(AnalyticsPredicateDescr predicate);
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsData.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,89 @@
+package org.drools.verifier.dao;
+
+import java.util.Collection;
+
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsEvalDescr;
+import org.drools.verifier.components.AnalyticsPredicateDescr;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Consequence;
+import org.drools.verifier.components.Constraint;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.FieldClassLink;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.RulePackage;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.components.Variable;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public interface AnalyticsData {
+
+ public void add(Consequence consequence);
+
+ public void add(AnalyticsClass clazz);
+
+ public void add(Field field);
+
+ public void add(Variable variable);
+
+ public void add(AnalyticsRule rule);
+
+ public void add(Pattern pattern);
+
+ public void add(Constraint constraint);
+
+ public void add(Restriction restriction);
+
+ public void add(FieldClassLink link);
+
+ public void add(PatternPossibility possibility);
+
+ public void add(RulePossibility possibility);
+
+ public void add(RulePackage rulePackage);
+
+ public AnalyticsClass getClassByPackageAndName(String name);
+
+ public AnalyticsClass getClassById(int id);
+
+ public Field getFieldByClassAndFieldName(String className, String fieldName);
+
+ public Variable getVariableByRuleAndVariableName(String ruleName,
+ String variableName);
+
+ public Collection<? extends Object> getAll();
+
+ public FieldClassLink getFieldClassLink(int id, int id2);
+
+ public Collection<AnalyticsRule> getAllRules();
+
+ public Collection<AnalyticsClass> getClassesByRuleName(String ruleName);
+
+ public Collection<AnalyticsClass> getAllClasses();
+
+ public Collection<RulePackage> getAllRulePackages();
+
+ public Collection<Field> getFieldsByClassId(int id);
+
+ public Collection<AnalyticsRule> getRulesByClassId(int id);
+
+ public Collection<Field> getAllFields();
+
+ public Collection<AnalyticsRule> getRulesByFieldId(int id);
+
+ public RulePackage getRulePackageByName(String name);
+
+ public Collection<Restriction> getRestrictionsByFieldId(int id);
+
+ public void add(OperatorDescr operatorDescr);
+
+ public void add(AnalyticsEvalDescr eval);
+
+ public void add(AnalyticsPredicateDescr predicate);
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,241 +0,0 @@
-package org.drools.analytics.dao;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import org.drools.analytics.components.AnalyticsClass;
-import org.drools.analytics.components.AnalyticsEvalDescr;
-import org.drools.analytics.components.AnalyticsPredicateDescr;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Consequence;
-import org.drools.analytics.components.Constraint;
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.FieldClassLink;
-import org.drools.analytics.components.OperatorDescr;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.components.RulePackage;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.components.Variable;
-
-/**
- *
- * @author Toni Rikkola
- */
-class AnalyticsDataMaps implements AnalyticsData {
-
- private Map<Integer, RulePackage> packagesById = new TreeMap<Integer, RulePackage>();
- private Map<String, RulePackage> packagesByName = new TreeMap<String, RulePackage>();
-
- private Map<Integer, AnalyticsClass> classesById = new TreeMap<Integer, AnalyticsClass>();
- private Map<String, AnalyticsClass> classesByName = new TreeMap<String, AnalyticsClass>();
- private Map<String, Field> fieldsByClassAndFieldName = new TreeMap<String, Field>();
- private Map<Integer, Field> fieldsById = new TreeMap<Integer, Field>();
- private DataTree<Integer, Field> fieldsByClassId = new DataTree<Integer, Field>();
- private Map<String, FieldClassLink> fieldClassLinkByIds = new TreeMap<String, FieldClassLink>();
-
- private Map<Integer, AnalyticsRule> rulesById = new TreeMap<Integer, AnalyticsRule>();
- private Map<Integer, Pattern> patternsById = new TreeMap<Integer, Pattern>();
- private DataTree<Integer, Pattern> patternsByClassId = new DataTree<Integer, Pattern>();
- private DataTree<String, Pattern> patternsByRuleName = new DataTree<String, Pattern>();
- private Map<Integer, Constraint> constraintsById = new TreeMap<Integer, Constraint>();
- private Map<Integer, Restriction> restrictionsById = new TreeMap<Integer, Restriction>();
- private DataTree<Integer, Restriction> restrictionsByFieldId = new DataTree<Integer, Restriction>();
- private Map<Integer, OperatorDescr> operatorsById = new TreeMap<Integer, OperatorDescr>();
- private Map<Integer, AnalyticsEvalDescr> evalsById = new TreeMap<Integer, AnalyticsEvalDescr>();
- private Map<Integer, AnalyticsPredicateDescr> predicatesById = new TreeMap<Integer, AnalyticsPredicateDescr>();
- private Map<Integer, Consequence> consiquencesById = new TreeMap<Integer, Consequence>();
-
- private Map<String, Variable> variablesByRuleAndVariableName = new TreeMap<String, Variable>();
-
- private Map<Integer, PatternPossibility> patternPossibilitiesById = new TreeMap<Integer, PatternPossibility>();
- private Map<Integer, RulePossibility> rulePossibilitiesById = new TreeMap<Integer, RulePossibility>();
-
- public void add(AnalyticsClass clazz) {
- classesById.put(Integer.valueOf(clazz.getId()), clazz);
- classesByName.put(clazz.getName(), clazz);
- }
-
- public void add(Field field) {
- AnalyticsClass clazz = classesById.get(Integer.valueOf(field
- .getClassId()));
- fieldsByClassAndFieldName.put(clazz.getName() + "." + field.getName(),
- field);
-
- fieldsById.put(field.getId(), field);
-
- fieldsByClassId.put(field.getClassId(), field);
- }
-
- public void add(Variable variable) {
- variablesByRuleAndVariableName.put(variable.getRuleName() + "."
- + variable.getName(), variable);
- }
-
- public void add(AnalyticsRule rule) {
- rulesById.put(Integer.valueOf(rule.getId()), rule);
- }
-
- public void add(Pattern pattern) {
- patternsById.put(Integer.valueOf(pattern.getId()), pattern);
-
- patternsByClassId.put(pattern.getClassId(), pattern);
- patternsByRuleName.put(pattern.getRuleName(), pattern);
- }
-
- public void add(Constraint constraint) {
- constraintsById.put(Integer.valueOf(constraint.getId()), constraint);
- }
-
- public void add(Restriction restriction) {
- restrictionsById.put(restriction.getId(), restriction);
-
- restrictionsByFieldId.put(restriction.getFieldId(), restriction);
- }
-
- public void add(FieldClassLink link) {
- fieldClassLinkByIds.put(link.getFieldId() + "." + link.getClassId(),
- link);
- }
-
- public AnalyticsClass getClassByPackageAndName(String name) {
- return classesByName.get(name);
- }
-
- public Field getFieldByClassAndFieldName(String className, String fieldName) {
- return fieldsByClassAndFieldName.get(className + "." + fieldName);
- }
-
- public Variable getVariableByRuleAndVariableName(String ruleName,
- String variableName) {
- return variablesByRuleAndVariableName
- .get(ruleName + "." + variableName);
- }
-
- public FieldClassLink getFieldClassLink(int id, int id2) {
- return fieldClassLinkByIds.get(id + "." + id2);
- }
-
- public Collection<AnalyticsRule> getAllRules() {
- return rulesById.values();
- }
-
- public void add(PatternPossibility possibility) {
- patternPossibilitiesById.put(possibility.getId(), possibility);
- }
-
- public void add(RulePossibility possibility) {
- rulePossibilitiesById.put(possibility.getId(), possibility);
- }
-
- public Collection<AnalyticsClass> getClassesByRuleName(String ruleName) {
- Set<AnalyticsClass> set = new HashSet<AnalyticsClass>();
-
- for (Pattern pattern : patternsByRuleName.getBranch(ruleName)) {
- AnalyticsClass clazz = getClassById(pattern.getClassId());
- set.add(clazz);
- }
-
- return set;
- }
-
- public AnalyticsClass getClassById(int id) {
- return classesById.get(id);
- }
-
- public Collection<? extends Object> getAll() {
- List<Object> objects = new ArrayList<Object>();
-
- objects.addAll(packagesById.values());
-
- objects.addAll(rulesById.values());
- objects.addAll(patternsById.values());
- objects.addAll(constraintsById.values());
- objects.addAll(restrictionsById.values());
- objects.addAll(operatorsById.values());
- objects.addAll(evalsById.values());
- objects.addAll(predicatesById.values());
- objects.addAll(consiquencesById.values());
-
- objects.addAll(patternPossibilitiesById.values());
- objects.addAll(rulePossibilitiesById.values());
-
- objects.addAll(classesByName.values());
- objects.addAll(fieldsByClassAndFieldName.values());
- objects.addAll(variablesByRuleAndVariableName.values());
-
- return objects;
- }
-
- public Collection<AnalyticsClass> getAllClasses() {
- return classesById.values();
- }
-
- public Collection<Field> getFieldsByClassId(int id) {
- return fieldsByClassId.getBranch(id);
- }
-
- public Collection<AnalyticsRule> getRulesByClassId(int id) {
- Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
-
- for (Pattern pattern : patternsByClassId.getBranch(id)) {
- rules.add(rulesById.get(pattern.getRuleId()));
- }
-
- return rules;
- }
-
- public Collection<Field> getAllFields() {
- return fieldsById.values();
- }
-
- public Collection<AnalyticsRule> getRulesByFieldId(int id) {
-
- Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
-
- for (Restriction restriction : restrictionsByFieldId.getBranch(id)) {
- rules.add(rulesById.get(restriction.getRuleId()));
- }
-
- return rules;
- }
-
- public Collection<RulePackage> getAllRulePackages() {
- return packagesById.values();
- }
-
- public void add(RulePackage rulePackage) {
- packagesById.put(rulePackage.getId(), rulePackage);
- packagesByName.put(rulePackage.getName(), rulePackage);
- }
-
- public RulePackage getRulePackageByName(String name) {
- return packagesByName.get(name);
- }
-
- public Collection<Restriction> getRestrictionsByFieldId(int id) {
- return restrictionsByFieldId.getBranch(id);
- }
-
- public void add(OperatorDescr operatorDescr) {
- operatorsById.put(operatorDescr.getId(), operatorDescr);
- }
-
- public void add(AnalyticsEvalDescr eval) {
- evalsById.put(eval.getId(), eval);
- }
-
- public void add(AnalyticsPredicateDescr predicate) {
- predicatesById.put(predicate.getId(), predicate);
- }
-
- public void add(Consequence consequence) {
- consiquencesById.put(consequence.getId(), consequence);
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsDataMaps.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,241 @@
+package org.drools.verifier.dao;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsEvalDescr;
+import org.drools.verifier.components.AnalyticsPredicateDescr;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Consequence;
+import org.drools.verifier.components.Constraint;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.FieldClassLink;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.RulePackage;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.components.Variable;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+class AnalyticsDataMaps implements AnalyticsData {
+
+ private Map<Integer, RulePackage> packagesById = new TreeMap<Integer, RulePackage>();
+ private Map<String, RulePackage> packagesByName = new TreeMap<String, RulePackage>();
+
+ private Map<Integer, AnalyticsClass> classesById = new TreeMap<Integer, AnalyticsClass>();
+ private Map<String, AnalyticsClass> classesByName = new TreeMap<String, AnalyticsClass>();
+ private Map<String, Field> fieldsByClassAndFieldName = new TreeMap<String, Field>();
+ private Map<Integer, Field> fieldsById = new TreeMap<Integer, Field>();
+ private DataTree<Integer, Field> fieldsByClassId = new DataTree<Integer, Field>();
+ private Map<String, FieldClassLink> fieldClassLinkByIds = new TreeMap<String, FieldClassLink>();
+
+ private Map<Integer, AnalyticsRule> rulesById = new TreeMap<Integer, AnalyticsRule>();
+ private Map<Integer, Pattern> patternsById = new TreeMap<Integer, Pattern>();
+ private DataTree<Integer, Pattern> patternsByClassId = new DataTree<Integer, Pattern>();
+ private DataTree<String, Pattern> patternsByRuleName = new DataTree<String, Pattern>();
+ private Map<Integer, Constraint> constraintsById = new TreeMap<Integer, Constraint>();
+ private Map<Integer, Restriction> restrictionsById = new TreeMap<Integer, Restriction>();
+ private DataTree<Integer, Restriction> restrictionsByFieldId = new DataTree<Integer, Restriction>();
+ private Map<Integer, OperatorDescr> operatorsById = new TreeMap<Integer, OperatorDescr>();
+ private Map<Integer, AnalyticsEvalDescr> evalsById = new TreeMap<Integer, AnalyticsEvalDescr>();
+ private Map<Integer, AnalyticsPredicateDescr> predicatesById = new TreeMap<Integer, AnalyticsPredicateDescr>();
+ private Map<Integer, Consequence> consiquencesById = new TreeMap<Integer, Consequence>();
+
+ private Map<String, Variable> variablesByRuleAndVariableName = new TreeMap<String, Variable>();
+
+ private Map<Integer, PatternPossibility> patternPossibilitiesById = new TreeMap<Integer, PatternPossibility>();
+ private Map<Integer, RulePossibility> rulePossibilitiesById = new TreeMap<Integer, RulePossibility>();
+
+ public void add(AnalyticsClass clazz) {
+ classesById.put(Integer.valueOf(clazz.getId()), clazz);
+ classesByName.put(clazz.getName(), clazz);
+ }
+
+ public void add(Field field) {
+ AnalyticsClass clazz = classesById.get(Integer.valueOf(field
+ .getClassId()));
+ fieldsByClassAndFieldName.put(clazz.getName() + "." + field.getName(),
+ field);
+
+ fieldsById.put(field.getId(), field);
+
+ fieldsByClassId.put(field.getClassId(), field);
+ }
+
+ public void add(Variable variable) {
+ variablesByRuleAndVariableName.put(variable.getRuleName() + "."
+ + variable.getName(), variable);
+ }
+
+ public void add(AnalyticsRule rule) {
+ rulesById.put(Integer.valueOf(rule.getId()), rule);
+ }
+
+ public void add(Pattern pattern) {
+ patternsById.put(Integer.valueOf(pattern.getId()), pattern);
+
+ patternsByClassId.put(pattern.getClassId(), pattern);
+ patternsByRuleName.put(pattern.getRuleName(), pattern);
+ }
+
+ public void add(Constraint constraint) {
+ constraintsById.put(Integer.valueOf(constraint.getId()), constraint);
+ }
+
+ public void add(Restriction restriction) {
+ restrictionsById.put(restriction.getId(), restriction);
+
+ restrictionsByFieldId.put(restriction.getFieldId(), restriction);
+ }
+
+ public void add(FieldClassLink link) {
+ fieldClassLinkByIds.put(link.getFieldId() + "." + link.getClassId(),
+ link);
+ }
+
+ public AnalyticsClass getClassByPackageAndName(String name) {
+ return classesByName.get(name);
+ }
+
+ public Field getFieldByClassAndFieldName(String className, String fieldName) {
+ return fieldsByClassAndFieldName.get(className + "." + fieldName);
+ }
+
+ public Variable getVariableByRuleAndVariableName(String ruleName,
+ String variableName) {
+ return variablesByRuleAndVariableName
+ .get(ruleName + "." + variableName);
+ }
+
+ public FieldClassLink getFieldClassLink(int id, int id2) {
+ return fieldClassLinkByIds.get(id + "." + id2);
+ }
+
+ public Collection<AnalyticsRule> getAllRules() {
+ return rulesById.values();
+ }
+
+ public void add(PatternPossibility possibility) {
+ patternPossibilitiesById.put(possibility.getId(), possibility);
+ }
+
+ public void add(RulePossibility possibility) {
+ rulePossibilitiesById.put(possibility.getId(), possibility);
+ }
+
+ public Collection<AnalyticsClass> getClassesByRuleName(String ruleName) {
+ Set<AnalyticsClass> set = new HashSet<AnalyticsClass>();
+
+ for (Pattern pattern : patternsByRuleName.getBranch(ruleName)) {
+ AnalyticsClass clazz = getClassById(pattern.getClassId());
+ set.add(clazz);
+ }
+
+ return set;
+ }
+
+ public AnalyticsClass getClassById(int id) {
+ return classesById.get(id);
+ }
+
+ public Collection<? extends Object> getAll() {
+ List<Object> objects = new ArrayList<Object>();
+
+ objects.addAll(packagesById.values());
+
+ objects.addAll(rulesById.values());
+ objects.addAll(patternsById.values());
+ objects.addAll(constraintsById.values());
+ objects.addAll(restrictionsById.values());
+ objects.addAll(operatorsById.values());
+ objects.addAll(evalsById.values());
+ objects.addAll(predicatesById.values());
+ objects.addAll(consiquencesById.values());
+
+ objects.addAll(patternPossibilitiesById.values());
+ objects.addAll(rulePossibilitiesById.values());
+
+ objects.addAll(classesByName.values());
+ objects.addAll(fieldsByClassAndFieldName.values());
+ objects.addAll(variablesByRuleAndVariableName.values());
+
+ return objects;
+ }
+
+ public Collection<AnalyticsClass> getAllClasses() {
+ return classesById.values();
+ }
+
+ public Collection<Field> getFieldsByClassId(int id) {
+ return fieldsByClassId.getBranch(id);
+ }
+
+ public Collection<AnalyticsRule> getRulesByClassId(int id) {
+ Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
+
+ for (Pattern pattern : patternsByClassId.getBranch(id)) {
+ rules.add(rulesById.get(pattern.getRuleId()));
+ }
+
+ return rules;
+ }
+
+ public Collection<Field> getAllFields() {
+ return fieldsById.values();
+ }
+
+ public Collection<AnalyticsRule> getRulesByFieldId(int id) {
+
+ Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
+
+ for (Restriction restriction : restrictionsByFieldId.getBranch(id)) {
+ rules.add(rulesById.get(restriction.getRuleId()));
+ }
+
+ return rules;
+ }
+
+ public Collection<RulePackage> getAllRulePackages() {
+ return packagesById.values();
+ }
+
+ public void add(RulePackage rulePackage) {
+ packagesById.put(rulePackage.getId(), rulePackage);
+ packagesByName.put(rulePackage.getName(), rulePackage);
+ }
+
+ public RulePackage getRulePackageByName(String name) {
+ return packagesByName.get(name);
+ }
+
+ public Collection<Restriction> getRestrictionsByFieldId(int id) {
+ return restrictionsByFieldId.getBranch(id);
+ }
+
+ public void add(OperatorDescr operatorDescr) {
+ operatorsById.put(operatorDescr.getId(), operatorDescr);
+ }
+
+ public void add(AnalyticsEvalDescr eval) {
+ evalsById.put(eval.getId(), eval);
+ }
+
+ public void add(AnalyticsPredicateDescr predicate) {
+ predicatesById.put(predicate.getId(), predicate);
+ }
+
+ public void add(Consequence consequence) {
+ consiquencesById.put(consequence.getId(), consequence);
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,42 +0,0 @@
-package org.drools.analytics.dao;
-
-import java.util.Collection;
-
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Gap;
-import org.drools.analytics.report.components.MissingNumberPattern;
-import org.drools.analytics.report.components.RangeCheckCause;
-import org.drools.analytics.report.components.Severity;
-
-/**
- *
- * @author Toni Rikkola
- */
-public interface AnalyticsResult {
-
- public void add(Gap gap);
-
- public void remove(Gap gap);
-
- public void add(MissingNumberPattern missingNumberPattern);
-
- public AnalyticsData getAnalyticsData();
-
- public Collection<RangeCheckCause> getRangeCheckCauses();
-
- public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id);
-
- public Collection<Gap> getGapsByFieldId(int fieldId);
-
- public void add(AnalyticsMessageBase note);
-
- /**
- * Return all the items that have given severity value.
- *
- * @param severity
- * Severity level of item.
- * @return Collection of items or an empty list if none was found.
- */
- public Collection<AnalyticsMessageBase> getBySeverity(Severity severity);
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResult.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,42 @@
+package org.drools.verifier.dao;
+
+import java.util.Collection;
+
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Gap;
+import org.drools.verifier.report.components.MissingNumberPattern;
+import org.drools.verifier.report.components.RangeCheckCause;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public interface AnalyticsResult {
+
+ public void add(Gap gap);
+
+ public void remove(Gap gap);
+
+ public void add(MissingNumberPattern missingNumberPattern);
+
+ public AnalyticsData getAnalyticsData();
+
+ public Collection<RangeCheckCause> getRangeCheckCauses();
+
+ public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id);
+
+ public Collection<Gap> getGapsByFieldId(int fieldId);
+
+ public void add(AnalyticsMessageBase note);
+
+ /**
+ * Return all the items that have given severity value.
+ *
+ * @param severity
+ * Severity level of item.
+ * @return Collection of items or an empty list if none was found.
+ */
+ public Collection<AnalyticsMessageBase> getBySeverity(Severity severity);
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +0,0 @@
-package org.drools.analytics.dao;
-
-public class AnalyticsResultFactory {
-
- public static AnalyticsResult createAnalyticsResult() {
-
- return new AnalyticsResultNormal();
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultFactory.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,9 @@
+package org.drools.verifier.dao;
+
+public class AnalyticsResultFactory {
+
+ public static AnalyticsResult createAnalyticsResult() {
+
+ return new AnalyticsResultNormal();
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,98 +0,0 @@
-package org.drools.analytics.dao;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Gap;
-import org.drools.analytics.report.components.MissingNumberPattern;
-import org.drools.analytics.report.components.RangeCheckCause;
-import org.drools.analytics.report.components.Severity;
-
-/**
- *
- * @author Toni Rikkola
- */
-class AnalyticsResultNormal implements AnalyticsResult {
- private static final long serialVersionUID = -6207688526236713721L;
-
- private Map<Integer, Gap> gapsById = new TreeMap<Integer, Gap>();
- private DataTree<Integer, Gap> gapsByFieldId = new DataTree<Integer, Gap>();
- private Map<Integer, MissingNumberPattern> missingNumberPatternsById = new TreeMap<Integer, MissingNumberPattern>();
- private DataTree<Integer, MissingNumberPattern> missingNumberPatternsByFieldId = new DataTree<Integer, MissingNumberPattern>();
-
- private List<AnalyticsMessageBase> messages = new ArrayList<AnalyticsMessageBase>();
- private DataTree<Severity, AnalyticsMessageBase> messagesBySeverity = new DataTree<Severity, AnalyticsMessageBase>();
-
- private AnalyticsData data = new AnalyticsDataMaps();
-
- public void add(AnalyticsMessageBase message) {
- messages.add(message);
- messagesBySeverity.put(message.getSeverity(), message);
- }
-
- public Collection<AnalyticsMessageBase> getBySeverity(
- Severity severity) {
- Collection<AnalyticsMessageBase> result = messagesBySeverity
- .getBranch(severity);
-
- if (result == null) {
- return Collections.emptyList();
- } else {
- return result;
- }
- }
-
- public void add(Gap gap) {
- gapsById.put(gap.getId(), gap);
-
- // Put by field id.
- gapsByFieldId.put(gap.getField().getId(), gap);
- }
-
- public void remove(Gap gap) {
- gapsById.remove(gap.getId());
-
- gapsByFieldId.remove(gap.getField().getId(), gap);
- }
-
- public Collection<Gap> getGapsByFieldId(int fieldId) {
- return gapsByFieldId.getBranch(fieldId);
- }
-
- public Collection<RangeCheckCause> getRangeCheckCauses() {
- Collection<RangeCheckCause> result = new ArrayList<RangeCheckCause>();
-
- result.addAll(gapsById.values());
- result.addAll(missingNumberPatternsById.values());
-
- return result;
- }
-
- public void add(MissingNumberPattern missingNumberPattern) {
- missingNumberPatternsById.put(missingNumberPattern.getId(),
- missingNumberPattern);
-
- // Put by field id.
- missingNumberPatternsByFieldId.put(missingNumberPattern.getField()
- .getId(), missingNumberPattern);
- }
-
- public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id) {
- Collection<RangeCheckCause> result = new ArrayList<RangeCheckCause>();
-
- result.addAll(gapsByFieldId.getBranch(id));
-
- result.addAll(missingNumberPatternsByFieldId.getBranch(id));
-
- return result;
- }
-
- public AnalyticsData getAnalyticsData() {
- return data;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/AnalyticsResultNormal.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,98 @@
+package org.drools.verifier.dao;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Gap;
+import org.drools.verifier.report.components.MissingNumberPattern;
+import org.drools.verifier.report.components.RangeCheckCause;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+class AnalyticsResultNormal implements AnalyticsResult {
+ private static final long serialVersionUID = -6207688526236713721L;
+
+ private Map<Integer, Gap> gapsById = new TreeMap<Integer, Gap>();
+ private DataTree<Integer, Gap> gapsByFieldId = new DataTree<Integer, Gap>();
+ private Map<Integer, MissingNumberPattern> missingNumberPatternsById = new TreeMap<Integer, MissingNumberPattern>();
+ private DataTree<Integer, MissingNumberPattern> missingNumberPatternsByFieldId = new DataTree<Integer, MissingNumberPattern>();
+
+ private List<AnalyticsMessageBase> messages = new ArrayList<AnalyticsMessageBase>();
+ private DataTree<Severity, AnalyticsMessageBase> messagesBySeverity = new DataTree<Severity, AnalyticsMessageBase>();
+
+ private AnalyticsData data = new AnalyticsDataMaps();
+
+ public void add(AnalyticsMessageBase message) {
+ messages.add(message);
+ messagesBySeverity.put(message.getSeverity(), message);
+ }
+
+ public Collection<AnalyticsMessageBase> getBySeverity(
+ Severity severity) {
+ Collection<AnalyticsMessageBase> result = messagesBySeverity
+ .getBranch(severity);
+
+ if (result == null) {
+ return Collections.emptyList();
+ } else {
+ return result;
+ }
+ }
+
+ public void add(Gap gap) {
+ gapsById.put(gap.getId(), gap);
+
+ // Put by field id.
+ gapsByFieldId.put(gap.getField().getId(), gap);
+ }
+
+ public void remove(Gap gap) {
+ gapsById.remove(gap.getId());
+
+ gapsByFieldId.remove(gap.getField().getId(), gap);
+ }
+
+ public Collection<Gap> getGapsByFieldId(int fieldId) {
+ return gapsByFieldId.getBranch(fieldId);
+ }
+
+ public Collection<RangeCheckCause> getRangeCheckCauses() {
+ Collection<RangeCheckCause> result = new ArrayList<RangeCheckCause>();
+
+ result.addAll(gapsById.values());
+ result.addAll(missingNumberPatternsById.values());
+
+ return result;
+ }
+
+ public void add(MissingNumberPattern missingNumberPattern) {
+ missingNumberPatternsById.put(missingNumberPattern.getId(),
+ missingNumberPattern);
+
+ // Put by field id.
+ missingNumberPatternsByFieldId.put(missingNumberPattern.getField()
+ .getId(), missingNumberPattern);
+ }
+
+ public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id) {
+ Collection<RangeCheckCause> result = new ArrayList<RangeCheckCause>();
+
+ result.addAll(gapsByFieldId.getBranch(id));
+
+ result.addAll(missingNumberPatternsByFieldId.getBranch(id));
+
+ return result;
+ }
+
+ public AnalyticsData getAnalyticsData() {
+ return data;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/DataTree.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,64 +0,0 @@
-package org.drools.analytics.dao;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-public class DataTree<K, V> {
- private Map<K, Set<V>> map = new TreeMap<K, Set<V>>();
-
- public void put(K key, V value) {
- if (map.containsKey(key)) {
- Set<V> set = map.get(key);
- set.add(value);
- } else {
- Set<V> set = new TreeSet<V>();
- set.add(value);
- map.put(key, set);
- }
- }
-
- public Set<K> keySet() {
- return map.keySet();
- }
-
- public Set<V> getBranch(K key) {
- Set<V> set = map.get(key);
- if (set != null) {
- return set;
- } else {
- return Collections.emptySet();
- }
- }
-
- public Collection<V> values() {
- Collection<V> values = new ArrayList<V>();
-
- for (Set<V> set : map.values()) {
- for (V value : set) {
- values.add(value);
- }
- }
-
- return values;
- }
-
- public boolean remove(K key, V value) {
- Set<V> set = map.get(key);
-
- if (set != null) {
- return set.remove(value);
- } else {
- return false;
- }
- }
-
- @Override
- public String toString() {
- return values().toString();
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/DataTree.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/dao/DataTree.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,64 @@
+package org.drools.verifier.dao;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+public class DataTree<K, V> {
+ private Map<K, Set<V>> map = new TreeMap<K, Set<V>>();
+
+ public void put(K key, V value) {
+ if (map.containsKey(key)) {
+ Set<V> set = map.get(key);
+ set.add(value);
+ } else {
+ Set<V> set = new TreeSet<V>();
+ set.add(value);
+ map.put(key, set);
+ }
+ }
+
+ public Set<K> keySet() {
+ return map.keySet();
+ }
+
+ public Set<V> getBranch(K key) {
+ Set<V> set = map.get(key);
+ if (set != null) {
+ return set;
+ } else {
+ return Collections.emptySet();
+ }
+ }
+
+ public Collection<V> values() {
+ Collection<V> values = new ArrayList<V>();
+
+ for (Set<V> set : map.values()) {
+ for (V value : set) {
+ values.add(value);
+ }
+ }
+
+ return values;
+ }
+
+ public boolean remove(K key, V value) {
+ Set<V> set = map.get(key);
+
+ if (set != null) {
+ return set.remove(value);
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return values().toString();
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/ReportModeller.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/ReportModeller.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/ReportModeller.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,61 @@
+package org.drools.verifier.report;
+
+import java.util.Collection;
+
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Gap;
+import org.drools.verifier.report.components.MissingNumberPattern;
+import org.drools.verifier.report.components.Severity;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class ReportModeller {
+
+ public static String writeXML(AnalyticsResult result) {
+ XStream xstream = new XStream();
+
+ xstream.alias("result", AnalyticsResult.class);
+ xstream.alias("message", AnalyticsMessage.class);
+
+ xstream.alias("Gap", Gap.class);
+ xstream.alias("MissingNumber", MissingNumberPattern.class);
+
+ xstream.alias("Field", org.drools.verifier.components.Field.class);
+
+ xstream.alias("LiteralRestriction", LiteralRestriction.class);
+
+ return "<?xml version=\"1.0\"?>\n" + xstream.toXML(result);
+ }
+
+ public static String writePlainText(AnalyticsResult result) {
+
+ StringBuffer str = new StringBuffer();
+
+ for (Severity severity : Severity
+ .values()) {
+ Collection<AnalyticsMessageBase> messages = result
+ .getBySeverity(severity);
+
+ str.append("************* ");
+ str.append(severity.getTuple());
+ str.append(" ");
+
+ str.append(messages.size());
+ str.append(" ******************\n");
+ for (AnalyticsMessageBase message : messages) {
+ str.append(message);
+ str.append("\n");
+ }
+ str.append("\n");
+ }
+
+ return str.toString();
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components)
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,63 +0,0 @@
-package org.drools.analytics.report.components;
-
-import java.util.Collection;
-import java.util.Collections;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class AnalyticsMessage extends AnalyticsMessageBase {
- private static final long serialVersionUID = 9190003495068712452L;
-
- protected Collection<Cause> causes;
-
- public AnalyticsMessage(Severity severity, MessageType messageType,
- Cause faulty, String message, Collection<Cause> causes) {
- super(severity, messageType, faulty, message);
-
- this.causes = causes;
- }
-
- public AnalyticsMessage(Severity severity, MessageType messageType,
- Cause faulty, String message) {
- super(severity, messageType, faulty, message);
-
- this.causes = Collections.emptyList();
- }
-
- public Collection<Cause> getCauses() {
- return causes;
- }
-
- public void setCauses(Collection<Cause> reasons) {
- this.causes = reasons;
- }
-
- @Override
- public String toString() {
- StringBuffer str = new StringBuffer(severity.getSingular());
-
- str.append(" id = ");
- str.append(id);
- str.append(":\n");
-
- if (faulty != null) {
- str.append("faulty : ");
- str.append(faulty);
- str.append(", ");
- }
-
- str.append(message);
- str.append(" \n\tCauses are [ \n");
-
- for (Cause cause : causes) {
- str.append("\t\t");
- str.append(cause);
- str.append("\n");
- }
- str.append("\t]");
-
- return str.toString();
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,63 @@
+package org.drools.verifier.report.components;
+
+import java.util.Collection;
+import java.util.Collections;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class AnalyticsMessage extends AnalyticsMessageBase {
+ private static final long serialVersionUID = 9190003495068712452L;
+
+ protected Collection<Cause> causes;
+
+ public AnalyticsMessage(Severity severity, MessageType messageType,
+ Cause faulty, String message, Collection<Cause> causes) {
+ super(severity, messageType, faulty, message);
+
+ this.causes = causes;
+ }
+
+ public AnalyticsMessage(Severity severity, MessageType messageType,
+ Cause faulty, String message) {
+ super(severity, messageType, faulty, message);
+
+ this.causes = Collections.emptyList();
+ }
+
+ public Collection<Cause> getCauses() {
+ return causes;
+ }
+
+ public void setCauses(Collection<Cause> reasons) {
+ this.causes = reasons;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer str = new StringBuffer(severity.getSingular());
+
+ str.append(" id = ");
+ str.append(id);
+ str.append(":\n");
+
+ if (faulty != null) {
+ str.append("faulty : ");
+ str.append(faulty);
+ str.append(", ");
+ }
+
+ str.append(message);
+ str.append(" \n\tCauses are [ \n");
+
+ for (Cause cause : causes) {
+ str.append("\t\t");
+ str.append(cause);
+ str.append("\n");
+ }
+ str.append("\t]");
+
+ return str.toString();
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,102 +0,0 @@
-package org.drools.analytics.report.components;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- *
- * @author Toni Rikkola
- */
-abstract public class AnalyticsMessageBase implements Serializable,
- Comparable<AnalyticsMessageBase> {
- private static final long serialVersionUID = 9190003495068712452L;
-
- private static int index = 0;
-
- protected Severity severity;
- protected MessageType messageType;
-
- protected int id = index++;
- protected Cause faulty;
- protected String message;
-
- public int compareTo(AnalyticsMessageBase o) {
- if (id == o.getId()) {
- return 0;
- }
-
- return (id > o.getId() ? 1 : -1);
- }
-
- protected AnalyticsMessageBase(Severity severity, MessageType messageType,
- Cause faulty, String message) {
- this.severity = severity;
- this.messageType = messageType;
- this.faulty = faulty;
- this.message = message;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public Cause getFaulty() {
- return faulty;
- }
-
- public void setFaulty(Cause faulty) {
- this.faulty = faulty;
- }
-
- public MessageType getMessageType() {
- return messageType;
- }
-
- public void setMessageType(MessageType messageType) {
- this.messageType = messageType;
- }
-
- public Severity getSeverity() {
- return severity;
- }
-
- public void setSeverity(Severity severity) {
- this.severity = severity;
- }
-
- @Override
- public String toString() {
- StringBuffer str = new StringBuffer(severity.singular);
-
- str.append(" id = ");
- str.append(id);
- str.append(":\n");
-
- if (faulty != null) {
- str.append("faulty : ");
- str.append(faulty);
- str.append(", ");
- }
-
- str.append(message);
-
- str.append("\t]");
-
- return str.toString();
- }
-
- public abstract Collection<? extends Cause> getCauses();
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsMessageBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,102 @@
+package org.drools.verifier.report.components;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+abstract public class AnalyticsMessageBase implements Serializable,
+ Comparable<AnalyticsMessageBase> {
+ private static final long serialVersionUID = 9190003495068712452L;
+
+ private static int index = 0;
+
+ protected Severity severity;
+ protected MessageType messageType;
+
+ protected int id = index++;
+ protected Cause faulty;
+ protected String message;
+
+ public int compareTo(AnalyticsMessageBase o) {
+ if (id == o.getId()) {
+ return 0;
+ }
+
+ return (id > o.getId() ? 1 : -1);
+ }
+
+ protected AnalyticsMessageBase(Severity severity, MessageType messageType,
+ Cause faulty, String message) {
+ this.severity = severity;
+ this.messageType = messageType;
+ this.faulty = faulty;
+ this.message = message;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Cause getFaulty() {
+ return faulty;
+ }
+
+ public void setFaulty(Cause faulty) {
+ this.faulty = faulty;
+ }
+
+ public MessageType getMessageType() {
+ return messageType;
+ }
+
+ public void setMessageType(MessageType messageType) {
+ this.messageType = messageType;
+ }
+
+ public Severity getSeverity() {
+ return severity;
+ }
+
+ public void setSeverity(Severity severity) {
+ this.severity = severity;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer str = new StringBuffer(severity.singular);
+
+ str.append(" id = ");
+ str.append(id);
+ str.append(":\n");
+
+ if (faulty != null) {
+ str.append("faulty : ");
+ str.append(faulty);
+ str.append(", ");
+ }
+
+ str.append(message);
+
+ str.append("\t]");
+
+ return str.toString();
+ }
+
+ public abstract Collection<? extends Cause> getCauses();
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsRangeCheckMessage.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,24 +0,0 @@
-package org.drools.analytics.report.components;
-
-import java.util.Collection;
-
-public class AnalyticsRangeCheckMessage extends AnalyticsMessageBase {
- private static final long serialVersionUID = -2403507929285633672L;
-
- private Collection<RangeCheckCause> causes;
-
- public AnalyticsRangeCheckMessage(Severity severity, Cause faulty,
- String message, Collection<RangeCheckCause> causes) {
- super(severity, MessageType.RANGE_CHECK, faulty, message);
-
- this.causes = causes;
- }
-
- public Collection<RangeCheckCause> getCauses() {
- return causes;
- }
-
- public void setCauses(Collection<RangeCheckCause> reasons) {
- this.causes = reasons;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsRangeCheckMessage.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/AnalyticsRangeCheckMessage.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,24 @@
+package org.drools.verifier.report.components;
+
+import java.util.Collection;
+
+public class AnalyticsRangeCheckMessage extends AnalyticsMessageBase {
+ private static final long serialVersionUID = -2403507929285633672L;
+
+ private Collection<RangeCheckCause> causes;
+
+ public AnalyticsRangeCheckMessage(Severity severity, Cause faulty,
+ String message, Collection<RangeCheckCause> causes) {
+ super(severity, MessageType.RANGE_CHECK, faulty, message);
+
+ this.causes = causes;
+ }
+
+ public Collection<RangeCheckCause> getCauses() {
+ return causes;
+ }
+
+ public void setCauses(Collection<RangeCheckCause> reasons) {
+ this.causes = reasons;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +0,0 @@
-package org.drools.analytics.report.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public interface Cause {
-
-
- public int getId();
-
- public CauseType getCauseType();
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Cause.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,13 @@
+package org.drools.verifier.report.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public interface Cause {
+
+
+ public int getId();
+
+ public CauseType getCauseType();
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,25 +0,0 @@
-package org.drools.analytics.report.components;
-
-public class CauseType {
-
- public static final CauseType RULE = new CauseType(0);
- public static final CauseType FIELD = new CauseType(1);
- public static final CauseType GAP = new CauseType(2);
- public static final CauseType PATTERN = new CauseType(3);
- public static final CauseType RESTRICTION = new CauseType(4);
- public static final CauseType PATTERN_POSSIBILITY = new CauseType(5);
- public static final CauseType RULE_POSSIBILITY = new CauseType(6);
- public static final CauseType RANGE_CHECK_CAUSE = new CauseType(7);
- public static final CauseType REDUNDANCY = new CauseType(8);
- public static final CauseType EVAL = new CauseType(9);
- public static final CauseType PREDICATE = new CauseType(10);
- public static final CauseType CONSTRAINT = new CauseType(11);
- public static final CauseType CONSEQUENCE = new CauseType(12);
- public static final CauseType SUBSUMPTION = new CauseType(13);
-
- public final int index;
-
- public CauseType(int i) {
- index = i;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/CauseType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,27 @@
+package org.drools.verifier.report.components;
+
+public class CauseType {
+
+ public static final CauseType RULE = new CauseType(0);
+ public static final CauseType FIELD = new CauseType(1);
+ public static final CauseType GAP = new CauseType(2);
+ public static final CauseType PATTERN = new CauseType(3);
+ public static final CauseType RESTRICTION = new CauseType(4);
+ public static final CauseType PATTERN_POSSIBILITY = new CauseType(5);
+ public static final CauseType RULE_POSSIBILITY = new CauseType(6);
+ public static final CauseType RANGE_CHECK_CAUSE = new CauseType(7);
+ public static final CauseType REDUNDANCY = new CauseType(8);
+ public static final CauseType EVAL = new CauseType(9);
+ public static final CauseType PREDICATE = new CauseType(10);
+ public static final CauseType CONSTRAINT = new CauseType(11);
+ public static final CauseType CONSEQUENCE = new CauseType(12);
+ public static final CauseType SUBSUMPTION = new CauseType(13);
+ public static final CauseType OPPOSITES = new CauseType(14);
+ public static final CauseType OPPOSITE = new CauseType(15);
+
+ public final int index;
+
+ public CauseType(int i) {
+ index = i;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,64 +0,0 @@
-package org.drools.analytics.report.components;
-
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.base.evaluators.Operator;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Gap extends MissingRange implements RangeCheckCause,
- Comparable<MissingRange> {
-
- private LiteralRestriction restriction;
-
- public int compareTo(MissingRange another) {
- return super.compareTo(another);
- }
-
- public CauseType getCauseType() {
- return CauseType.GAP;
- }
-
- /**
- *
- * @param field
- * Field from where the value is missing.
- * @param evaluator
- * Evaluator for the missing value.
- * @param cause
- * The restriction that the gap begins from.
- */
- public Gap(Field field, Operator operator, LiteralRestriction restriction) {
- this.field = field;
- this.operator = operator;
- this.restriction = restriction;
- }
-
- public String getRuleName() {
- return restriction.getRuleName();
- }
-
- public LiteralRestriction getRestriction() {
- return restriction;
- }
-
- public void setRestriction(LiteralRestriction restriction) {
- this.restriction = restriction;
- }
-
- public String getValueAsString() {
- return restriction.getValueAsString();
- }
-
- public Object getValueAsObject() {
- return restriction.getValueAsObject();
- }
-
- @Override
- public String toString() {
- return "Gap: (" + field + ") " + getOperator() + " "
- + getValueAsString() + " from rule: [" + getRuleName() + "]";
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Gap.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,64 @@
+package org.drools.verifier.report.components;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Gap extends MissingRange implements RangeCheckCause,
+ Comparable<MissingRange> {
+
+ private LiteralRestriction restriction;
+
+ public int compareTo(MissingRange another) {
+ return super.compareTo(another);
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.GAP;
+ }
+
+ /**
+ *
+ * @param field
+ * Field from where the value is missing.
+ * @param evaluator
+ * Evaluator for the missing value.
+ * @param cause
+ * The restriction that the gap begins from.
+ */
+ public Gap(Field field, Operator operator, LiteralRestriction restriction) {
+ this.field = field;
+ this.operator = operator;
+ this.restriction = restriction;
+ }
+
+ public String getRuleName() {
+ return restriction.getRuleName();
+ }
+
+ public LiteralRestriction getRestriction() {
+ return restriction;
+ }
+
+ public void setRestriction(LiteralRestriction restriction) {
+ this.restriction = restriction;
+ }
+
+ public String getValueAsString() {
+ return restriction.getValueAsString();
+ }
+
+ public Object getValueAsObject() {
+ return restriction.getValueAsObject();
+ }
+
+ @Override
+ public String toString() {
+ return "Gap: (" + field + ") " + getOperator() + " "
+ + getValueAsString() + " from rule: [" + getRuleName() + "]";
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Incompatibility.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Incompatibility.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Incompatibility.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Incompatibility.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,52 @@
+package org.drools.verifier.report.components;
+
+/**
+ *
+ * Two causes are opposites.
+ *
+ * @author Toni Rikkola
+ */
+public class Incompatibility implements Cause {
+
+ private static int index = 0;
+
+ private int id = index++;
+
+ private Cause left;
+ private Cause right;
+
+ public Incompatibility(Cause left, Cause right) {
+ this.left = left;
+ this.right = right;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.OPPOSITES;
+ }
+
+ public Cause getLeft() {
+ return left;
+ }
+
+ public void setLeft(Cause left) {
+ this.left = left;
+ }
+
+ public Cause getRight() {
+ return right;
+ }
+
+ public void setRight(Cause right) {
+ this.right = right;
+ }
+
+ @Override
+ public String toString() {
+ return "(" + getLeft() + ") and (" + getRight()
+ + ") are opposites.";
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,21 +0,0 @@
-package org.drools.analytics.report.components;
-
-
-public class MessageType {
- public static final MessageType NOT_SPECIFIED = new MessageType(0);
- public static final MessageType RANGE_CHECK = new MessageType(1);
- public static final MessageType MISSING_EQUALITY = new MessageType(2);
- public static final MessageType REDUNDANCY = new MessageType(3);
- public static final MessageType SUBSUMPTION = new MessageType(4);
- public static final MessageType MISSING_COMPONENT = new MessageType(5);
- public static final MessageType OPTIMISATION = new MessageType(6);
- public static final MessageType INCOHERENCE = new MessageType(7);
- public static final MessageType OVERLAP = new MessageType(8);
-
- public final int index;
-
- public MessageType(int i) {
- index = i;
- }
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MessageType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,21 @@
+package org.drools.verifier.report.components;
+
+
+public class MessageType {
+ public static final MessageType NOT_SPECIFIED = new MessageType(0);
+ public static final MessageType RANGE_CHECK = new MessageType(1);
+ public static final MessageType MISSING_EQUALITY = new MessageType(2);
+ public static final MessageType REDUNDANCY = new MessageType(3);
+ public static final MessageType SUBSUMPTION = new MessageType(4);
+ public static final MessageType MISSING_COMPONENT = new MessageType(5);
+ public static final MessageType OPTIMISATION = new MessageType(6);
+ public static final MessageType INCOHERENCE = new MessageType(7);
+ public static final MessageType OVERLAP = new MessageType(8);
+
+ public final int index;
+
+ public MessageType(int i) {
+ index = i;
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,83 +0,0 @@
-package org.drools.analytics.report.components;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Locale;
-
-import org.drools.analytics.components.Field;
-import org.drools.base.evaluators.Operator;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class MissingNumberPattern extends MissingRange implements
- RangeCheckCause, Comparable<MissingRange> {
-
- private Field.FieldType valueType;
-
- private String value;
-
- public int compareTo(MissingRange another) {
- return super.compareTo(another);
- }
-
- public CauseType getCauseType() {
- return CauseType.RANGE_CHECK_CAUSE;
- }
-
- public MissingNumberPattern(Field field, Operator operator,
- Field.FieldType valueType, String value) {
- this.field = field;
- this.operator = operator;
- this.valueType = valueType;
- this.value = value;
- }
-
- /**
- * Returns alway null, because there is no rule that this is related to.
- */
- public String getRuleName() {
- return null;
- }
-
- public String getValueAsString() {
- return value;
- }
-
- public Object getValueAsObject() {
- if (valueType == Field.FieldType.BOOLEAN) {
- return Boolean.valueOf(value);
- } else if (valueType == Field.FieldType.DATE) {
- try {
- String fmt = System.getProperty("drools.dateformat");
- if (fmt == null) {
- fmt = "dd-MMM-yyyy";
- }
-
- return new SimpleDateFormat(fmt, Locale.ENGLISH).parse(value);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- } else if (valueType == Field.FieldType.DOUBLE) {
- return Double.valueOf(value);
- } else if (valueType == Field.FieldType.INT) {
- return Integer.valueOf(value);
- }
-
- return value;
- }
-
- public Field.FieldType getValueType() {
- return valueType;
- }
-
- public void setValueType(Field.FieldType valueType) {
- this.valueType = valueType;
- }
-
- @Override
- public String toString() {
- return "Missing restriction " + operator + " " + value;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,83 @@
+package org.drools.verifier.report.components;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.Field;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class MissingNumberPattern extends MissingRange implements
+ RangeCheckCause, Comparable<MissingRange> {
+
+ private Field.FieldType valueType;
+
+ private String value;
+
+ public int compareTo(MissingRange another) {
+ return super.compareTo(another);
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.RANGE_CHECK_CAUSE;
+ }
+
+ public MissingNumberPattern(Field field, Operator operator,
+ Field.FieldType valueType, String value) {
+ this.field = field;
+ this.operator = operator;
+ this.valueType = valueType;
+ this.value = value;
+ }
+
+ /**
+ * Returns alway null, because there is no rule that this is related to.
+ */
+ public String getRuleName() {
+ return null;
+ }
+
+ public String getValueAsString() {
+ return value;
+ }
+
+ public Object getValueAsObject() {
+ if (valueType == Field.FieldType.BOOLEAN) {
+ return Boolean.valueOf(value);
+ } else if (valueType == Field.FieldType.DATE) {
+ try {
+ String fmt = System.getProperty("drools.dateformat");
+ if (fmt == null) {
+ fmt = "dd-MMM-yyyy";
+ }
+
+ return new SimpleDateFormat(fmt, Locale.ENGLISH).parse(value);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ } else if (valueType == Field.FieldType.DOUBLE) {
+ return Double.valueOf(value);
+ } else if (valueType == Field.FieldType.INT) {
+ return Integer.valueOf(value);
+ }
+
+ return value;
+ }
+
+ public Field.FieldType getValueType() {
+ return valueType;
+ }
+
+ public void setValueType(Field.FieldType valueType) {
+ this.valueType = valueType;
+ }
+
+ @Override
+ public String toString() {
+ return "Missing restriction " + operator + " " + value;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,75 +0,0 @@
-package org.drools.analytics.report.components;
-
-import org.drools.analytics.components.Field;
-import org.drools.base.evaluators.Operator;
-
-public abstract class MissingRange implements Comparable<MissingRange> {
-
- private static int index = 0;
- protected int id = index++;
-
- protected Field field;
- protected Operator operator;
-
- private String firedRuleName;
-
- /**
- * Takes the given operator e, and returns a reversed version of it.
- *
- * @return operator
- */
- public static Operator getReversedOperator(Operator e) {
- if (e.equals(Operator.NOT_EQUAL)) {
- return Operator.EQUAL;
- } else if (e.equals(Operator.EQUAL)) {
- return Operator.NOT_EQUAL;
- } else if (e.equals(Operator.GREATER)) {
- return Operator.LESS_OR_EQUAL;
- } else if (e.equals(Operator.LESS)) {
- return Operator.GREATER_OR_EQUAL;
- } else if (e.equals(Operator.GREATER_OR_EQUAL)) {
- return Operator.LESS;
- } else if (e.equals(Operator.LESS_OR_EQUAL)) {
- return Operator.GREATER;
- } else {
- return Operator.determineOperator(e.getOperatorString(), !e
- .isNegated());
- }
- }
-
- public int compareTo(MissingRange another) {
- int value = this.id - another.getId();
-
- if (value > 0) {
- return 1;
- } else if (value < 0) {
- return -1;
- } else {
- return 0;
- }
- }
-
- public int getId() {
- return id;
- }
-
- public Field getField() {
- return field;
- }
-
- public void setField(Field field) {
- this.field = field;
- }
-
- public Operator getOperator() {
- return operator;
- }
-
- public String getFiredRuleName() {
- return firedRuleName;
- }
-
- public void setFiredRuleName(String firedRuleName) {
- this.firedRuleName = firedRuleName;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/MissingRange.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,75 @@
+package org.drools.verifier.report.components;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.Field;
+
+public abstract class MissingRange implements Comparable<MissingRange> {
+
+ private static int index = 0;
+ protected int id = index++;
+
+ protected Field field;
+ protected Operator operator;
+
+ private String firedRuleName;
+
+ /**
+ * Takes the given operator e, and returns a reversed version of it.
+ *
+ * @return operator
+ */
+ public static Operator getReversedOperator(Operator e) {
+ if (e.equals(Operator.NOT_EQUAL)) {
+ return Operator.EQUAL;
+ } else if (e.equals(Operator.EQUAL)) {
+ return Operator.NOT_EQUAL;
+ } else if (e.equals(Operator.GREATER)) {
+ return Operator.LESS_OR_EQUAL;
+ } else if (e.equals(Operator.LESS)) {
+ return Operator.GREATER_OR_EQUAL;
+ } else if (e.equals(Operator.GREATER_OR_EQUAL)) {
+ return Operator.LESS;
+ } else if (e.equals(Operator.LESS_OR_EQUAL)) {
+ return Operator.GREATER;
+ } else {
+ return Operator.determineOperator(e.getOperatorString(), !e
+ .isNegated());
+ }
+ }
+
+ public int compareTo(MissingRange another) {
+ int value = this.id - another.getId();
+
+ if (value > 0) {
+ return 1;
+ } else if (value < 0) {
+ return -1;
+ } else {
+ return 0;
+ }
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public Field getField() {
+ return field;
+ }
+
+ public void setField(Field field) {
+ this.field = field;
+ }
+
+ public Operator getOperator() {
+ return operator;
+ }
+
+ public String getFiredRuleName() {
+ return firedRuleName;
+ }
+
+ public void setFiredRuleName(String firedRuleName) {
+ this.firedRuleName = firedRuleName;
+ }
+}
Added: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Opposites.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Opposites.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Opposites.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,17 @@
+package org.drools.verifier.report.components;
+
+public class Opposites extends Incompatibility implements Cause {
+
+ public Opposites(Cause left, Cause right) {
+ super(left, right);
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.OPPOSITE;
+ }
+
+ @Override
+ public String toString() {
+ return "Opposites: (" + getLeft() + ") and (" + getRight() + ").";
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/PartialRedundancy.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,53 +0,0 @@
-package org.drools.analytics.report.components;
-
-/**
- * Partial redundancy between left and right. Redundancy stores the connection
- * between left and right.
- *
- * @author Toni Rikkola
- */
-public class PartialRedundancy {
-
- private Cause left;
- private Cause right;
- private Redundancy redundancy;
-
- /**
- *
- * @param left
- * Left side parent.
- * @param right
- * Right side parent.
- * @param redundancy
- * Connection between left and right.
- */
- public PartialRedundancy(Cause left, Cause right, Redundancy redundancy) {
- this.left = left;
- this.right = right;
- this.redundancy = redundancy;
- }
-
- public Cause getLeft() {
- return left;
- }
-
- public void setLeft(Cause left) {
- this.left = left;
- }
-
- public Redundancy getRedundancy() {
- return redundancy;
- }
-
- public void setRedundancy(Redundancy redundancy) {
- this.redundancy = redundancy;
- }
-
- public Cause getRight() {
- return right;
- }
-
- public void setRight(Cause right) {
- this.right = right;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/PartialRedundancy.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,53 @@
+package org.drools.verifier.report.components;
+
+/**
+ * Partial redundancy between left and right. Redundancy stores the connection
+ * between left and right.
+ *
+ * @author Toni Rikkola
+ */
+public class PartialRedundancy {
+
+ private Cause left;
+ private Cause right;
+ private Redundancy redundancy;
+
+ /**
+ *
+ * @param left
+ * Left side parent.
+ * @param right
+ * Right side parent.
+ * @param redundancy
+ * Connection between left and right.
+ */
+ public PartialRedundancy(Cause left, Cause right, Redundancy redundancy) {
+ this.left = left;
+ this.right = right;
+ this.redundancy = redundancy;
+ }
+
+ public Cause getLeft() {
+ return left;
+ }
+
+ public void setLeft(Cause left) {
+ this.left = left;
+ }
+
+ public Redundancy getRedundancy() {
+ return redundancy;
+ }
+
+ public void setRedundancy(Redundancy redundancy) {
+ this.redundancy = redundancy;
+ }
+
+ public Cause getRight() {
+ return right;
+ }
+
+ public void setRight(Cause right) {
+ this.right = right;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RangeCheckCause.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,19 +0,0 @@
-package org.drools.analytics.report.components;
-
-import org.drools.analytics.components.Field;
-import org.drools.base.evaluators.Operator;
-
-/**
- *
- * @author Toni Rikkola
- */
-public interface RangeCheckCause extends Cause {
-
- public Field getField();
-
- public Object getValueAsObject();
-
- public String getValueAsString();
-
- public Operator getOperator();
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RangeCheckCause.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RangeCheckCause.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,19 @@
+package org.drools.verifier.report.components;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.Field;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public interface RangeCheckCause extends Cause {
+
+ public Field getField();
+
+ public Object getValueAsObject();
+
+ public String getValueAsString();
+
+ public Operator getOperator();
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,42 +0,0 @@
-package org.drools.analytics.report.components;
-
-/**
- * Presents a redundancy between two Causes. The link between them can be WEAK
- * or STRONG.
- *
- * WEAK redundancy is for example two AnalyticsRules, but not theyr's rule
- * possibilities. STRONG redundancy includes possibilities.
- *
- * @author Toni Rikkola
- */
-public class Redundancy extends Subsumption implements Cause {
- // By default the redundancy is weak.
- private RedundancyType type = RedundancyType.WEAK;
-
- public Redundancy(Cause left, Cause right) {
- super(left, right);
- }
-
- public Redundancy(RedundancyType type, Cause left, Cause right) {
- super(left, right);
- this.type = type;
- }
-
- public CauseType getCauseType() {
- return CauseType.REDUNDANCY;
- }
-
- public RedundancyType getType() {
- return type;
- }
-
- public void setType(RedundancyType type) {
- this.type = type;
- }
-
- @Override
- public String toString() {
- return "Redundancy between: (" + getLeft() + ") and (" + getRight()
- + ").";
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Redundancy.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,42 @@
+package org.drools.verifier.report.components;
+
+/**
+ * Presents a redundancy between two Causes. The link between them can be WEAK
+ * or STRONG.
+ *
+ * WEAK redundancy is for example two AnalyticsRules, but not theyr's rule
+ * possibilities. STRONG redundancy includes possibilities.
+ *
+ * @author Toni Rikkola
+ */
+public class Redundancy extends Subsumption implements Cause {
+ // By default the redundancy is weak.
+ private RedundancyType type = RedundancyType.WEAK;
+
+ public Redundancy(Cause left, Cause right) {
+ super(left, right);
+ }
+
+ public Redundancy(RedundancyType type, Cause left, Cause right) {
+ super(left, right);
+ this.type = type;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.REDUNDANCY;
+ }
+
+ public RedundancyType getType() {
+ return type;
+ }
+
+ public void setType(RedundancyType type) {
+ this.type = type;
+ }
+
+ @Override
+ public String toString() {
+ return "Redundancy between: (" + getLeft() + ") and (" + getRight()
+ + ").";
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +0,0 @@
-package org.drools.analytics.report.components;
-
-
-public class RedundancyType {
- public static final RedundancyType WEAK = new RedundancyType(0);
- public static final RedundancyType STRONG = new RedundancyType(0);
-
- public final int index;
-
- public RedundancyType(int i) {
- index = i;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/RedundancyType.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,13 @@
+package org.drools.verifier.report.components;
+
+
+public class RedundancyType {
+ public static final RedundancyType WEAK = new RedundancyType(0);
+ public static final RedundancyType STRONG = new RedundancyType(0);
+
+ public final int index;
+
+ public RedundancyType(int i) {
+ index = i;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,59 +0,0 @@
-package org.drools.analytics.report.components;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-
-
-public class Severity implements Comparable<Severity> {
- public static final Severity NOTE = new Severity(0, "Note", "Notes");
- public static final Severity WARNING = new Severity(1, "Warning",
- "Warnings");
- public static final Severity ERROR = new Severity(2, "Error", "Errors");
-
- private final int index;
- public final String singular;
- private final String tuple;
-
- private Severity(int i, String singular, String tuple) {
- this.index = i;
- this.singular = singular;
- this.tuple = tuple;
- }
-
- private int getIndex() {
- return index;
- }
-
- public String getSingular() {
- return singular;
- }
-
- public String getTuple() {
- return tuple;
- }
-
- public static Collection<Severity> values() {
- Collection<Severity> all = new ArrayList<Severity>();
-
- all.add(NOTE);
- all.add(WARNING);
- all.add(ERROR);
-
- return all;
- }
-
- @Override
- public String toString() {
- return singular;
- }
-
- public int compareTo(Severity s) {
-
- if (s.getIndex() == this.index) {
- return 0;
- }
-
- return (s.getIndex() < this.index ? -1 : 1);
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Severity.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,59 @@
+package org.drools.verifier.report.components;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+
+public class Severity implements Comparable<Severity> {
+ public static final Severity NOTE = new Severity(0, "Note", "Notes");
+ public static final Severity WARNING = new Severity(1, "Warning",
+ "Warnings");
+ public static final Severity ERROR = new Severity(2, "Error", "Errors");
+
+ private final int index;
+ public final String singular;
+ private final String tuple;
+
+ private Severity(int i, String singular, String tuple) {
+ this.index = i;
+ this.singular = singular;
+ this.tuple = tuple;
+ }
+
+ private int getIndex() {
+ return index;
+ }
+
+ public String getSingular() {
+ return singular;
+ }
+
+ public String getTuple() {
+ return tuple;
+ }
+
+ public static Collection<Severity> values() {
+ Collection<Severity> all = new ArrayList<Severity>();
+
+ all.add(NOTE);
+ all.add(WARNING);
+ all.add(ERROR);
+
+ return all;
+ }
+
+ @Override
+ public String toString() {
+ return singular;
+ }
+
+ public int compareTo(Severity s) {
+
+ if (s.getIndex() == this.index) {
+ return 0;
+ }
+
+ return (s.getIndex() < this.index ? -1 : 1);
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Subsumption.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,50 +0,0 @@
-package org.drools.analytics.report.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class Subsumption implements Cause {
-
- private static int index = 0;
-
- private int id = index++;
-
- private Cause left;
- private Cause right;
-
- public Subsumption(Cause left, Cause right) {
- this.left = left;
- this.right = right;
- }
-
- public int getId() {
- return id;
- }
-
- public CauseType getCauseType() {
- return CauseType.SUBSUMPTION;
- }
-
- public Cause getLeft() {
- return left;
- }
-
- public void setLeft(Cause left) {
- this.left = left;
- }
-
- public Cause getRight() {
- return right;
- }
-
- public void setRight(Cause right) {
- this.right = right;
- }
-
- @Override
- public String toString() {
- return "Subsumption between: (" + getLeft() + ") and (" + getRight()
- + ").";
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Subsumption.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/components/Subsumption.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,50 @@
+package org.drools.verifier.report.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class Subsumption implements Cause {
+
+ private static int index = 0;
+
+ private int id = index++;
+
+ private Cause left;
+ private Cause right;
+
+ public Subsumption(Cause left, Cause right) {
+ this.left = left;
+ this.right = right;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public CauseType getCauseType() {
+ return CauseType.SUBSUMPTION;
+ }
+
+ public Cause getLeft() {
+ return left;
+ }
+
+ public void setLeft(Cause left) {
+ this.left = left;
+ }
+
+ public Cause getRight() {
+ return right;
+ }
+
+ public void setRight(Cause right) {
+ this.right = right;
+ }
+
+ @Override
+ public String toString() {
+ return "Subsumption between: (" + getLeft() + ") and (" + getRight()
+ + ").";
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html)
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,81 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
-import org.drools.analytics.report.components.Cause;
-import org.mvel.TemplateInterpreter;
-
-/**
- *
- * @author Toni Rikkola
- */
-class AnalyticsMessagesVisitor extends ReportVisitor {
-
- private static String ANALYSIS_MESSAGES_TEMPLATE = "analyticsMessages.htm";
- private static String ANALYSIS_MESSAGE_TEMPLATE = "analyticsMessage.htm";
-
- public static String NOTES = "Notes";
- public static String WARNINGS = "Warnings";
- public static String ERRORS = "Errors";
-
- public static String visitAnalyticsMessagesCollection(String title,
- Collection<AnalyticsMessageBase> messages, AnalyticsData data) {
- Map<String, Object> map = new HashMap<String, Object>();
- Collection<String> messageTemplates = new ArrayList<String>();
- String myTemplate = readFile(ANALYSIS_MESSAGES_TEMPLATE);
-
- for (AnalyticsMessageBase message : messages) {
- messageTemplates.add(visitAnalyticsMessage(message, data));
- }
-
- map.put("title", title);
- map.put("messages", messageTemplates);
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- public static String visitAnalyticsMessage(AnalyticsMessageBase message,
- AnalyticsData data) {
- if (message instanceof AnalyticsRangeCheckMessage) {
- return visitAnalyticsMessage((AnalyticsRangeCheckMessage) message,
- data);
- } else if (message instanceof AnalyticsMessage) {
- return visitAnalyticsMessage((AnalyticsMessage) message);
- }
-
- return null;
- }
-
- public static String visitAnalyticsMessage(
- AnalyticsRangeCheckMessage message, AnalyticsData data) {
-
- return MissingRangesReportVisitor.visitRangeCheckMessage(
- UrlFactory.THIS_FOLDER, message, data);
- }
-
- public static String visitAnalyticsMessage(AnalyticsMessage message) {
-
- Map<String, Object> map = new HashMap<String, Object>();
- Collection<String> causeUrls = new ArrayList<String>();
- String myTemplate = readFile(ANALYSIS_MESSAGE_TEMPLATE);
-
- // Solve the url's to causes if there is any.
- for (Cause cause : message.getCauses()) {
- causeUrls.add(UrlFactory.getUrl(cause));
- }
-
- map.put("title", message.getSeverity());
- map.put("reason", message.getFaulty());
- map.put("message", message.getMessage());
- map.put("causes", causeUrls);
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/AnalyticsMessagesVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,81 @@
+package org.drools.verifier.report.html;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.AnalyticsRangeCheckMessage;
+import org.drools.verifier.report.components.Cause;
+import org.mvel.templates.TemplateRuntime;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+class AnalyticsMessagesVisitor extends ReportVisitor {
+
+ private static String VERIFIER_MESSAGES_TEMPLATE = "verifierMessages.htm";
+ private static String VERIFIER_MESSAGE_TEMPLATE = "verifierMessage.htm";
+
+ public static String NOTES = "Notes";
+ public static String WARNINGS = "Warnings";
+ public static String ERRORS = "Errors";
+
+ public static String visitAnalyticsMessagesCollection(String title,
+ Collection<AnalyticsMessageBase> messages, AnalyticsData data) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ Collection<String> messageTemplates = new ArrayList<String>();
+ String myTemplate = readFile(VERIFIER_MESSAGES_TEMPLATE);
+
+ for (AnalyticsMessageBase message : messages) {
+ messageTemplates.add(visitAnalyticsMessage(message, data));
+ }
+
+ map.put("title", title);
+ map.put("messages", messageTemplates);
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static String visitAnalyticsMessage(AnalyticsMessageBase message,
+ AnalyticsData data) {
+ if (message instanceof AnalyticsRangeCheckMessage) {
+ return visitAnalyticsMessage((AnalyticsRangeCheckMessage) message,
+ data);
+ } else if (message instanceof AnalyticsMessage) {
+ return visitAnalyticsMessage((AnalyticsMessage) message);
+ }
+
+ return null;
+ }
+
+ public static String visitAnalyticsMessage(
+ AnalyticsRangeCheckMessage message, AnalyticsData data) {
+
+ return MissingRangesReportVisitor.visitRangeCheckMessage(
+ UrlFactory.THIS_FOLDER, message, data);
+ }
+
+ public static String visitAnalyticsMessage(AnalyticsMessage message) {
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ Collection<String> causeUrls = new ArrayList<String>();
+ String myTemplate = readFile(VERIFIER_MESSAGE_TEMPLATE);
+
+ // Solve the url's to causes if there is any.
+ for (Cause cause : message.getCauses()) {
+ causeUrls.add(UrlFactory.getUrl(cause));
+ }
+
+ map.put("title", message.getSeverity());
+ map.put("reason", message.getFaulty());
+ map.put("message", message.getMessage());
+ map.put("causes", causeUrls);
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,122 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.drools.analytics.components.AnalyticsClass;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Field;
-import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-
-public class ComponentsReportModeller extends ReportModeller {
-
- public static void writeHTML(String path, AnalyticsResult result) {
- AnalyticsData data = result.getAnalyticsData();
-
- // Source folder
- File sourceFolder = new File(path + UrlFactory.SOURCE_FOLDER);
- sourceFolder.mkdir();
-
- // Base files
- // index.htm
- writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.HTML_FILE_INDEX, formPage(UrlFactory.THIS_FOLDER,
- ComponentsReportVisitor.visitObjectTypeCollection(
- UrlFactory.THIS_FOLDER, data.getAllClasses())));
-
- // packages.htm
- writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.HTML_FILE_PACKAGES, formPage(
- UrlFactory.THIS_FOLDER, ComponentsReportVisitor
- .visitRulePackageCollection(UrlFactory.THIS_FOLDER,
- data.getAllRulePackages())));
-
- // Rules
- String ruleFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.RULE_FOLDER;
- File rulesFolder = new File(ruleFolder);
- rulesFolder.mkdir();
- for (AnalyticsRule rule : data.getAllRules()) {
- writeToFile(ruleFolder + File.separator + rule.getId() + ".htm",
- formPage(UrlFactory.PREVIOUS_FOLDER,
- ComponentsReportVisitor.visitRule(
- UrlFactory.PREVIOUS_FOLDER, rule, data)));
- }
-
- // ObjectTypes
- String objectTypeFolder = path + UrlFactory.SOURCE_FOLDER
- + File.separator + UrlFactory.OBJECT_TYPE_FOLDER;
- File objectTypesFolder = new File(objectTypeFolder);
- objectTypesFolder.mkdir();
- for (AnalyticsClass objectType : data.getAllClasses()) {
- writeToFile(objectTypeFolder + File.separator + objectType.getId()
- + ".htm", formPage(UrlFactory.PREVIOUS_FOLDER,
- ComponentsReportVisitor.visitObjectType(
- UrlFactory.PREVIOUS_FOLDER, objectType, data)));
- }
-
- // Fields
- String fieldFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.FIELD_FOLDER;
- File fieldsFolder = new File(fieldFolder);
- fieldsFolder.mkdir();
- for (Field field : data.getAllFields()) {
- writeToFile(fieldFolder + File.separator + field.getId() + ".htm",
- formPage(UrlFactory.PREVIOUS_FOLDER,
- ComponentsReportVisitor.visitField(
- UrlFactory.PREVIOUS_FOLDER, field, result)));
- }
-
- // Analytics messages
- writeMessages(path, result);
-
- // css files
- String cssFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.CSS_FOLDER;
- File cssesFolder = new File(cssFolder);
- cssesFolder.mkdir();
- writeToFile(cssFolder + File.separator + UrlFactory.CSS_BASIC,
- ComponentsReportVisitor.getCss(UrlFactory.CSS_BASIC));
-
- // Image files
- String imagesFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.IMAGES_FOLDER;
-
- File imgsFolder = new File(imagesFolder);
- imgsFolder.mkdir();
-
- try {
- copyFile(imagesFolder, "hdrlogo_drools50px.gif");
- copyFile(imagesFolder, "jbossrules_hdrbkg_blue.gif");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private static void writeMessages(String path, AnalyticsResult result) {
- AnalyticsData data = result.getAnalyticsData();
-
- String errors = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
- Severity.ERROR.getTuple(),
- result.getBySeverity(Severity.ERROR),
- data);
- String warnings = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
- Severity.WARNING.getTuple(),
- result.getBySeverity(Severity.WARNING),
- data);
- String notes = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
- Severity.NOTE.getTuple(), result
- .getBySeverity(Severity.NOTE),
- data);
-
- writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
- + UrlFactory.HTML_FILE_ANALYTICS_MESSAGES, formPage(
- UrlFactory.THIS_FOLDER, errors + warnings + notes));
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,122 @@
+package org.drools.verifier.report.html;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+
+public class ComponentsReportModeller extends ReportModeller {
+
+ public static void writeHTML(String path, AnalyticsResult result) {
+ AnalyticsData data = result.getAnalyticsData();
+
+ // Source folder
+ File sourceFolder = new File(path + UrlFactory.SOURCE_FOLDER);
+ sourceFolder.mkdir();
+
+ // Base files
+ // index.htm
+ writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.HTML_FILE_INDEX, formPage(UrlFactory.THIS_FOLDER,
+ ComponentsReportVisitor.visitObjectTypeCollection(
+ UrlFactory.THIS_FOLDER, data.getAllClasses())));
+
+ // packages.htm
+ writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.HTML_FILE_PACKAGES, formPage(
+ UrlFactory.THIS_FOLDER, ComponentsReportVisitor
+ .visitRulePackageCollection(UrlFactory.THIS_FOLDER,
+ data.getAllRulePackages())));
+
+ // Rules
+ String ruleFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.RULE_FOLDER;
+ File rulesFolder = new File(ruleFolder);
+ rulesFolder.mkdir();
+ for (AnalyticsRule rule : data.getAllRules()) {
+ writeToFile(ruleFolder + File.separator + rule.getId() + ".htm",
+ formPage(UrlFactory.PREVIOUS_FOLDER,
+ ComponentsReportVisitor.visitRule(
+ UrlFactory.PREVIOUS_FOLDER, rule, data)));
+ }
+
+ // ObjectTypes
+ String objectTypeFolder = path + UrlFactory.SOURCE_FOLDER
+ + File.separator + UrlFactory.OBJECT_TYPE_FOLDER;
+ File objectTypesFolder = new File(objectTypeFolder);
+ objectTypesFolder.mkdir();
+ for (AnalyticsClass objectType : data.getAllClasses()) {
+ writeToFile(objectTypeFolder + File.separator + objectType.getId()
+ + ".htm", formPage(UrlFactory.PREVIOUS_FOLDER,
+ ComponentsReportVisitor.visitObjectType(
+ UrlFactory.PREVIOUS_FOLDER, objectType, data)));
+ }
+
+ // Fields
+ String fieldFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.FIELD_FOLDER;
+ File fieldsFolder = new File(fieldFolder);
+ fieldsFolder.mkdir();
+ for (Field field : data.getAllFields()) {
+ writeToFile(fieldFolder + File.separator + field.getId() + ".htm",
+ formPage(UrlFactory.PREVIOUS_FOLDER,
+ ComponentsReportVisitor.visitField(
+ UrlFactory.PREVIOUS_FOLDER, field, result)));
+ }
+
+ // Analytics messages
+ writeMessages(path, result);
+
+ // css files
+ String cssFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.CSS_FOLDER;
+ File cssesFolder = new File(cssFolder);
+ cssesFolder.mkdir();
+ writeToFile(cssFolder + File.separator + UrlFactory.CSS_BASIC,
+ ComponentsReportVisitor.getCss(UrlFactory.CSS_BASIC));
+
+ // Image files
+ String imagesFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.IMAGES_FOLDER;
+
+ File imgsFolder = new File(imagesFolder);
+ imgsFolder.mkdir();
+
+ try {
+ copyFile(imagesFolder, "hdrlogo_drools50px.gif");
+ copyFile(imagesFolder, "jbossrules_hdrbkg_blue.gif");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void writeMessages(String path, AnalyticsResult result) {
+ AnalyticsData data = result.getAnalyticsData();
+
+ String errors = AnalyticsMessagesVisitor
+ .visitAnalyticsMessagesCollection(
+ Severity.ERROR.getTuple(),
+ result.getBySeverity(Severity.ERROR),
+ data);
+ String warnings = AnalyticsMessagesVisitor
+ .visitAnalyticsMessagesCollection(
+ Severity.WARNING.getTuple(),
+ result.getBySeverity(Severity.WARNING),
+ data);
+ String notes = AnalyticsMessagesVisitor
+ .visitAnalyticsMessagesCollection(
+ Severity.NOTE.getTuple(), result
+ .getBySeverity(Severity.NOTE),
+ data);
+
+ writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
+ + UrlFactory.HTML_FILE_VERIFIER_MESSAGES, formPage(
+ UrlFactory.THIS_FOLDER, errors + warnings + notes));
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,121 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.drools.analytics.components.AnalyticsClass;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.components.RulePackage;
-import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.RangeCheckCause;
-import org.mvel.TemplateInterpreter;
-
-class ComponentsReportVisitor extends ReportVisitor {
-
- public static String getCss(String fileName) {
- return readFile(fileName);
- }
-
- public static String visitRulePackageCollection(String sourceFolder,
- Collection<RulePackage> packages) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", sourceFolder);
- map.put("ruleFolder", UrlFactory.RULE_FOLDER);
-
- map.put("rulePackages", packages);
-
- String myTemplate = readFile("packages.htm");
-
- String result = TemplateInterpreter.evalToString(myTemplate, map);
-
- return result;
- }
-
- public static String visitObjectTypeCollection(String sourceFolder,
- Collection<AnalyticsClass> objectTypes) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", sourceFolder);
- map.put("objectTypeFolder", sourceFolder + "/"
- + UrlFactory.OBJECT_TYPE_FOLDER);
- map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
- map.put("objectTypes", objectTypes);
-
- String myTemplate = readFile("objectTypes.htm");
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- public static String visitRule(String sourceFolder, AnalyticsRule rule,
- AnalyticsData data) {
- Collection<AnalyticsClass> objectTypes = data.getClassesByRuleName(rule
- .getRuleName());
-
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", sourceFolder);
- map.put("objectTypeFolder", UrlFactory.OBJECT_TYPE_FOLDER);
-
- map.put("rule", rule);
- map.put("objectTypes", objectTypes);
-
- String myTemplate = readFile("rule.htm");
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- public static String visitObjectType(String sourceFolder,
- AnalyticsClass objectType, AnalyticsData data) {
- Collection<AnalyticsRule> rules = data.getRulesByClassId(objectType
- .getId());
-
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", sourceFolder);
- map.put("ruleFolder", UrlFactory.RULE_FOLDER);
- map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
-
- map.put("objectType", objectType);
- map.put("rules", rules);
-
- String myTemplate = readFile("objectType.htm");
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- public static String visitField(String sourceFolder, Field field,
- AnalyticsResult result) {
- AnalyticsData data = result.getAnalyticsData();
- AnalyticsClass objectType = data.getClassById(field.getClassId());
- Collection<AnalyticsRule> rules = data.getRulesByFieldId(field.getId());
-
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", sourceFolder);
- map.put("ruleFolder", UrlFactory.RULE_FOLDER);
- map.put("objectTypeFolder", UrlFactory.OBJECT_TYPE_FOLDER);
- map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
-
- map.put("field", field);
- map.put("objectType", objectType);
- map.put("rules", rules);
-
- if (field.getFieldType() == Field.FieldType.DOUBLE
- || field.getFieldType() == Field.FieldType.DATE
- || field.getFieldType() == Field.FieldType.INT) {
- Collection<RangeCheckCause> causes = result
- .getRangeCheckCausesByFieldId(field.getId());
- Collection<Restriction> restrictions = data
- .getRestrictionsByFieldId(field.getId());
- map.put("ranges", "Ranges:"
- + MissingRangesReportVisitor.visitRanges(
- UrlFactory.PREVIOUS_FOLDER, restrictions, causes));
- } else {
- map.put("ranges", "");
- }
-
- String myTemplate = readFile("field.htm");
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,121 @@
+package org.drools.verifier.report.html;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.RulePackage;
+import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.RangeCheckCause;
+import org.mvel.templates.TemplateRuntime;
+
+class ComponentsReportVisitor extends ReportVisitor {
+
+ public static String getCss(String fileName) {
+ return readFile(fileName);
+ }
+
+ public static String visitRulePackageCollection(String sourceFolder,
+ Collection<RulePackage> packages) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", sourceFolder);
+ map.put("ruleFolder", UrlFactory.RULE_FOLDER);
+
+ map.put("rulePackages", packages);
+
+ String myTemplate = readFile("packages.htm");
+
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
+
+ return result;
+ }
+
+ public static String visitObjectTypeCollection(String sourceFolder,
+ Collection<AnalyticsClass> objectTypes) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", sourceFolder);
+ map.put("objectTypeFolder", sourceFolder + "/"
+ + UrlFactory.OBJECT_TYPE_FOLDER);
+ map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
+ map.put("objectTypes", objectTypes);
+
+ String myTemplate = readFile("objectTypes.htm");
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static String visitRule(String sourceFolder, AnalyticsRule rule,
+ AnalyticsData data) {
+ Collection<AnalyticsClass> objectTypes = data.getClassesByRuleName(rule
+ .getRuleName());
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", sourceFolder);
+ map.put("objectTypeFolder", UrlFactory.OBJECT_TYPE_FOLDER);
+
+ map.put("rule", rule);
+ map.put("objectTypes", objectTypes);
+
+ String myTemplate = readFile("rule.htm");
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static String visitObjectType(String sourceFolder,
+ AnalyticsClass objectType, AnalyticsData data) {
+ Collection<AnalyticsRule> rules = data.getRulesByClassId(objectType
+ .getId());
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", sourceFolder);
+ map.put("ruleFolder", UrlFactory.RULE_FOLDER);
+ map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
+
+ map.put("objectType", objectType);
+ map.put("rules", rules);
+
+ String myTemplate = readFile("objectType.htm");
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static String visitField(String sourceFolder, Field field,
+ AnalyticsResult result) {
+ AnalyticsData data = result.getAnalyticsData();
+ AnalyticsClass objectType = data.getClassById(field.getClassId());
+ Collection<AnalyticsRule> rules = data.getRulesByFieldId(field.getId());
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", sourceFolder);
+ map.put("ruleFolder", UrlFactory.RULE_FOLDER);
+ map.put("objectTypeFolder", UrlFactory.OBJECT_TYPE_FOLDER);
+ map.put("fieldFolder", UrlFactory.FIELD_FOLDER);
+
+ map.put("field", field);
+ map.put("objectType", objectType);
+ map.put("rules", rules);
+
+ if (field.getFieldType() == Field.FieldType.DOUBLE
+ || field.getFieldType() == Field.FieldType.DATE
+ || field.getFieldType() == Field.FieldType.INT) {
+ Collection<RangeCheckCause> causes = result
+ .getRangeCheckCausesByFieldId(field.getId());
+ Collection<Restriction> restrictions = data
+ .getRestrictionsByFieldId(field.getId());
+ map.put("ranges", "Ranges:"
+ + MissingRangesReportVisitor.visitRanges(
+ UrlFactory.PREVIOUS_FOLDER, restrictions, causes));
+ } else {
+ map.put("ranges", "");
+ }
+
+ String myTemplate = readFile("field.htm");
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,176 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.DataTree;
-import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
-import org.drools.analytics.report.components.RangeCheckCause;
-import org.drools.base.evaluators.Operator;
-import org.mvel.TemplateInterpreter;
-
-class MissingRangesReportVisitor extends ReportVisitor {
-
- public static Collection<String> visitRestrictionsCollection(
- String sourceFolder, Collection<Restriction> restrictions,
- Collection<RangeCheckCause> causes) {
- DataTree<Object, DataRow> dt = new DataTree<Object, DataRow>();
- Collection<String> stringRows = new ArrayList<String>();
-
- for (RangeCheckCause cause : causes) {
- dt.put(cause.getValueAsObject(), new DataRow(null, null, cause
- .getOperator(), cause.getValueAsString()));
- }
-
- for (Restriction r : restrictions) {
- if (r instanceof LiteralRestriction) {
- try {
- LiteralRestriction restriction = (LiteralRestriction) r;
-
- dt.put(restriction.getValueAsObject(), new DataRow(
- restriction.getRuleId(), restriction.getRuleName(),
- restriction.getOperator(), restriction
- .getValueAsString()));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- DataRow previous = null;
- for (Iterator<DataRow> iterator = dt.values().iterator(); iterator
- .hasNext();) {
- DataRow current = iterator.next();
-
- if (previous != null) {
- // Check if previous and current are from the same rule.
- if (previous.ruleId == null && current.ruleId == null
- && !previous.operator.equals(Operator.EQUAL)
- && !previous.operator.equals(Operator.NOT_EQUAL)
- && !current.operator.equals(Operator.EQUAL)
- && !current.operator.equals(Operator.NOT_EQUAL)) {
- // Combine these two.
- stringRows.add("Missing : " + previous + " .. " + current);
-
- current = iterator.next();
-
- } else if (previous.ruleId != null
- && previous.ruleId.equals(current.ruleId)) {
- // Combine these two.
- stringRows.add(UrlFactory.getRuleUrl(sourceFolder,
- current.ruleId, current.ruleName)
- + " : "
- + previous.toString()
- + " "
- + current.toString());
-
- current = iterator.next();
-
- } else if (!iterator.hasNext()) { // If this is last row
- // Print previous and current if they were not merged.
- processRangeOutput(previous, stringRows, sourceFolder);
- processRangeOutput(current, stringRows, sourceFolder);
-
- } else { // If they are not from the same rule
- // Print previous.
- processRangeOutput(previous, stringRows, sourceFolder);
- }
- } else if (!iterator.hasNext()) {
- processRangeOutput(current, stringRows, sourceFolder);
- }
-
- // Set current as previous.
- previous = current;
- }
-
- return stringRows;
- }
-
- public static String visitRanges(String sourceFolder,
- Collection<Restriction> restrictions,
- Collection<RangeCheckCause> causes) {
- Map<String, Object> map = new HashMap<String, Object>();
-
- map.put("lines", visitRestrictionsCollection(sourceFolder,
- restrictions, causes));
-
- String myTemplate = readFile("ranges.htm");
-
- String result = TemplateInterpreter.evalToString(myTemplate, map);
-
- return result;
- }
-
- private static void processRangeOutput(DataRow dataRow,
- Collection<String> stringRows, String sourceFolder) {
-
- if (dataRow.ruleId == null) {
- stringRows.add("Missing : " + dataRow.toString());
- } else {
- stringRows.add(UrlFactory.getRuleUrl(sourceFolder, dataRow.ruleId,
- dataRow.ruleName)
- + " : " + dataRow.toString());
- }
- }
-
- public static String visitRangeCheckMessage(String sourceFolder,
- AnalyticsRangeCheckMessage message, AnalyticsData data) {
- Collection<Restriction> restrictions = data
- .getRestrictionsByFieldId(message.getFaulty().getId());
- Field field = (Field) message.getFaulty();
-
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("header", processHeader(sourceFolder));
- map.put("sourceFolder", sourceFolder);
- map.put("fieldFolder", sourceFolder + "/" + UrlFactory.FIELD_FOLDER);
- map.put("objectTypeFolder", sourceFolder + "/"
- + UrlFactory.OBJECT_TYPE_FOLDER);
- map
- .put("packageFolder", sourceFolder + "/"
- + UrlFactory.PACKAGE_FOLDER);
- map.put("cssStyle", createStyleTag(sourceFolder + "/"
- + UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
-
- map.put("field", field);
- map.put("objectType", data.getClassById(field.getClassId()));
- map.put("ranges", visitRanges(UrlFactory.THIS_FOLDER, restrictions,
- message.getCauses()));
-
- String myTemplate = readFile("missingRange.htm");
-
- String result = TemplateInterpreter.evalToString(myTemplate, map);
-
- return result;
- }
-}
-
-class DataRow implements Comparable<DataRow> {
- public String ruleName;
- protected Integer ruleId;
- protected Operator operator;
- protected String value;
-
- public int compareTo(DataRow o) {
- return operator.getOperatorString().compareTo(
- o.operator.getOperatorString());
- }
-
- public DataRow(Integer ruleId, String ruleName, Operator operator,
- String valueAsString) {
- this.ruleId = ruleId;
- this.ruleName = ruleName;
- this.operator = operator;
- this.value = valueAsString;
- }
-
- public String toString() {
- return operator.getOperatorString() + " " + value;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,176 @@
+package org.drools.verifier.report.html;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.dao.DataTree;
+import org.drools.verifier.report.components.AnalyticsRangeCheckMessage;
+import org.drools.verifier.report.components.RangeCheckCause;
+import org.mvel.templates.TemplateRuntime;
+
+class MissingRangesReportVisitor extends ReportVisitor {
+
+ public static Collection<String> visitRestrictionsCollection(
+ String sourceFolder, Collection<Restriction> restrictions,
+ Collection<RangeCheckCause> causes) {
+ DataTree<Object, DataRow> dt = new DataTree<Object, DataRow>();
+ Collection<String> stringRows = new ArrayList<String>();
+
+ for (RangeCheckCause cause : causes) {
+ dt.put(cause.getValueAsObject(), new DataRow(null, null, cause
+ .getOperator(), cause.getValueAsString()));
+ }
+
+ for (Restriction r : restrictions) {
+ if (r instanceof LiteralRestriction) {
+ try {
+ LiteralRestriction restriction = (LiteralRestriction) r;
+
+ dt.put(restriction.getValueAsObject(), new DataRow(
+ restriction.getRuleId(), restriction.getRuleName(),
+ restriction.getOperator(), restriction
+ .getValueAsString()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ DataRow previous = null;
+ for (Iterator<DataRow> iterator = dt.values().iterator(); iterator
+ .hasNext();) {
+ DataRow current = iterator.next();
+
+ if (previous != null) {
+ // Check if previous and current are from the same rule.
+ if (previous.ruleId == null && current.ruleId == null
+ && !previous.operator.equals(Operator.EQUAL)
+ && !previous.operator.equals(Operator.NOT_EQUAL)
+ && !current.operator.equals(Operator.EQUAL)
+ && !current.operator.equals(Operator.NOT_EQUAL)) {
+ // Combine these two.
+ stringRows.add("Missing : " + previous + " .. " + current);
+
+ current = iterator.next();
+
+ } else if (previous.ruleId != null
+ && previous.ruleId.equals(current.ruleId)) {
+ // Combine these two.
+ stringRows.add(UrlFactory.getRuleUrl(sourceFolder,
+ current.ruleId, current.ruleName)
+ + " : "
+ + previous.toString()
+ + " "
+ + current.toString());
+
+ current = iterator.next();
+
+ } else if (!iterator.hasNext()) { // If this is last row
+ // Print previous and current if they were not merged.
+ processRangeOutput(previous, stringRows, sourceFolder);
+ processRangeOutput(current, stringRows, sourceFolder);
+
+ } else { // If they are not from the same rule
+ // Print previous.
+ processRangeOutput(previous, stringRows, sourceFolder);
+ }
+ } else if (!iterator.hasNext()) {
+ processRangeOutput(current, stringRows, sourceFolder);
+ }
+
+ // Set current as previous.
+ previous = current;
+ }
+
+ return stringRows;
+ }
+
+ public static String visitRanges(String sourceFolder,
+ Collection<Restriction> restrictions,
+ Collection<RangeCheckCause> causes) {
+ Map<String, Object> map = new HashMap<String, Object>();
+
+ map.put("lines", visitRestrictionsCollection(sourceFolder,
+ restrictions, causes));
+
+ String myTemplate = readFile("ranges.htm");
+
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
+
+ return result;
+ }
+
+ private static void processRangeOutput(DataRow dataRow,
+ Collection<String> stringRows, String sourceFolder) {
+
+ if (dataRow.ruleId == null) {
+ stringRows.add("Missing : " + dataRow.toString());
+ } else {
+ stringRows.add(UrlFactory.getRuleUrl(sourceFolder, dataRow.ruleId,
+ dataRow.ruleName)
+ + " : " + dataRow.toString());
+ }
+ }
+
+ public static String visitRangeCheckMessage(String sourceFolder,
+ AnalyticsRangeCheckMessage message, AnalyticsData data) {
+ Collection<Restriction> restrictions = data
+ .getRestrictionsByFieldId(message.getFaulty().getId());
+ Field field = (Field) message.getFaulty();
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("header", processHeader(sourceFolder));
+ map.put("sourceFolder", sourceFolder);
+ map.put("fieldFolder", sourceFolder + "/" + UrlFactory.FIELD_FOLDER);
+ map.put("objectTypeFolder", sourceFolder + "/"
+ + UrlFactory.OBJECT_TYPE_FOLDER);
+ map
+ .put("packageFolder", sourceFolder + "/"
+ + UrlFactory.PACKAGE_FOLDER);
+ map.put("cssStyle", createStyleTag(sourceFolder + "/"
+ + UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
+
+ map.put("field", field);
+ map.put("objectType", data.getClassById(field.getClassId()));
+ map.put("ranges", visitRanges(UrlFactory.THIS_FOLDER, restrictions,
+ message.getCauses()));
+
+ String myTemplate = readFile("missingRange.htm");
+
+ String result = String.valueOf(TemplateRuntime.eval(myTemplate, map));
+
+ return result;
+ }
+}
+
+class DataRow implements Comparable<DataRow> {
+ public String ruleName;
+ protected Integer ruleId;
+ protected Operator operator;
+ protected String value;
+
+ public int compareTo(DataRow o) {
+ return operator.getOperatorString().compareTo(
+ o.operator.getOperatorString());
+ }
+
+ public DataRow(Integer ruleId, String ruleName, Operator operator,
+ String valueAsString) {
+ this.ruleId = ruleId;
+ this.ruleName = ruleName;
+ this.operator = operator;
+ this.value = valueAsString;
+ }
+
+ public String toString() {
+ return operator.getOperatorString() + " " + value;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,70 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.mvel.TemplateInterpreter;
-
-abstract class ReportModeller {
-
- protected static String formPage(String sourceFolder, String content) {
- Map<String, Object> map = new HashMap<String, Object>();
- String myTemplate = AnalyticsMessagesVisitor.readFile("frame.htm");
-
- map.put("cssStyle", ReportVisitor.createStyleTag(sourceFolder + "/"
- + UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
- map.put("sourceFolder", sourceFolder);
- map.put("header", ReportVisitor.processHeader(sourceFolder));
- map.put("content", content);
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- public static void copyFile(String destination, String filename)
- throws IOException {
-
- File source = new File(ComponentsReportModeller.class.getResource(
- filename).getFile());
- File dest = new File(destination + File.separator + filename);
-
- if (!dest.exists()) {
- dest.createNewFile();
- }
- InputStream in = null;
- OutputStream out = null;
- try {
- in = new FileInputStream(source);
- out = new FileOutputStream(dest);
-
- // Transfer bytes from in to out
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- } finally {
- in.close();
- out.close();
- }
-
- }
-
- protected static void writeToFile(String fileName, String text) {
- try {
- FileWriter fstream = new FileWriter(fileName);
- BufferedWriter out = new BufferedWriter(fstream);
- out.write(text);
- out.close();
- } catch (Exception e) {
- System.err.println(e.getMessage());
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportModeller.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,71 @@
+package org.drools.verifier.report.html;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.mvel.templates.TemplateRuntime;
+
+
+abstract class ReportModeller {
+
+ protected static String formPage(String sourceFolder, String content) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ String myTemplate = AnalyticsMessagesVisitor.readFile("frame.htm");
+
+ map.put("cssStyle", ReportVisitor.createStyleTag(sourceFolder + "/"
+ + UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
+ map.put("sourceFolder", sourceFolder);
+ map.put("header", ReportVisitor.processHeader(sourceFolder));
+ map.put("content", content);
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static void copyFile(String destination, String filename)
+ throws IOException {
+
+ File source = new File(ComponentsReportModeller.class.getResource(
+ filename).getFile());
+ File dest = new File(destination + File.separator + filename);
+
+ if (!dest.exists()) {
+ dest.createNewFile();
+ }
+ InputStream in = null;
+ OutputStream out = null;
+ try {
+ in = new FileInputStream(source);
+ out = new FileOutputStream(dest);
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ } finally {
+ in.close();
+ out.close();
+ }
+
+ }
+
+ protected static void writeToFile(String fileName, String text) {
+ try {
+ FileWriter fstream = new FileWriter(fileName);
+ BufferedWriter out = new BufferedWriter(fstream);
+ out.write(text);
+ out.close();
+ } catch (Exception e) {
+ System.err.println(e.getMessage());
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,54 +0,0 @@
-package org.drools.analytics.report.html;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.mvel.TemplateInterpreter;
-
-abstract class ReportVisitor {
-
- protected static String processHeader(String folder) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("sourceFolder", folder);
-
- map.put("objectTypesFile", UrlFactory.HTML_FILE_INDEX);
- map.put("packagesFile", UrlFactory.HTML_FILE_PACKAGES);
- map.put("messagesFile", UrlFactory.HTML_FILE_ANALYTICS_MESSAGES);
-
- String myTemplate = readFile("header.htm");
-
- return TemplateInterpreter.evalToString(myTemplate, map);
- }
-
- protected static String readFile(String fileName) {
- StringBuffer str = new StringBuffer("");
- try {
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- ReportVisitor.class.getResourceAsStream(fileName)));
- String line = null;
- while ((line = reader.readLine()) != null) {
- str.append(line);
- str.append("\n");
- }
- } catch (IOException e) {
- e.printStackTrace();
- } catch (NullPointerException e) {
- System.err.println("File " + fileName + " was not found.");
- e.printStackTrace();
- }
- return str.toString();
- }
-
- protected static String createStyleTag(String path) {
- StringBuffer str = new StringBuffer("");
-
- str.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"");
- str.append(path);
- str.append("\" />");
-
- return str.toString();
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportVisitor.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/ReportVisitor.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,55 @@
+package org.drools.verifier.report.html;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.mvel.templates.TemplateRuntime;
+
+
+abstract class ReportVisitor {
+
+ protected static String processHeader(String folder) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("sourceFolder", folder);
+
+ map.put("objectTypesFile", UrlFactory.HTML_FILE_INDEX);
+ map.put("packagesFile", UrlFactory.HTML_FILE_PACKAGES);
+ map.put("messagesFile", UrlFactory.HTML_FILE_VERIFIER_MESSAGES);
+
+ String myTemplate = readFile("header.htm");
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ protected static String readFile(String fileName) {
+ StringBuffer str = new StringBuffer("");
+ try {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(
+ ReportVisitor.class.getResourceAsStream(fileName)));
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ str.append(line);
+ str.append("\n");
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (NullPointerException e) {
+ System.err.println("File " + fileName + " was not found.");
+ e.printStackTrace();
+ }
+ return str.toString();
+ }
+
+ protected static String createStyleTag(String path) {
+ StringBuffer str = new StringBuffer("");
+
+ str.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"");
+ str.append(path);
+ str.append("\" />");
+
+ return str.toString();
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,52 +0,0 @@
-package org.drools.analytics.report.html;
-
-import org.drools.analytics.components.AnalyticsRule;
-
-/**
- *
- * @author Toni Rikkola
- */
-class UrlFactory {
-
- public static final String THIS_FOLDER = ".";
- public static final String PREVIOUS_FOLDER = "..";
-
- public static final String SOURCE_FOLDER = "report";
- public static final String OBJECT_TYPE_FOLDER = "objectTypes";
- public static final String FIELD_FOLDER = "fields";
- public static final String RULE_FOLDER = "rules";
- public static final String PACKAGE_FOLDER = "packages";
- public static final String CSS_FOLDER = "css";
-
- public static final String CSS_BASIC = "basic.css";
-
- public static final String IMAGES_FOLDER = "images";
-
- public static final String HTML_FILE_INDEX = "index.htm";
- public static final String HTML_FILE_PACKAGES = "packages.htm";
- public static final String HTML_FILE_ANALYTICS_MESSAGES = "analyticsMessages.htm";
-
- /**
- * Finds a link to object if one exists.
- *
- * @param o
- * Object that might have a page that can be linked.
- * @return Link to objects page or the toString() text if no link could not
- * be created.
- */
- public static String getUrl(Object o) {
- if (o instanceof AnalyticsRule) {
- AnalyticsRule rule = (AnalyticsRule) o;
- return getRuleUrl(UrlFactory.RULE_FOLDER, rule.getId(), rule
- .getRuleName());
- }
-
- return o.toString();
- }
-
- static String getRuleUrl(String sourceFolder, int ruleId, String ruleName) {
- return "<a href=\"" + sourceFolder + "/" + RULE_FOLDER + "/" + ruleId
- + ".htm\">" + ruleName + "</a>";
- }
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/verifier/report/html/UrlFactory.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,52 @@
+package org.drools.verifier.report.html;
+
+import org.drools.verifier.components.AnalyticsRule;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+class UrlFactory {
+
+ public static final String THIS_FOLDER = ".";
+ public static final String PREVIOUS_FOLDER = "..";
+
+ public static final String SOURCE_FOLDER = "report";
+ public static final String OBJECT_TYPE_FOLDER = "objectTypes";
+ public static final String FIELD_FOLDER = "fields";
+ public static final String RULE_FOLDER = "rules";
+ public static final String PACKAGE_FOLDER = "packages";
+ public static final String CSS_FOLDER = "css";
+
+ public static final String CSS_BASIC = "basic.css";
+
+ public static final String IMAGES_FOLDER = "images";
+
+ public static final String HTML_FILE_INDEX = "index.htm";
+ public static final String HTML_FILE_PACKAGES = "packages.htm";
+ public static final String HTML_FILE_VERIFIER_MESSAGES = "verifierMessages.htm";
+
+ /**
+ * Finds a link to object if one exists.
+ *
+ * @param o
+ * Object that might have a page that can be linked.
+ * @return Link to objects page or the toString() text if no link could not
+ * be created.
+ */
+ public static String getUrl(Object o) {
+ if (o instanceof AnalyticsRule) {
+ AnalyticsRule rule = (AnalyticsRule) o;
+ return getRuleUrl(UrlFactory.RULE_FOLDER, rule.getId(), rule
+ .getRuleName());
+ }
+
+ return o.toString();
+ }
+
+ static String getRuleUrl(String sourceFolder, int ruleId, String ruleName) {
+ return "<a href=\"" + sourceFolder + "/" + RULE_FOLDER + "/" + ruleId
+ + ".htm\">" + ruleName + "</a>";
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics)
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,31 +0,0 @@
-#created on: 18.10.2007
-package org.drools.analytics.consequence
-
-#list any import classes here.
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.TextConsequence;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-
-#declare any global variables here
-global AnalyticsResult result;
-
-
-rule "No action - possibly commented out"
- when
- $c :TextConsequence(
- ( text == null || text matches "" )
- )
-
- $r :AnalyticsRule(
- id == $c.ruleId
- )
- then
- result.add( new AnalyticsMessage(
- Severity.WARNING,
- MessageType.MISSING_COMPONENT,
- $r,
- $r + " has no RHS." ) );
-end
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/Consequence.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,31 @@
+#created on: 18.10.2007
+package org.drools.verifier.consequence
+
+#list any import classes here.
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.TextConsequence;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+
+#declare any global variables here
+global AnalyticsResult result;
+
+
+rule "No action - possibly commented out"
+ when
+ $c :TextConsequence(
+ ( text == null || text matches "" )
+ )
+
+ $r :AnalyticsRule(
+ id == $c.ruleId
+ )
+ then
+ result.add( new AnalyticsMessage(
+ Severity.WARNING,
+ MessageType.MISSING_COMPONENT,
+ $r,
+ $r + " has no RHS." ) );
+end
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence/Rules.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/equivalence/Rules.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +1,9 @@
#created on: 7.9.2007
-package org.drools.analytics.equivalency.rules
+package org.drools.verifier.equivalency.rules
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
#
# Only checks for redundant rule specifications where consequences are not redundant,
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Patterns.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Patterns.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,20 +1,20 @@
#created on: 14.11.2007
-package org.drools.analytics.incoherence
+package org.drools.verifier.incoherence
#list any import classes here.
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
import java.util.Collection;
import java.util.ArrayList;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Restrictions.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,17 +1,17 @@
#created on: 13.11.2007
-package org.drools.analytics.incoherence
+package org.drools.verifier.incoherence
#list any import classes here.
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.dao.AnalyticsResult;
import java.util.Collection;
import java.util.ArrayList;
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incompatibility (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incompatibility)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incompatibility/Restrictions.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,16 +1,16 @@
#created on: 23.02.2008
-package org.drools.analytics.incompatibility
+package org.drools.verifier.incompatibility
#list any import classes here.
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.Field.FieldType;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-import org.drools.analytics.report.components.Incompatibility;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Field.FieldType;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.report.components.Incompatibility;
+import org.drools.verifier.dao.AnalyticsResult;
import org.drools.base.evaluators.Operator;
@@ -20,187 +20,6 @@
#
# If two LiteralRestrictions are in conflict.
#
-# Depandencies: None
-# Example: Pattern1( a == "b", a != "b" )
-#
-rule "Incompatibility LiteralRestrictions"
- when
- $left :LiteralRestriction(
- # Not >= and <=, because ( a <=, a >= ) works.
- # And not < or > because they are handled in a separate rule.
- ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
- )
-
- $right :LiteralRestriction(
- fieldId == $left.fieldId,
- valueType == $left.valueType,
- id != $left.id,
- # Operator needs to be reversed to what the other one has.
- eval( operator == MissingRange.getReversedOperator( $left.getOperator() ))
- )
-
- eval( $left.compareValues( $right ) == 0 )
-
- # Check that there is not already a pair with these values.
- not Incompatibility(
- left == $left,
- right == $right
- )
- not Incompatibility(
- right == $left,
- left == $right
- )
- then
- insert( new Incompatibility( $left, $right ));
-end
-
-#
-# If two LiteralRestrictions are in conflict.
-#
-# Depandencies: None
-# Example: Pattern( a >= 10 && a < 10 )
-#
-rule "Incompatibility LiteralRestrictions with ranges, greater or equal - less"
- when
- $left :LiteralRestriction(
- operator == Operator.GREATER_OR_EQUAL
- )
-
- $right :LiteralRestriction(
- restrictionType == $left.restrictionType,
- fieldId == $left.fieldId,
- valueType == $left.valueType,
- operator == Operator.LESS,
- id != $left.id
- )
-
- eval( $left.compareValues( $right ) == 0 )
-
- # Check that there is not already a pair with these values.
- not Incompatibility(
- left == $left,
- right == $right
- )
- not Incompatibility(
- right == $left,
- left == $right
- )
- then
- insert( new Incompatibility( $left, $right ));
-end
-
-#
-# If two LiteralRestrictions are in conflict.
-#
-# Depandencies: None
-# Example: Pattern( a > 10 && a <= 10 )
-#
-rule "Incompatibility LiteralRestrictions with ranges, greater - less or equal"
- when
- $left :LiteralRestriction(
- operator == Operator.GREATER
- )
-
- $right :LiteralRestriction(
- restrictionType == $left.restrictionType,
- fieldId == $left.fieldId,
- valueType == $left.valueType,
- operator == Operator.LESS_OR_EQUAL,
- id != $left.id
- )
-
- eval( $left.compareValues( $right ) == 0 )
-
- # Check that there is not already a pair with these values.
- not Incompatibility(
- left == $left,
- right == $right
- )
- not Incompatibility(
- right == $left,
- left == $right
- )
- then
- insert( new Incompatibility( $left, $right ));
-end
-
-
-#
-# If two LiteralRestrictions are in conflict.
-#
-# Depandencies: None
-# Example: Pattern( a < 10 && a > 9 )
-#
-rule "Incompatibility LiteralRestrictions with ranges, less - greater for ints and dates"
- when
- $left :LiteralRestriction(
- operator == Operator.LESS,
- ( valueType == Field.FieldType.INT || == Field.FieldType.DATE )
- )
-
- $right :LiteralRestriction(
- restrictionType == $left.restrictionType,
- fieldId == $left.fieldId,
- valueType == $left.valueType,
- operator == Operator.GREATER,
- id != $left.id
- )
-
- eval( $left.compareValues( $right ) == 1 )
-
- # Check that there is not already a pair with these values.
- not Incompatibility(
- left == $left,
- right == $right
- )
- not Incompatibility(
- right == $left,
- left == $right
- )
- then
- insert( new Incompatibility( $left, $right ));
-end
-
-#
-# If two LiteralRestrictions are in conflict.
-#
-# Depandencies: None
-# Example: Pattern( a >= 10 && a <= 9 )
-#
-rule "Incompatibility LiteralRestrictions with ranges, less or equal - greater or equal for ints and dates"
- when
- $left :LiteralRestriction(
- operator == Operator.GREATER_OR_EQUAL,
- ( valueType == Field.FieldType.INT || == Field.FieldType.DATE )
- )
-
- $right :LiteralRestriction(
- restrictionType == $left.restrictionType,
- fieldId == $left.fieldId,
- valueType == $left.valueType,
- operator == Operator.LESS_OR_EQUAL,
- id != $left.id
- )
-
- eval( $left.compareValues( $right ) == 1 )
-
- # Check that there is not already a pair with these values.
- not Incompatibility(
- left == $left,
- right == $right
- )
- not Incompatibility(
- right == $left,
- left == $right
- )
- then
- insert( new Incompatibility( $left, $right ));
-end
-
-/*
-#
-# If two LiteralRestrictions are in conflict.
-#
# Type: Error
# Depandencies: None
# Example: IncorencePattern( a < 1 && a == 10 )
@@ -244,6 +63,7 @@
) );
end
+/*
#
# If two LiteralRestrictions are in conflict.
#
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality/MissingEquality.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,18 +1,18 @@
#created on: 31.10.2007
-package org.drools.analytics.missingEquality
+package org.drools.verifier.missingEquality
#list any import classes here.
import org.drools.base.evaluators.Operator;
import org.drools.base.evaluators.MatchesEvaluatorsDefinition;
import org.drools.base.evaluators.SetEvaluatorsDefinition;
-import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.dao.AnalyticsResult;
Added: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/opposites/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/opposites/Restrictions.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/opposites/Restrictions.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,199 @@
+#created on: 23.02.2008
+package org.drools.verifier.opposites
+
+#list any import classes here.
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Field.FieldType;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.report.components.Opposites;
+import org.drools.verifier.dao.AnalyticsResult;
+
+import org.drools.base.evaluators.Operator;
+
+#declare any global variables here
+global AnalyticsResult result;
+
+#
+# If two LiteralRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern1( a == "b", a != "b" )
+#
+rule "Opposite LiteralRestrictions"
+ when
+ $left :LiteralRestriction(
+ # Not >= and <=, because ( a <=, a >= ) works.
+ # And not < or > because they are handled in a separate rule.
+ ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
+ )
+
+ $right :LiteralRestriction(
+ fieldId == $left.fieldId,
+ valueType == $left.valueType,
+ id != $left.id,
+ # Operator needs to be reversed to what the other one has.
+ eval( operator == MissingRange.getReversedOperator( $left.getOperator() ))
+ )
+
+ eval( $left.compareValues( $right ) == 0 )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $left,
+ right == $right
+ )
+ not Opposites(
+ right == $left,
+ left == $right
+ )
+ then
+ insert( new Opposites( $left, $right ));
+end
+
+#
+# If two LiteralRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern( a >= 10 && a < 10 )
+#
+rule "Opposite LiteralRestrictions with ranges, greater or equal - less"
+ when
+ $left :LiteralRestriction(
+ operator == Operator.GREATER_OR_EQUAL
+ )
+
+ $right :LiteralRestriction(
+ restrictionType == $left.restrictionType,
+ fieldId == $left.fieldId,
+ valueType == $left.valueType,
+ operator == Operator.LESS,
+ id != $left.id
+ )
+
+ eval( $left.compareValues( $right ) == 0 )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $left,
+ right == $right
+ )
+ not Opposites(
+ right == $left,
+ left == $right
+ )
+ then
+ insert( new Opposites( $left, $right ));
+end
+
+#
+# If two LiteralRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern( a > 10 && a <= 10 )
+#
+rule "Opposite LiteralRestrictions with ranges, greater - less or equal"
+ when
+ $left :LiteralRestriction(
+ operator == Operator.GREATER
+ )
+
+ $right :LiteralRestriction(
+ restrictionType == $left.restrictionType,
+ fieldId == $left.fieldId,
+ valueType == $left.valueType,
+ operator == Operator.LESS_OR_EQUAL,
+ id != $left.id
+ )
+
+ eval( $left.compareValues( $right ) == 0 )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $left,
+ right == $right
+ )
+ not Opposites(
+ right == $left,
+ left == $right
+ )
+ then
+ insert( new Opposites( $left, $right ));
+end
+
+
+#
+# If two LiteralRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern( a < 10 && a > 9 )
+#
+rule "Opposite LiteralRestrictions with ranges, less - greater for ints and dates"
+ when
+ $left :LiteralRestriction(
+ operator == Operator.LESS,
+ ( valueType == Field.FieldType.INT || == Field.FieldType.DATE )
+ )
+
+ $right :LiteralRestriction(
+ restrictionType == $left.restrictionType,
+ fieldId == $left.fieldId,
+ valueType == $left.valueType,
+ operator == Operator.GREATER,
+ id != $left.id
+ )
+
+ eval( $left.compareValues( $right ) == 1 )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $left,
+ right == $right
+ )
+ not Opposites(
+ right == $left,
+ left == $right
+ )
+ then
+ insert( new Opposites( $left, $right ));
+end
+
+#
+# If two LiteralRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern( a >= 10 && a <= 9 )
+#
+rule "Opposite LiteralRestrictions with ranges, less or equal - greater or equal for ints and dates"
+ when
+ $left :LiteralRestriction(
+ operator == Operator.GREATER_OR_EQUAL,
+ ( valueType == Field.FieldType.INT || == Field.FieldType.DATE )
+ )
+
+ $right :LiteralRestriction(
+ restrictionType == $left.restrictionType,
+ fieldId == $left.fieldId,
+ valueType == $left.valueType,
+ operator == Operator.LESS_OR_EQUAL,
+ id != $left.id
+ )
+
+ eval( $left.compareValues( $right ) == 1 )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $left,
+ right == $right
+ )
+ not Opposites(
+ right == $left,
+ left == $right
+ )
+ then
+ insert( new Opposites( $left, $right ));
+end
+
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/PatternOrder.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,20 +1,20 @@
#created on: 27.10.2007
-package org.drools.analytics.optimisation
+package org.drools.verifier.optimisation
#list any import classes here.
import java.util.Collection;
import java.util.ArrayList;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.OperatorDescr;
-import org.drools.analytics.components.AnalyticsEvalDescr;
-import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.components.AnalyticsComponentType;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.AnalyticsEvalDescr;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.AnalyticsComponentType;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/RestrictionOrder.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,5 +1,5 @@
#created on: 25.10.2007
-package org.drools.analytics.optimisation.drl
+package org.drools.verifier.optimisation.drl
#list any import classes here.
import java.util.Collection;
@@ -8,17 +8,17 @@
import org.drools.base.evaluators.Operator;
import org.drools.base.evaluators.MatchesEvaluatorsDefinition;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.OperatorDescr;
-import org.drools.analytics.components.AnalyticsPredicateDescr;
-import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.components.AnalyticsComponentType;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.AnalyticsPredicateDescr;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.AnalyticsComponentType;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
global AnalyticsResult result;
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Clean.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +1,13 @@
#created on: 24.9.2007
-package org.drools.analytics.rangeChecks.cleanUp
+package org.drools.verifier.rangeChecks.cleanUp
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.*;
-import org.drools.analytics.report.components.Gap;
-import org.drools.analytics.report.components.MissingNumberPattern;
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.Gap;
+import org.drools.verifier.report.components.MissingNumberPattern;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
global AnalyticsResult result;
@@ -18,20 +18,20 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.patterns;
+# package org.drools.verifier.rangeChecks.patterns;
# rule "Range check for number patterns"
# rule "Range check for number patterns, !="
-# package org.drools.analytics.rangeChecks.integers
+# package org.drools.verifier.rangeChecks.integers
# rule "Range check for integers, if smaller than or equal is missing"
# rule "Range check for integers, if greater than or equal is missing"
# rule "Range check for integers, equal and greater than"
# rule "Range check for integers, equal and smaller than"
-# package org.drools.analytics.rangeChecks.doubles
+# package org.drools.verifier.rangeChecks.doubles
# rule "Range check for doubles, if smaller than or equal is missing"
# rule "Range check for doubles, if greater than or equal is missing"
# rule "Range check for doubles, equal and greater than"
# rule "Range check for doubles, equal and smaller than"
-# package org.drools.analytics.rangeChecks.dates
+# package org.drools.verifier.rangeChecks.dates
# rule "Range check for dates, if smaller than or equal is missing"
# rule "Range check for dates, if greater than or equal is missing"
# rule "Range check for dates, equal and greater than"
@@ -72,7 +72,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.integers
+# package org.drools.verifier.rangeChecks.integers
# rule "Range check for integers, if smaller than or equal is missing"
# rule "Range check for integers, if greater than or equal is missing"
# rule "Range check for integers, equal and greater than"
@@ -124,7 +124,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.integers
+# package org.drools.verifier.rangeChecks.integers
# rule "Range check for integers, if smaller than or equal is missing"
# rule "Range check for integers, if greater than or equal is missing"
# rule "Range check for integers, equal and greater than"
@@ -176,7 +176,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.doubles
+# package org.drools.verifier.rangeChecks.doubles
# rule "Range check for doubles, if smaller than or equal is missing"
# rule "Range check for doubles, if greater than or equal is missing"
# rule "Range check for doubles, equal and greater than"
@@ -228,7 +228,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.doubles
+# package org.drools.verifier.rangeChecks.doubles
# rule "Range check for doubles, if smaller than or equal is missing"
# rule "Range check for doubles, if greater than or equal is missing"
# rule "Range check for doubles, equal and greater than"
@@ -280,7 +280,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.dates
+# package org.drools.verifier.rangeChecks.dates
# rule "Range check for dates, if smaller than or equal is missing"
# rule "Range check for dates, if greater than or equal is missing"
# rule "Range check for dates, equal and greater than"
@@ -332,7 +332,7 @@
# Type: None
# Depandencies: Needs at least one of the following packages or rules to fire.
#
-# package org.drools.analytics.rangeChecks.dates
+# package org.drools.verifier.rangeChecks.dates
# rule "Range check for dates, if smaller than or equal is missing"
# rule "Range check for dates, if greater than or equal is missing"
# rule "Range check for dates, equal and greater than"
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Dates.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,18 +1,18 @@
#created on: 7.6.2007
-package org.drools.analytics.rangeChecks.dates;
+package org.drools.verifier.rangeChecks.dates;
#list any import classes here.
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.*;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Gap;
+import org.drools.verifier.components.*;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Gap;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
global AnalyticsResult result;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Doubles.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,14 +1,14 @@
#created on: 7.6.2007
-package org.drools.analytics.rangeChecks.doubles;
+package org.drools.verifier.rangeChecks.doubles;
#list any import classes here.
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.*;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Gap;
+import org.drools.verifier.components.*;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Gap;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
global AnalyticsResult result;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Integers.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +1,13 @@
#created on: 7.6.2007
-package org.drools.analytics.rangeChecks.integers;
+package org.drools.verifier.rangeChecks.integers;
#list any import classes here.
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.*;
-import org.drools.analytics.report.components.Gap;
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.Gap;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
global AnalyticsResult result;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Patterns.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Patterns.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,19 +1,19 @@
#created on: 7.6.2007
-package org.drools.analytics.rangeChecks.patterns;
+package org.drools.verifier.rangeChecks.patterns;
#list any import classes here.
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.*;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.MissingNumberPattern;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.FindMissingNumber;
+import org.drools.verifier.components.*;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.MissingNumberPattern;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.FindMissingNumber;
import java.util.ArrayList;
import java.util.List;
-import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResult;
#declare any global variables here
global AnalyticsResult result;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Variables.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +1,9 @@
-package org.drools.analytics.rangeChecks.variables;
+package org.drools.verifier.rangeChecks.variables;
#list any import classes here.
-import org.drools.analytics.components.*;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Gap;
+import org.drools.verifier.components.*;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Gap;
import java.util.ArrayList;
import java.util.TreeSet;
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Consequence.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Consequence.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,10 +1,10 @@
#created on: 29.11.2007
-package org.drools.analytics.redundancy.consequences
+package org.drools.verifier.redundancy.consequences
#list any import classes here.
-import org.drools.analytics.components.TextConsequence;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.TextConsequence;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
#declare any global variables here
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Notes.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Notes.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,5 +1,5 @@
#created on: 12.10.2007
-package org.drools.analytics.redundancy
+package org.drools.verifier.redundancy
#list any import classes here.
global AnalyticsResult result;
@@ -10,22 +10,22 @@
import java.util.Collection;
import java.util.ArrayList;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
#
# Dependencies:
#
# Needs at least one rule from following rules:
-# package org.drools.analytics.redundancy.restrictions
+# package org.drools.verifier.redundancy.restrictions
# rule "Find redundant VariableRestriction"
# rule "Find redundant LiteralRestriction"
#
@@ -53,7 +53,7 @@
#
# Dependencies:
#
-# package org.drools.analytics.redundancy.possibilities
+# package org.drools.verifier.redundancy.possibilities
# rule "Find pattern possibility redundancy"
#
rule "Find redundant pattern possibilities from rule possibilities"
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Patterns.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +1,9 @@
#created on: 7.9.2007
-package org.drools.analytics.redundancy.patterns
+package org.drools.verifier.redundancy.patterns
-import org.drools.analytics.components.*;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
#
# Only checks for redundant pattern specifications,
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Possibilities.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Possibilities.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +1,13 @@
#created on: 7.9.2007
-package org.drools.analytics.redundancy.possibilities
+package org.drools.verifier.redundancy.possibilities
-import org.drools.analytics.components.*;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.analytics.report.components.PartialRedundancy;
-import org.drools.analytics.report.components.Subsumption;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+import org.drools.verifier.report.components.PartialRedundancy;
+import org.drools.verifier.report.components.Subsumption;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
import java.util.ArrayList;
@@ -17,10 +17,10 @@
#
# Depandencies: Needs at least one rule from both packages.
#
-# package org.drools.analytics.redundancy.patterns
+# package org.drools.verifier.redundancy.patterns
# rule "Find redundant Patterns with restrictions"
# rule "Find redundant Patterns without restrictions"
-# package org.drools.analytics.redundancy.restrictions
+# package org.drools.verifier.redundancy.restrictions
# rule "Find redundant VariableRestriction"
# rule "Find redundant LiteralRestriction"
#
@@ -103,13 +103,13 @@
# Depandencies:
#
# Needs at least one rule from these packages:
-# package org.drools.analytics.equivalency.rules
+# package org.drools.verifier.equivalency.rules
# rule "Find equivalent Rules"
-# package org.drools.analytics.redundancy.rules
+# package org.drools.verifier.redundancy.rules
# rule "Find redundant Rules, strong redundancy"
#
# And this rule:
-# package org.drools.analytics.redundancy.possibilities
+# package org.drools.verifier.redundancy.possibilities
# rule "Find pattern possibility redundancy"
#
# Example: rule "1" Pattern( a == b) end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +1,9 @@
#created on: 7.9.2007
-package org.drools.analytics.redundancy.restrictions
+package org.drools.verifier.redundancy.restrictions
-import org.drools.analytics.components.*;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
#
# Depandencies: None
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Rules.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Rules.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,9 +1,9 @@
#created on: 7.9.2007
-package org.drools.analytics.redundancy.rules
+package org.drools.verifier.redundancy.rules
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
#
# Only checks for redundant rule specifications,
@@ -11,7 +11,7 @@
#
# Depandencies:
#
-# package org.drools.analytics.redundancy.consequences
+# package org.drools.verifier.redundancy.consequences
# rule "Find redundant TextConsequences"
#
rule "Find redundant Rules, strong redundancy"
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Warnings.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Warnings.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/redundancy/Warnings.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,5 +1,5 @@
#created on: 9.12.2007
-package org.drools.analytics.redundancy
+package org.drools.verifier.redundancy
#list any import classes here.
global AnalyticsResult result;
@@ -10,27 +10,27 @@
import java.util.Collection;
import java.util.ArrayList;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
#
# Dependencies:
#
# Needs at least one rule from these packages:
-# package org.drools.analytics.equivalency.rules
+# package org.drools.verifier.equivalency.rules
# rule "Find equivalent Rules"
-# package org.drools.analytics.redundancy.rules
+# package org.drools.verifier.redundancy.rules
# rule "Find redundant Rules, strong redundancy"
#
# And this rule:
-# package org.drools.analytics.redundancy.possibilities
+# package org.drools.verifier.redundancy.possibilities
# rule "Find rule possibility redundancy"
#
rule "Find redundant rule possibilities from different rules"
@@ -83,13 +83,13 @@
# Dependencies:
#
# Needs at least one rule from these packages:
-# package org.drools.analytics.equivalency.rules
+# package org.drools.verifier.equivalency.rules
# rule "Find equivalent Rules"
-# package org.drools.analytics.redundancy.rules
+# package org.drools.verifier.redundancy.rules
# rule "Find redundant Rules, strong redundancy"
#
# And this rule:
-# package org.drools.analytics.redundancy.possibilities
+# package org.drools.verifier.redundancy.possibilities
# rule "Find rule possibility redundancy"
#
rule "Find subsumptant rule possibilities from different rules"
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/report (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report)
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports/RangeCheckReports.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,13 +1,13 @@
#created on: 7.6.2007
-package org.drools.analytics.rangeChecks.reports;
+package org.drools.verifier.rangeChecks.reports;
#list any import classes here.
-import org.drools.analytics.components.Field;
-import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.Severity;
-import org.drools.analytics.report.components.MessageType;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.report.components.AnalyticsRangeCheckMessage;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.MissingRange;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
import java.util.ArrayList;
@@ -19,20 +19,20 @@
# Dependencies:
#
# Needs at least one of the following packages or rules to fire:
-# package org.drools.analytics.rangeChecks.patterns;
+# package org.drools.verifier.rangeChecks.patterns;
# rule "Range check for number patterns"
# rule "Range check for number patterns, !="
-# package org.drools.analytics.rangeChecks.integers
+# package org.drools.verifier.rangeChecks.integers
# rule "Range check for integers, if smaller than or equal is missing"
# rule "Range check for integers, if greater than or equal is missing"
# rule "Range check for integers, equal and greater than"
# rule "Range check for integers, equal and smaller than"
-# package org.drools.analytics.rangeChecks.doubles
+# package org.drools.verifier.rangeChecks.doubles
# rule "Range check for doubles, if smaller than or equal is missing"
# rule "Range check for doubles, if greater than or equal is missing"
# rule "Range check for doubles, equal and greater than"
# rule "Range check for doubles, equal and smaller than"
-# package org.drools.analytics.rangeChecks.dates
+# package org.drools.verifier.rangeChecks.dates
# rule "Range check for dates, if smaller than or equal is missing"
# rule "Range check for dates, if greater than or equal is missing"
# rule "Range check for dates, equal and greater than"
@@ -40,7 +40,7 @@
#
# The following rules are used to clean up the data that this rule uses,
# but they are not always necessary:
-# package org.drools.analytics.rangeChecks.cleanUp
+# package org.drools.verifier.rangeChecks.cleanUp
# rule "Merge gaps"
# rule "Remove useless integer gaps lesser or lesser and equal"
# rule "Remove useless integer gaps greater or greater and equal"
Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/subsumption)
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Possibilities.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/subsumption/Possibilities.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Possibilities.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,14 +1,14 @@
#created on: 8.1.2008
-package org.drools.analytics.subsumption.patterns
+package org.drools.verifier.subsumption.patterns
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.Subsumption;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.RedundancyType;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.Subsumption;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.RedundancyType;
#declare any global variables here
@@ -19,7 +19,7 @@
#
# Depandencies: Needs at least one rule.
#
-# package org.drools.analytics.redundancy.patterns
+# package org.drools.verifier.redundancy.patterns
# rule "Find redundant Patterns with restrictions"
# rule "Find redundant Patterns without restrictions"
#
@@ -85,10 +85,10 @@
#
# Depandencies: Needs at least one rule from either one of the following packages.
#
-# package org.drools.analytics.subsumption.patterns
+# package org.drools.verifier.subsumption.patterns
# rule "Find subsumptant pattern possibilities"
#
-# package org.drools.analytics.redundancy.patterns
+# package org.drools.verifier.redundancy.patterns
# rule "Find redundant Patterns with restrictions"
# rule "Find redundant Patterns without restrictions"
#
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/subsumption/Restrictions.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/verifier/subsumption/Restrictions.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,11 +1,11 @@
#created on: 28.1.2008
-package org.drools.analytics.subsumption.patterns
+package org.drools.verifier.subsumption.patterns
import org.drools.base.evaluators.Operator;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.Field.FieldType;
-import org.drools.analytics.report.components.Subsumption;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Field.FieldType;
+import org.drools.verifier.report.components.Subsumption;
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyticsTestStandalone.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyticsTestStandalone.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyticsTestStandalone.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,148 @@
+package org.drools.verifier;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.Dialect.AnalysisResult;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.verifier.Analyzer;
+import org.drools.verifier.components.AnalyticsClass;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.AnalyticsRangeCheckMessage;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ * This is a sample file to launch a rule package from a rule source file.
+ */
+class AnalyticsTestStandalone {
+
+ public static final void main(String[] args) {
+ try {
+
+ Collection<String> fileNames = new ArrayList<String>();
+
+ // Test data
+ // fileNames.add("MissingRangesForDates.drl");
+ // fileNames.add("MissingRangesForDoubles.drl");
+ // fileNames.add("MissingRangesForInts.drl");
+ // fileNames.add("MissingRangesForVariables.drl");
+ // fileNames.add("Misc.drl");
+ // fileNames.add("Misc2.drl");
+ fileNames.add("Misc3.drl");
+ // fileNames.add("ConsequenceTest.drl");
+ // fileNames.add("optimisation/OptimisationRestrictionOrderTest.drl");
+ // fileNames.add("optimisation/OptimisationPatternOrderTest.drl");
+
+ DrlParser parser = new DrlParser();
+ Analyzer a = new Analyzer();
+
+ for (String s : fileNames) {
+ PackageDescr descr = parser.parse(new InputStreamReader(
+ Analyzer.class.getResourceAsStream(s)));
+ a.addPackageDescr(descr);
+ }
+
+ a.fireAnalysis();
+ // System.out.print(a.getResultAsPlainText());
+ // System.out.print(a.getResultAsXML());
+ // a.writeComponentsHTML("/stash/");
+ // a.writeComponentsHTML("/Users/michaelneale/foo.html");
+ a.writeComponentsHTML("c:/");
+
+ AnalyticsResult result = a.getResult();
+ Collection<AnalyticsMessageBase> msgs = result
+ .getBySeverity(Severity.ERROR);
+
+ for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
+ AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
+ .next();
+ System.out.println("ERR: " + msg.getMessage());
+ }
+
+ msgs = result.getBySeverity(Severity.WARNING);
+ for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
+ AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
+ .next();
+ System.out.println("WARN (" + msg.getClass().getSimpleName()
+ + "): " + msg.getMessage());
+ System.out.println("\t FAULT: ["
+ + msg.getClass().getSimpleName() + "] "
+ + msg.getFaulty());
+ if (msg instanceof AnalyticsMessage) {
+ System.out.println("\t CAUSES (message):");
+ AnalyticsMessage amsg = (AnalyticsMessage) msg;
+ for (Iterator iterator2 = amsg.getCauses().iterator(); iterator2
+ .hasNext();) {
+ Cause c = (Cause) iterator2.next();
+ System.out.println("\t\t ["
+ + c.getClass().getSimpleName() + "]" + c);
+
+ }
+
+ } else if (msg instanceof AnalyticsRangeCheckMessage) {
+ System.out.println("\t CAUSES (range):");
+ AnalyticsRangeCheckMessage amsg = (AnalyticsRangeCheckMessage) msg;
+ for (Iterator iterator2 = amsg.getCauses().iterator(); iterator2
+ .hasNext();) {
+ Cause c = (Cause) iterator2.next();
+ System.out.println("\t\t" + c);
+
+ }
+
+ }
+ }
+
+ msgs = result.getBySeverity(Severity.NOTE);
+ for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
+ AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
+ .next();
+ System.out.println("NOTE: " + msg.getMessage());
+ System.out.println("\t" + msg.getFaulty());
+ }
+
+ Collection<AnalyticsClass> classes = result.getAnalyticsData()
+ .getAllClasses();
+ for (Iterator iterator = classes.iterator(); iterator.hasNext();) {
+ AnalyticsClass c = (AnalyticsClass) iterator.next();
+
+ Collection<AnalyticsRule> cr = result.getAnalyticsData()
+ .getRulesByClassId(c.getId());
+ System.err.println("Class rules:" + cr);
+ Set<Field> flds = c.getFields();
+ for (Iterator iterator2 = flds.iterator(); iterator2.hasNext();) {
+ Field f = (Field) iterator2.next();
+ cr = result.getAnalyticsData().getRulesByFieldId(f.getId());
+ System.err.println("Field rules: " + cr);
+
+ }
+ }
+
+ // System.err.println(a.getResultAsPlainText());
+ // System.out.println(result.toString());
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+ private static void writeToFile(String fileName, String text) {
+ try {
+ FileWriter fstream = new FileWriter(fileName);
+ BufferedWriter out = new BufferedWriter(fstream);
+ out.write(text);
+ out.close();
+ } catch (Exception e) {
+ System.err.println(e.getMessage());
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyzerTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyzerTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyzerTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/AnalyzerTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,78 @@
+package org.drools.verifier;
+
+import java.io.InputStreamReader;
+
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.compiler.DrlParser;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.verifier.Analyzer;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.report.components.Severity;
+
+public class AnalyzerTest extends TestCase {
+
+ public void testAnalyzer() throws Exception {
+ Analyzer anal = new Analyzer();
+
+ DrlParser p = new DrlParser();
+ InputStreamReader reader = new InputStreamReader(this.getClass().getResourceAsStream("Misc3.drl"));
+ PackageDescr pkg = p.parse(reader);
+ assertFalse(p.hasErrors());
+
+ anal.addPackageDescr(pkg);
+ anal.fireAnalysis();
+
+ AnalyticsResult result = anal.getResult();
+ assertNotNull(result);
+ assertEquals(0, result.getBySeverity(Severity.ERROR).size());
+ assertEquals(10, result.getBySeverity(Severity.WARNING).size());
+ assertEquals(1, result.getBySeverity(Severity.NOTE).size());
+
+
+ //check it again
+ anal = new Analyzer();
+
+ p = new DrlParser();
+ reader = new InputStreamReader(this.getClass().getResourceAsStream("Misc3.drl"));
+ pkg = p.parse(reader);
+ assertFalse(p.hasErrors());
+
+ anal.addPackageDescr(pkg);
+ anal.fireAnalysis();
+
+ result = anal.getResult();
+ assertNotNull(result);
+ assertEquals(0, result.getBySeverity(Severity.ERROR).size());
+ assertEquals(10, result.getBySeverity(Severity.WARNING).size());
+ assertEquals(1, result.getBySeverity(Severity.NOTE).size());
+
+
+
+
+ }
+
+ public void testCacheKnowledgeBase() throws Exception {
+ Analyzer anal = new Analyzer();
+ DrlParser p = new DrlParser();
+ InputStreamReader reader = new InputStreamReader(this.getClass().getResourceAsStream("Misc3.drl"));
+ PackageDescr pkg = p.parse(reader);
+ assertFalse(p.hasErrors());
+
+ anal.addPackageDescr(pkg);
+ anal.fireAnalysis();
+
+ RuleBase original = Analyzer.verifierKnowledgeBase;
+
+ Analyzer anal2 = new Analyzer();
+
+ assertSame(original, Analyzer.verifierKnowledgeBase);
+
+ anal2.reloadAnalysisKnowledgeBase();
+ assertNotSame(original, Analyzer.verifierKnowledgeBase);
+
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/ConsequenceTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/ConsequenceTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/ConsequenceTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,64 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class ConsequenceTest extends TestBase {
+
+ public void testMissingConsequence() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Consequence.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "No action - possibly commented out"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("ConsequenceTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertFalse(rulesThatHadErrors.contains("Has a consequence 1"));
+ assertTrue(rulesThatHadErrors.remove("Missing consequence 1"));
+ assertTrue(rulesThatHadErrors.remove("Missing consequence 2"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/FindMissingNumberTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/FindMissingNumberTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/FindMissingNumberTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/FindMissingNumberTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,131 @@
+package org.drools.verifier;
+
+import java.math.BigDecimal;
+
+import org.drools.verifier.FindMissingNumber;
+
+import junit.framework.TestCase;
+
+public class FindMissingNumberTest extends TestCase {
+
+ public void testfindSumPattern() {
+ // Sum +2 missing number 4
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(2),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(10) }).doubleValue() == 4);
+ // +10 missing number 50
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10),
+ BigDecimal.valueOf(20), BigDecimal.valueOf(30),
+ BigDecimal.valueOf(40), BigDecimal.valueOf(60),
+ BigDecimal.valueOf(70) }).doubleValue() == 50);
+ // +66 missing number 308
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(110),
+ BigDecimal.valueOf(176), BigDecimal.valueOf(242),
+ BigDecimal.valueOf(374) }).doubleValue() == 308);
+
+ // Deduction -2 missing number 8
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(2) }).doubleValue() == 8);
+ // -337 missing number -11
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(663),
+ BigDecimal.valueOf(326), BigDecimal.valueOf(-348),
+ BigDecimal.valueOf(-685) }).doubleValue() == -11);
+ // -31 missing number 4350
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(4443),
+ BigDecimal.valueOf(4412), BigDecimal.valueOf(4381),
+ BigDecimal.valueOf(4319) }).doubleValue() == 4350);
+
+ // Not valid
+ // Not in pattern.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(1), BigDecimal.valueOf(2),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(6),
+ BigDecimal.valueOf(8), BigDecimal.valueOf(11) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(5), BigDecimal.valueOf(3),
+ BigDecimal.valueOf(54353), BigDecimal.valueOf(54554),
+ BigDecimal.valueOf(232), BigDecimal.valueOf(123) }) == null);
+ // No missing values.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(10), BigDecimal.valueOf(12),
+ BigDecimal.valueOf(14) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(10), BigDecimal.valueOf(20),
+ BigDecimal.valueOf(30), BigDecimal.valueOf(40),
+ BigDecimal.valueOf(50), BigDecimal.valueOf(60) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(-15), BigDecimal.valueOf(-10),
+ BigDecimal.valueOf(-5), BigDecimal.valueOf(0),
+ BigDecimal.valueOf(5), BigDecimal.valueOf(10),
+ BigDecimal.valueOf(15) }) == null);
+ // Under 4 values always returns null.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(6) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] { BigDecimal
+ .valueOf(2) }) == null);
+ }
+
+ public void testFindMultiplicationPattern() {
+
+ // Multiplication
+ // *2 missing number 4
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(2),
+ BigDecimal.valueOf(8), BigDecimal.valueOf(16),
+ BigDecimal.valueOf(32), BigDecimal.valueOf(64) })
+ .doubleValue() == 4);
+ // *17 missing number 383214
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(78),
+ BigDecimal.valueOf(1326), BigDecimal.valueOf(22542),
+ BigDecimal.valueOf(6514638) }).doubleValue() == 383214);
+ // *1,23 missing number 2016.6957
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(1333),
+ BigDecimal.valueOf(1639.59),
+ BigDecimal.valueOf(2480.535711),
+ BigDecimal.valueOf(3051.05892453) }).doubleValue() == 2016.6957);
+
+ // Division
+ // /2 (*0.5) missing number 128
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(256),
+ BigDecimal.valueOf(64), BigDecimal.valueOf(32),
+ BigDecimal.valueOf(16), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(2) })
+ .doubleValue() == 128);
+ // /10 (*0.1) missing number 1
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10000),
+ BigDecimal.valueOf(1000), BigDecimal.valueOf(100),
+ BigDecimal.valueOf(10), BigDecimal.valueOf(0.1),
+ BigDecimal.valueOf(0.01) }).doubleValue() == 1);
+
+ // Not valid
+ // Not in pattern.
+ assertTrue(FindMissingNumber.findMultiplicationPattern(new BigDecimal[] {
+ BigDecimal.valueOf(111.2), BigDecimal.valueOf(3323),
+ BigDecimal.valueOf(234.434), BigDecimal.valueOf(44343),
+ BigDecimal.valueOf(434) }) == null);
+ assertTrue(FindMissingNumber.findMultiplicationPattern(new BigDecimal[] {
+ BigDecimal.valueOf(1), BigDecimal.valueOf(2),
+ BigDecimal.valueOf(3), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(5), BigDecimal.valueOf(6),
+ BigDecimal.valueOf(7), BigDecimal.valueOf(5),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(3),
+ BigDecimal.valueOf(2), BigDecimal.valueOf(1),
+ BigDecimal.valueOf(1), BigDecimal.valueOf(1) }) == null);
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/PatternSolverTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/PatternSolverTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/PatternSolverTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/PatternSolverTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,392 @@
+package org.drools.verifier;
+
+import java.util.List;
+import java.util.Set;
+
+import org.drools.verifier.PatternSolver;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class PatternSolverTest extends TestCase {
+
+ /**
+ * <pre>
+ * and
+ * / \
+ * descr descr2
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2
+ */
+ public void testAddBasicAnd() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+
+ OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(operatorDescr);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(1, list.size());
+ assertEquals(2, list.get(0).size());
+ }
+
+ /**
+ * <pre>
+ * or
+ * / \
+ * descr descr2
+ * </pre>
+ *
+ * result:<br>
+ * descr<br>
+ * or<br>
+ * descr2
+ */
+ public void testAddBasicOr() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+
+ OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(operatorDescr);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(2, list.size());
+ assertEquals(1, list.get(0).size());
+ assertEquals(1, list.get(1).size());
+ }
+
+ /**
+ * <pre>
+ * or
+ * / \
+ * descr and
+ * / \
+ * descr2 descr3
+ * </pre>
+ *
+ * result:<br>
+ * descr <br>
+ * or<br>
+ * descr2 && descr3
+ */
+ public void testAddOrAnd() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(orDescr);
+ solver.add(literalRestriction);
+ solver.add(andDescr);
+ solver.add(literalRestriction2);
+ solver.add(literalRestriction3);
+ solver.end();
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(2, list.size());
+
+ assertEquals(1, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+
+ assertEquals(2, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction2));
+ assertTrue(list.get(1).contains(literalRestriction3));
+ }
+
+ /**
+ * <pre>
+ * and
+ * / \
+ * descr or
+ * / \
+ * descr2 descr3
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2 <br>
+ * or<br>
+ * descr && descr3
+ */
+ public void testAddAndOr() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(orDescr);
+ solver.add(literalRestriction);
+ solver.add(andDescr);
+ solver.add(literalRestriction2);
+ solver.add(literalRestriction3);
+ solver.end();
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(2, list.size());
+
+ assertEquals(2, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+ assertTrue(list.get(0).contains(literalRestriction2));
+
+ assertEquals(2, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction));
+ assertTrue(list.get(1).contains(literalRestriction3));
+ }
+
+ /**
+ * <pre>
+ * and
+ * / \
+ * or or
+ * / \ / \
+ * descr descr2 descr3 descr4
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr3<br>
+ * or<br>
+ * descr && descr4<br>
+ * or<br>
+ * descr2 && descr3<br>
+ * or<br>
+ * descr2 && descr4
+ */
+ public void testAddAndOrOr() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+ LiteralRestriction literalRestriction4 = new LiteralRestriction();
+
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ OperatorDescr orDescr2 = new OperatorDescr(OperatorDescr.Type.OR);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(andDescr);
+ solver.add(orDescr);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+ solver.add(orDescr2);
+ solver.add(literalRestriction3);
+ solver.add(literalRestriction4);
+ solver.end();
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(4, list.size());
+
+ assertEquals(2, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+ assertTrue(list.get(0).contains(literalRestriction3));
+
+ assertEquals(2, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction));
+ assertTrue(list.get(1).contains(literalRestriction4));
+
+ assertEquals(2, list.get(2).size());
+ assertTrue(list.get(2).contains(literalRestriction2));
+ assertTrue(list.get(2).contains(literalRestriction3));
+
+ assertEquals(2, list.get(3).size());
+ assertTrue(list.get(3).contains(literalRestriction2));
+ assertTrue(list.get(3).contains(literalRestriction4));
+ }
+
+ /**
+ * <pre>
+ * or
+ * / \
+ * and and
+ * / \ / \
+ * descr descr2 descr3 descr4
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2<br>
+ * or<br>
+ * descr3 && descr4
+ */
+ public void testAddOrAndAnd() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+ LiteralRestriction literalRestriction4 = new LiteralRestriction();
+
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr andDescr2 = new OperatorDescr(OperatorDescr.Type.AND);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(orDescr);
+ solver.add(andDescr);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+ solver.add(andDescr2);
+ solver.add(literalRestriction3);
+ solver.add(literalRestriction4);
+ solver.end();
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(2, list.size());
+
+ assertEquals(2, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+ assertTrue(list.get(0).contains(literalRestriction2));
+
+ assertEquals(2, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction3));
+ assertTrue(list.get(1).contains(literalRestriction4));
+ }
+
+ /**
+ * <pre>
+ * or
+ * / \
+ * and or
+ * / \ / \
+ * descr descr2 descr3 descr4
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2<br>
+ * or<br>
+ * descr3<br>
+ * or<br>
+ * descr4
+ */
+ public void testAddOrAndOr() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+ LiteralRestriction literalRestriction4 = new LiteralRestriction();
+
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr orDescr2 = new OperatorDescr(OperatorDescr.Type.OR);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(orDescr);
+ solver.add(andDescr);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+ solver.add(orDescr2);
+ solver.add(literalRestriction3);
+ solver.add(literalRestriction4);
+ solver.end();
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(3, list.size());
+
+ assertEquals(2, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+ assertTrue(list.get(0).contains(literalRestriction2));
+
+ assertEquals(1, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction3));
+
+ assertEquals(1, list.get(2).size());
+ assertTrue(list.get(2).contains(literalRestriction4));
+ }
+
+ /**
+ * <pre>
+ * and
+ * / | \
+ * and or descr5
+ * / \ / \
+ * descr descr2 descr3 descr4
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2 && descr3 && descr5<br>
+ * or<br>
+ * descr && descr2 && descr4 && descr5<br>
+ */
+ public void testAddOrAndOrDescr() {
+ Pattern pattern = new Pattern();
+
+ LiteralRestriction literalRestriction = new LiteralRestriction();
+ LiteralRestriction literalRestriction2 = new LiteralRestriction();
+ LiteralRestriction literalRestriction3 = new LiteralRestriction();
+ LiteralRestriction literalRestriction4 = new LiteralRestriction();
+ LiteralRestriction literalRestriction5 = new LiteralRestriction();
+
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr andDescr2 = new OperatorDescr(OperatorDescr.Type.AND);
+ OperatorDescr orDescr = new OperatorDescr(OperatorDescr.Type.OR);
+ PatternSolver solver = new PatternSolver(pattern);
+
+ solver.add(andDescr);
+ solver.add(andDescr2);
+ solver.add(literalRestriction);
+ solver.add(literalRestriction2);
+ solver.end();
+ solver.add(orDescr);
+ solver.add(literalRestriction3);
+ solver.add(literalRestriction4);
+ solver.end();
+ solver.add(literalRestriction5);
+ solver.end();
+
+ List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ assertEquals(2, list.size());
+
+ assertEquals(4, list.get(0).size());
+ assertTrue(list.get(0).contains(literalRestriction));
+ assertTrue(list.get(0).contains(literalRestriction2));
+ assertTrue(list.get(0).contains(literalRestriction3));
+ assertTrue(list.get(0).contains(literalRestriction5));
+
+ assertEquals(4, list.get(1).size());
+ assertTrue(list.get(1).contains(literalRestriction));
+ assertTrue(list.get(1).contains(literalRestriction2));
+ assertTrue(list.get(1).contains(literalRestriction4));
+ assertTrue(list.get(1).contains(literalRestriction4));
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckCleanTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckCleanTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckCleanTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckCleanTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,596 @@
+package org.drools.verifier;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Gap;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class RangeCheckCleanTest extends TestBase {
+
+ public void testUselessIntegerGapsLesser() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless integer gaps lesser or lesser and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > 10 covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 10 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("10");
+ testData.add(lower);
+
+ // == 50 covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 50 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("50");
+ testData.add(r1);
+
+ // > 50 gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < 50 gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // > 70 covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("> 70 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.GREATER);
+ r2.setValue("70");
+ testData.add(r2);
+
+ // <= 70 gap
+ Gap g3 = new Gap(f, Operator.LESS_OR_EQUAL, r2);
+ g3.setFiredRuleName("70gap");
+ testData.add(g3);
+
+ // < 100 covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 100 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("100");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 10 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 50 covered"));
+ assertTrue(rulesThatHadErrors.remove("> 70 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 100 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("70gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testUselessIntegerGapsGreater() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless integer gaps greater or greater and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > 10 covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 10 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("10");
+ testData.add(lower);
+
+ // == 50 covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 50 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("50");
+ testData.add(r1);
+
+ // > 50 gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < 50 gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // < 70 covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("< 70 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.LESS);
+ r2.setValue("70");
+ testData.add(r2);
+
+ // >= 70 gap
+ Gap g3 = new Gap(f, Operator.GREATER_OR_EQUAL, r2);
+ g3.setFiredRuleName("70gap");
+ testData.add(g3);
+
+ // < 100 covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 100 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("100");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 10 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 50 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 70 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 100 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("70gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testUselessDoubleGapsLesser() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless double gaps lesser or lesser and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > 10.0 covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 10.0 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("10.0");
+ testData.add(lower);
+
+ // == 50.0 covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 50.0 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("50.0");
+ testData.add(r1);
+
+ // > 50.0 gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < 50.0 gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // > 70.0 covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("> 70.0 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.GREATER);
+ r2.setValue("70.0");
+ testData.add(r2);
+
+ // <= 70.0 gap
+ Gap g3 = new Gap(f, Operator.LESS_OR_EQUAL, r2);
+ g3.setFiredRuleName("70gap");
+ testData.add(g3);
+
+ // < 100.0 covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 100.0 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("100.0");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 10.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 50.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("> 70.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 100.0 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("70gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testUselessDoubleGapsGreater() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless double gaps greater or greater and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > 10.0 covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 10.0 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("10.0");
+ testData.add(lower);
+
+ // == 50.0 covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 50.0 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("50.0");
+ testData.add(r1);
+
+ // > 50.0 gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < 50.0 gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // < 70.0 covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("< 70.0 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.LESS);
+ r2.setValue("70.0");
+ testData.add(r2);
+
+ // >= 70.0 gap
+ Gap g3 = new Gap(f, Operator.GREATER_OR_EQUAL, r2);
+ g3.setFiredRuleName("70gap");
+ testData.add(g3);
+
+ // < 100.0 covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 100.0 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("100.0");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 10.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 50.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 70.0 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 100.0 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("70gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testUselessDateGapsLesser() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless date gaps lesser or lesser and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > "01-Oct-2007" covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 01-Oct-2007 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("01-Oct-2007");
+ testData.add(lower);
+
+ // == "10-Oct-2007" covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 10-Oct-2007 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("10-Oct-2007");
+ testData.add(r1);
+
+ // > "10-Oct-2007" gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < "10-Oct-2007" gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // > "15-Oct-2007" covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("> 15-Oct-2007 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.GREATER);
+ r2.setValue("15-Oct-2007");
+ testData.add(r2);
+
+ // <= "15-Oct-2007" gap
+ Gap g3 = new Gap(f, Operator.LESS_OR_EQUAL, r2);
+ g3.setFiredRuleName("15-Oct-2007gap");
+ testData.add(g3);
+
+ // < "20-Oct-2007" covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 20-Oct-2007 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("20-Oct-2007");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 01-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 10-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("> 15-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 20-Oct-2007 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("15-Oct-2007gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testUselessDateGapsGreater() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Clean.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Remove useless date gaps greater or greater and equal"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ Field f = new Field();
+ testData.add(f);
+
+ // > "01-Oct-2007" covered
+ LiteralRestriction lower = new LiteralRestriction();
+ lower.setRuleName("> 01-Oct-2007 covered");
+ lower.setFieldId(f.getId());
+ lower.setOperator(Operator.GREATER);
+ lower.setValue("01-Oct-2007");
+ testData.add(lower);
+
+ // == "10-Oct-2007" covered
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setRuleName("== 10-Oct-2007 covered");
+ r1.setFieldId(f.getId());
+ r1.setOperator(Operator.EQUAL);
+ r1.setValue("10-Oct-2007");
+ testData.add(r1);
+
+ // > "10-Oct-2007" gap
+ Gap g1 = new Gap(f, Operator.GREATER, r1);
+ g1.setFiredRuleName("above");
+ testData.add(g1);
+
+ // < "10-Oct-2007" gap
+ Gap g2 = new Gap(f, Operator.LESS, r1);
+ g2.setFiredRuleName("below");
+ testData.add(g2);
+
+ // < "15-Oct-2007" covered
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setRuleName("< 15-Oct-2007 covered");
+ r2.setFieldId(f.getId());
+ r2.setOperator(Operator.LESS);
+ r2.setValue("15-Oct-2007");
+ testData.add(r2);
+
+ // >= "15-Oct-2007" gap
+ Gap g3 = new Gap(f, Operator.GREATER_OR_EQUAL, r2);
+ g3.setFiredRuleName("15-Oct-2007gap");
+ testData.add(g3);
+
+ // < "20-Oct-2007" covered
+ LiteralRestriction higher = new LiteralRestriction();
+ higher.setRuleName("< 20-Oct-2007 covered");
+ higher.setFieldId(f.getId());
+ higher.setOperator(Operator.LESS);
+ higher.setValue("20-Oct-2007");
+ testData.add(higher);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Field) {
+ // Do nothing
+ } else if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getFiredRuleName());
+ } else if (o instanceof AnalyticsComponent) {
+ rulesThatHadErrors.add(((AnalyticsComponent) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("> 01-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("== 10-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 15-Oct-2007 covered"));
+ assertTrue(rulesThatHadErrors.remove("< 20-Oct-2007 covered"));
+ assertFalse(rulesThatHadErrors.contains("below"));
+ assertFalse(rulesThatHadErrors.contains("above"));
+ assertFalse(rulesThatHadErrors.contains("15-Oct-2007gap"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDatesTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDatesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDatesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDatesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,179 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Gap;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class RangeCheckDatesTest extends TestBase {
+
+ public void testFake() {
+ assertTrue(true);
+ }
+
+ public void fixmetestSmallerOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Dates.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for dates, if smaller than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 4a"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 5a"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void fixmetestGreaterOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Dates.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for dates, if greater than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 4b"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 5b"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void fixmetestEqualAndGreaterThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Dates.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for dates, equal and greater than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 7b"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 3"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void fixmetestEqualAndSmallerThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Dates.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for dates, equal and smaller than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 6b"));
+ assertTrue(rulesThatHadErrors.remove("Date gap rule 2"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDoublesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,179 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Gap;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class RangeCheckDoublesTest extends TestBase {
+
+ public void testSmallerOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Doubles.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for doubles, if smaller than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 4a"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 5a"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testGreaterOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Doubles.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for doubles, if greater than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 4b"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 5b"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testEqualAndGreaterThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Doubles.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for doubles, equal and greater than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 7b"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 3"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 9b"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testEqualAndSmallerThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Doubles.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for doubles, equal and smaller than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 6b"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 2"));
+ assertTrue(rulesThatHadErrors.remove("Double gap rule 9a"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckIntegersTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,177 @@
+package org.drools.verifier;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Gap;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class RangeCheckIntegersTest extends TestBase {
+
+ public void testSmallerOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Integers.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for integers, if smaller than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 4a"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 5a"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testGreaterOrEqual() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Integers.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for integers, if greater than or equal is missing"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 4b"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 5b"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testEqualAndGreaterThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Integers.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for integers, equal and greater than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 7b"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 3"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testEqualAndSmallerThan() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("rangeChecks/Integers.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Range check for integers, equal and smaller than"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(testData);
+
+ Iterator<Object> iter = sessionResult.iterateObjects();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Gap) {
+ rulesThatHadErrors.add(((Gap) o).getRuleName());
+ }
+ // System.out.println(o);
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 1"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 6b"));
+ assertTrue(rulesThatHadErrors.remove("Integer gap rule 2"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SolversTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/SolversTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SolversTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SolversTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,143 @@
+package org.drools.verifier;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.verifier.Solvers;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.report.components.Cause;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class SolversTest extends TestCase {
+
+ /**
+ * <pre>
+ * when
+ * Foo( r && r2 )
+ * and
+ * not Foo( r3 && r4 )
+ * </pre>
+ *
+ * result:<br>
+ * r && r2<br>
+ * r3 && r4
+ */
+ public void testNotAnd() {
+ AnalyticsRule rule = new AnalyticsRule();
+ Pattern pattern = new Pattern();
+
+ Restriction r = new LiteralRestriction();
+ Restriction r2 = new LiteralRestriction();
+ Restriction r3 = new LiteralRestriction();
+ Restriction r4 = new LiteralRestriction();
+
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ Solvers solvers = new Solvers();
+
+ solvers.startRuleSolver(rule);
+
+ solvers.startOperator(andDescr);
+ solvers.startPatternSolver(pattern);
+ solvers.startOperator(andDescr);
+ solvers.addRestriction(r);
+ solvers.addRestriction(r2);
+ solvers.endOperator();
+ solvers.endPatternSolver();
+
+ solvers.startNot();
+ solvers.startPatternSolver(pattern);
+ solvers.startOperator(andDescr);
+ solvers.addRestriction(r3);
+ solvers.addRestriction(r4);
+ solvers.endOperator();
+ solvers.endPatternSolver();
+ solvers.endNot();
+
+ solvers.endOperator();
+
+ solvers.endRuleSolver();
+
+ List<RulePossibility> list = solvers.getRulePossibilities();
+ assertEquals(1, list.size());
+ assertEquals(2, list.get(0).getItems().size());
+
+ List<Restriction> result = new ArrayList<Restriction>();
+ result.add(r);
+ result.add(r2);
+
+ List<Restriction> result2 = new ArrayList<Restriction>();
+ result2.add(r3);
+ result2.add(r4);
+
+ Object[] possibilies = list.get(0).getItems().toArray();
+ PatternPossibility p1 = (PatternPossibility) possibilies[0];
+ PatternPossibility p2 = (PatternPossibility) possibilies[1];
+
+ /*
+ * Order may change but it doesn't matter.
+ */
+ if (p1.getItems().containsAll(result)) {
+ assertTrue(p2.getItems().containsAll(result2));
+ } else if (p1.getItems().containsAll(result2)) {
+ assertTrue(p2.getItems().containsAll(result));
+ } else {
+ fail("No items found.");
+ }
+ }
+
+ /**
+ * <pre>
+ * when
+ * Foo( descr && descr2 )
+ * </pre>
+ *
+ * result:<br>
+ * descr && descr2
+ */
+ public void testBasicAnd() {
+ AnalyticsRule rule = new AnalyticsRule();
+ Pattern pattern = new Pattern();
+
+ Restriction r = new LiteralRestriction();
+ Restriction r2 = new LiteralRestriction();
+
+ OperatorDescr andDescr = new OperatorDescr(OperatorDescr.Type.AND);
+ Solvers solvers = new Solvers();
+
+ solvers.startRuleSolver(rule);
+ solvers.startPatternSolver(pattern);
+ solvers.startOperator(andDescr);
+ solvers.addRestriction(r);
+ solvers.addRestriction(r2);
+ solvers.endOperator();
+ solvers.endPatternSolver();
+ solvers.endRuleSolver();
+
+ List<RulePossibility> list = solvers.getRulePossibilities();
+ assertEquals(1, list.size());
+ assertEquals(1, list.get(0).getItems().size());
+
+ List<Restriction> result = new ArrayList<Restriction>();
+ result.add(r);
+ result.add(r2);
+
+ Set<Cause> set = list.get(0).getItems();
+ for (Cause cause : set) {
+ PatternPossibility possibility = (PatternPossibility) cause;
+ assertTrue(possibility.getItems().containsAll(result));
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/SubsumptantPossibilitiesRuleTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,232 @@
+package org.drools.verifier;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.report.components.PartialRedundancy;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.Subsumption;
+
+public class SubsumptantPossibilitiesRuleTest extends TestBase {
+
+ private static final String RULE_NAME = "Find subsumptant Possibilities";
+
+ public void testFake() {
+ assertTrue(true);
+ }
+
+ public void fixmetestSubsumptantPossibilitiesPattern() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("redundancy/Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(RULE_NAME));
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(createSubsumptantPatternData(ruleName1,
+ ruleName2));
+
+ Map<String, Set<String>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
+
+ if (!map.isEmpty()) {
+ fail("More subsumpt cases than was expected.");
+ }
+ }
+
+ public void fixmetestSubsumptantPossibilitiesRule() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("redundancy/Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(RULE_NAME));
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ StatelessSessionResult sessionResult = session
+ .executeWithResults(createSubsumptantRuleData(ruleName1,
+ ruleName2));
+
+ Map<String, Set<String>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
+
+ if (!map.isEmpty()) {
+ fail("More subsumpt cases than was expected.");
+ }
+ }
+
+ public void fixmetestSubsumptantPossibilitiesBoth() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("redundancy/Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(RULE_NAME));
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+ String ruleName3 = "Rule 3";
+ String ruleName4 = "Rule 4";
+ String ruleName5 = "Rule 5";
+ String ruleName6 = "Rule 6";
+ String ruleName7 = "Rule 7";
+ String ruleName8 = "Rule 8";
+ String ruleName9 = "Rule 9";
+ String ruleName10 = "Rule 10";
+ String ruleName11 = "Rule 11";
+ String ruleName12 = "Rule 12";
+
+ // Rule data
+ Collection<Object> data = createSubsumptantRuleData(ruleName1,
+ ruleName2);
+ data.addAll(createSubsumptantRuleData(ruleName3, ruleName4));
+ data.addAll(createSubsumptantRuleData(ruleName5, ruleName6));
+
+ // Pattern data.
+ data.addAll(createSubsumptantPatternData(ruleName7, ruleName8));
+ data.addAll(createSubsumptantPatternData(ruleName9, ruleName10));
+ data.addAll(createSubsumptantPatternData(ruleName11, ruleName12));
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
+ assertTrue(TestBase.mapContains(map, ruleName4, ruleName3));
+ assertTrue(TestBase.mapContains(map, ruleName6, ruleName5));
+
+ assertTrue(TestBase.mapContains(map, ruleName8, ruleName7));
+ assertTrue(TestBase.mapContains(map, ruleName10, ruleName9));
+ assertTrue(TestBase.mapContains(map, ruleName12, ruleName11));
+
+ if (!map.isEmpty()) {
+ fail("More subsumpt cases than was expected.");
+ }
+ }
+
+ private Collection<Object> createSubsumptantPatternData(String ruleName1,
+ String ruleName2) {
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setRuleName(ruleName1);
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setRuleName(ruleName1);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setRuleName(ruleName1);
+ pp1.add(lr1);
+ pp1.add(lr2);
+
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setRuleName(ruleName2);
+
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setRuleName(ruleName2);
+ pp2.add(lr3);
+
+ Redundancy redundancy1 = new Redundancy(lr1, lr3);
+
+ PartialRedundancy pr1 = new PartialRedundancy(pp1, pp2, redundancy1);
+ PartialRedundancy pr2 = new PartialRedundancy(pp2, pp1, redundancy1);
+
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(redundancy1);
+ data.add(pr1);
+ data.add(pr2);
+
+ return data;
+ }
+
+ private Collection<Object> createSubsumptantRuleData(String ruleName1,
+ String ruleName2) {
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setRuleName(ruleName1);
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setRuleName(ruleName1);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleName(ruleName1);
+ rp1.add(pp1);
+ rp1.add(pp2);
+
+ PatternPossibility pp3 = new PatternPossibility();
+ pp3.setRuleName(ruleName2);
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleName(ruleName2);
+ rp2.add(pp3);
+
+ Redundancy redundancy1 = new Redundancy(pp1, pp3);
+
+ PartialRedundancy pr1 = new PartialRedundancy(rp1, rp2, redundancy1);
+ PartialRedundancy pr2 = new PartialRedundancy(rp2, rp1, redundancy1);
+
+ data.add(pp1);
+ data.add(pp2);
+ data.add(rp1);
+ data.add(pp3);
+ data.add(rp2);
+ data.add(redundancy1);
+ data.add(pr1);
+ data.add(pr2);
+
+ return data;
+ }
+
+ /**
+ * Creates redundancy map from Redundancy objects, one rule may have several
+ * redundancy dependencies.
+ *
+ * @param iter
+ * @return
+ */
+ private Map<String, Set<String>> createSubsumptionMap(Iterator iter) {
+
+ Map<String, Set<String>> map = new HashMap<String, Set<String>>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Subsumption) {
+ Subsumption s = (Subsumption) o;
+ AnalyticsComponent left = (AnalyticsComponent) s.getLeft();
+ AnalyticsComponent right = (AnalyticsComponent) s.getRight();
+
+ if (map.containsKey(left.getRuleName())) {
+ Set<String> set = map.get(left.getRuleName());
+ set.add(right.getRuleName());
+ } else {
+ Set<String> set = new HashSet<String>();
+ set.add(right.getRuleName());
+ map.put(left.getRuleName(), set);
+ }
+ }
+ }
+
+ return map;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/TestBase.java (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/TestBase.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/TestBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/TestBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,114 @@
+package org.drools.verifier;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatelessSession;
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.PackageBuilder;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.Package;
+import org.drools.verifier.PackageDescrFlattener;
+import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.report.components.Cause;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+abstract public class TestBase extends TestCase {
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ System.setProperty("drools.dateformat", "dd-MMM-yyyy");
+ }
+
+ public StatelessSession getStatelessSession(InputStream stream)
+ throws Exception {
+ // read in the source
+ Reader source = new InputStreamReader(stream);
+
+ PackageBuilder builder = new PackageBuilder();
+
+ builder.addPackageFromDrl(source);
+
+ Package pkg = builder.getPackage();
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage(pkg);
+
+ return ruleBase.newStatelessSession();
+ }
+
+ /**
+ * Returns true if map contains redundancy where ruleName1 is redundant to
+ * ruleName2.
+ *
+ * @param map
+ * @param ruleName1
+ * @param ruleName2
+ * @return True if redundancy exists.
+ */
+ protected static boolean mapContains(Map<String, Set<String>> map,
+ String ruleName1, String ruleName2) {
+ if (map.containsKey(ruleName1)) {
+ Set<String> set = map.get(ruleName1);
+ boolean exists = set.remove(ruleName2);
+
+ // If set is empty remove key from map.
+ if (set.isEmpty()) {
+ map.remove(ruleName1);
+ }
+ return exists;
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if map contains redundancy where cause1 is redundant to
+ * cause2.
+ *
+ * @param map
+ * @param cause1
+ * @param cause2
+ * @return True if redundancy exists.
+ */
+ protected static boolean causeMapContains(Map<Cause, Set<Cause>> map,
+ Cause cause1, Cause cause2) {
+ if (map.containsKey(cause1)) {
+ Set<Cause> set = map.get(cause1);
+ boolean exists = set.remove(cause2);
+
+ // If set is empty remove key from map.
+ if (set.isEmpty()) {
+ map.remove(cause1);
+ }
+ return exists;
+ }
+ return false;
+ }
+
+ public Collection<? extends Object> getTestData(InputStream stream,
+ AnalyticsData data) throws Exception {
+ Reader drlReader = new InputStreamReader(stream);
+ PackageDescr descr = new DrlParser().parse(drlReader);
+
+ PackageDescrFlattener ruleFlattener = new PackageDescrFlattener();
+
+ ruleFlattener.addPackageDescrToData(descr, data);
+
+ // Rules with relations
+ return data.getAll();
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/equivalence)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/equivalence/EquivalentRulesTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,58 +0,0 @@
-package org.drools.analytics.equivalence;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.redundancy.RedundancyTestBase;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class EquivalentRulesTest extends RedundancyTestBase {
-
- public void testRuleRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Rules.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find equivalent Rules"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- AnalyticsRule rule1 = new AnalyticsRule();
- rule1.setRuleName(ruleName1);
- AnalyticsRule rule2 = new AnalyticsRule();
- rule2.setRuleName(ruleName2);
-
- Redundancy r1 = new Redundancy(rule1, rule2);
-
- data.add(rule1);
- data.add(rule2);
- data.add(r1);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map, ruleName1, ruleName2));
- assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
-
- if (!map.isEmpty()) {
- fail("More equivalences than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/equivalence/EquivalentRulesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,58 @@
+package org.drools.verifier.equivalence;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.redundancy.RedundancyTestBase;
+import org.drools.verifier.report.components.Redundancy;
+
+public class EquivalentRulesTest extends RedundancyTestBase {
+
+ public void testRuleRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Rules.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find equivalent Rules"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ AnalyticsRule rule1 = new AnalyticsRule();
+ rule1.setRuleName(ruleName1);
+ AnalyticsRule rule2 = new AnalyticsRule();
+ rule2.setRuleName(ruleName2);
+
+ Redundancy r1 = new Redundancy(rule1, rule2);
+
+ data.add(rule1);
+ data.add(rule2);
+ data.add(r1);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName1, ruleName2));
+ assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
+
+ if (!map.isEmpty()) {
+ fail("More equivalences than was expected.");
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,349 +0,0 @@
-package org.drools.analytics.incoherence;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-/**
- *
- * @author Toni Rikkola
- *
- */
-public class IncoherentPatternsTest extends TestBase {
-
- public void testIncoherentPatternsInRulePossibility() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 1"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 2"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 7"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityVariables()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, variables"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 3"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 4"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 5"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 6"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesLess()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with lesser value"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 8"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 12"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesGreater()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with greater value"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 9"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 14"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesEqualOrUnequal()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal value"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 10"));
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 15"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesEqualOrUnequalVariables()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal variables"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 11"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesEqualValue()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with equal value"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 16"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentPatternsInRulePossibilityRangesEqualVariable()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
- rulesThatHadErrors.add(rule.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent patterns 13"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,349 @@
+package org.drools.verifier.incoherence;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class IncoherentPatternsTest extends TestBase {
+
+ public void testIncoherentPatternsInRulePossibility() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 1"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 2"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 7"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityVariables()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, variables"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 3"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 4"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 5"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 6"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesLess()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with lesser value"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 8"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 12"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesGreater()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with greater value"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 9"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 14"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesEqualOrUnequal()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal value"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 10"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 15"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesEqualOrUnequalVariables()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal variables"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 11"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesEqualValue()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with equal value"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 16"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentPatternsInRulePossibilityRangesEqualVariable()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+ .getFaulty();
+ rulesThatHadErrors.add(rule.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent patterns 13"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,299 +0,0 @@
-package org.drools.analytics.incoherence;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-/**
- *
- * @author Toni Rikkola
- *
- */
-public class IncoherentRestrictionsTest extends TestBase {
-
- public void testIncoherentLiteralRestrictionsInPatternPossibility()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent LiteralRestrictions in pattern possibility"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 1"));
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 2"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleRanges()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 8"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleEqualityLess()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 9"));
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 11"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleEqualityGreater()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 10"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleRange()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 7"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentVariableRestrictionsInPatternPossibility()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent VariableRestrictions in pattern possibility"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 3"));
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 4"));
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 5"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testIncoherentVariableRestrictionsInPatternPossibilityImpossibleRange()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent VariableRestrictions in pattern possibility, impossible range"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.ERROR).iterator();
-
- Set<String> rulesThatHadErrors = new HashSet<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
- rulesThatHadErrors.add(pattern.getRuleName());
- }
- }
-
- assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 6"));
-
- if (!rulesThatHadErrors.isEmpty()) {
- for (String string : rulesThatHadErrors) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,299 @@
+package org.drools.verifier.incoherence;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Severity;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class IncoherentRestrictionsTest extends TestBase {
+
+ public void testIncoherentLiteralRestrictionsInPatternPossibility()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent LiteralRestrictions in pattern possibility"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 1"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 2"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleRanges()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 8"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleEqualityLess()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 9"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 11"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleEqualityGreater()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 10"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentLiteralRestrictionsInPatternPossibilityImpossibleRange()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 7"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentVariableRestrictionsInPatternPossibility()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent VariableRestrictions in pattern possibility"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 3"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 4"));
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 5"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testIncoherentVariableRestrictionsInPatternPossibilityImpossibleRange()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent VariableRestrictions in pattern possibility, impossible range"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.ERROR).iterator();
+
+ Set<String> rulesThatHadErrors = new HashSet<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Pattern pattern = (Pattern) ((AnalyticsMessage) o).getFaulty();
+ rulesThatHadErrors.add(pattern.getRuleName());
+ }
+ }
+
+ assertTrue(rulesThatHadErrors.remove("Incoherent restrictions 6"));
+
+ if (!rulesThatHadErrors.isEmpty()) {
+ for (String string : rulesThatHadErrors) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility (from rev 18568, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incompatibility)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incompatibility/IncompatibilityBase.java 2008-02-23 17:28:12 UTC (rev 18568)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,56 +0,0 @@
-package org.drools.analytics.incompatibility;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.analytics.TestBase;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.Incompatibility;
-
-public class IncompatibilityBase extends TestBase {
-
- public void testDummy() {
- // this is needed as eclipse will try to run this and produce a failure
- // if its not here.
- assertTrue(true);
- }
-
- /**
- * Creates redundancy map from Redundancy objects, one rule may have several
- * redundancy dependencies.
- *
- * @param iter
- * @return
- */
- protected Map<Cause, Set<Cause>> createOppositesMap(CauseType type,
- Iterator<Object> iter) {
-
- Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof Incompatibility) {
- Incompatibility r = (Incompatibility) o;
-
- if (r.getLeft().getCauseType() == type) {
- Cause left = r.getLeft();
- Cause right = r.getRight();
-
- if (map.containsKey(left)) {
- Set<Cause> set = map.get(left);
- set.add(right);
- } else {
- Set<Cause> set = new HashSet<Cause>();
- set.add(right);
- map.put(left, set);
- }
- }
- }
- }
-
- return map;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incompatibility/IncompatibilityBase.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,56 @@
+package org.drools.verifier.incompatibility;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.verifier.TestBase;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Incompatibility;
+
+public class IncompatibilityBase extends TestBase {
+
+ public void testDummy() {
+ // this is needed as eclipse will try to run this and produce a failure
+ // if its not here.
+ assertTrue(true);
+ }
+
+ /**
+ * Creates redundancy map from Redundancy objects, one rule may have several
+ * redundancy dependencies.
+ *
+ * @param iter
+ * @return
+ */
+ protected Map<Cause, Set<Cause>> createOppositesMap(CauseType type,
+ Iterator<Object> iter) {
+
+ Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Incompatibility) {
+ Incompatibility r = (Incompatibility) o;
+
+ if (r.getLeft().getCauseType() == type) {
+ Cause left = r.getLeft();
+ Cause right = r.getRight();
+
+ if (map.containsKey(left)) {
+ Set<Cause> set = map.get(left);
+ set.add(right);
+ } else {
+ Set<Cause> set = new HashSet<Cause>();
+ set.add(right);
+ map.put(left, set);
+ }
+ }
+ }
+ }
+
+ return map;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incompatibility/IncompatibilityRestrictionsTest.java 2008-02-23 17:28:12 UTC (rev 18568)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,230 +0,0 @@
-package org.drools.analytics.incompatibility;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-import org.drools.base.evaluators.MatchesEvaluatorsDefinition;
-import org.drools.base.evaluators.Operator;
-
-public class IncompatibilityRestrictionsTest extends IncompatibilityBase {
-
- public void testLiteralRestrictionIncompatibility() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incompatibility LiteralRestrictions"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setFieldId(0);
- r1.setOperator(Operator.EQUAL);
- r1.setValue("1");
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setFieldId(0);
- r2.setOperator(Operator.NOT_EQUAL);
- r2.setValue("1");
-
- LiteralRestriction r3 = new LiteralRestriction();
- r3.setFieldId(0);
- r3.setOperator(Operator.EQUAL);
- r3.setValue("1.0");
-
- LiteralRestriction r4 = new LiteralRestriction();
- r4.setFieldId(0);
- r4.setOperator(Operator.NOT_EQUAL);
- r4.setValue("1.0");
-
- LiteralRestriction r5 = new LiteralRestriction();
- r5.setFieldId(0);
- r5.setOperator(MatchesEvaluatorsDefinition.MATCHES);
- r5.setValue("foo");
-
- LiteralRestriction r6 = new LiteralRestriction();
- r6.setFieldId(0);
- r6.setOperator(MatchesEvaluatorsDefinition.NOT_MATCHES);
- r6.setValue("foo");
-
- data.add(r1);
- data.add(r2);
- data.add(r3);
- data.add(r4);
- data.add(r5);
- data.add(r6);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createOppositesMap(CauseType.RESTRICTION,
- sessionResult.iterateObjects());
-
- assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
- .causeMapContains(map, r2, r1)));
- assertTrue((TestBase.causeMapContains(map, r3, r4) ^ TestBase
- .causeMapContains(map, r4, r3)));
- assertTrue((TestBase.causeMapContains(map, r5, r6) ^ TestBase
- .causeMapContains(map, r6, r5)));
-
- if (!map.isEmpty()) {
- fail("More incompatibilities than was expected.");
- }
- }
-
- public void testLiteralRestrictionIncompatibilityWithRangesGreaterOrEqualAndLess()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incompatibility LiteralRestrictions with ranges, greater or equal - less"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setFieldId(0);
- r1.setOperator(Operator.GREATER_OR_EQUAL);
- r1.setValue("1");
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setFieldId(0);
- r2.setOperator(Operator.LESS);
- r2.setValue("1");
-
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createOppositesMap(CauseType.RESTRICTION,
- sessionResult.iterateObjects());
-
- assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
- .causeMapContains(map, r2, r1)));
-
- if (!map.isEmpty()) {
- fail("More incompatibilities than was expected.");
- }
- }
-
- public void testLiteralRestrictionIncompatibilityWithRangesGreaterAndLessOrEqual()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incompatibility LiteralRestrictions with ranges, greater - less or equal"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setFieldId(0);
- r1.setOperator(Operator.GREATER);
- r1.setValue("1");
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setFieldId(0);
- r2.setOperator(Operator.LESS_OR_EQUAL);
- r2.setValue("1");
-
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createOppositesMap(CauseType.RESTRICTION,
- sessionResult.iterateObjects());
-
- assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
- .causeMapContains(map, r2, r1)));
-
- if (!map.isEmpty()) {
- fail("More incompatibilities than was expected.");
- }
- }
-
- public void testLiteralRestrictionIncompatibilityWithRangesLessAndGreaterForIntsAndDates()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incompatibility LiteralRestrictions with ranges, less - greater for ints and dates"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setFieldId(0);
- r1.setOperator(Operator.GREATER);
- r1.setValue("0");
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setFieldId(0);
- r2.setOperator(Operator.LESS);
- r2.setValue("1");
-
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createOppositesMap(CauseType.RESTRICTION,
- sessionResult.iterateObjects());
-
- assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
- .causeMapContains(map, r2, r1)));
-
- if (!map.isEmpty()) {
- fail("More incompatibility than was expected.");
- }
- }
-
- public void testLiteralRestrictionIncompatibilityWithRangesLessOrEqualAndGreaterOrEqualForIntsAndDates()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incompatibility LiteralRestrictions with ranges, less or equal - greater or equal for ints and dates"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setFieldId(0);
- r1.setOperator(Operator.GREATER_OR_EQUAL);
- r1.setValue("1");
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setFieldId(0);
- r2.setOperator(Operator.LESS_OR_EQUAL);
- r2.setValue("0");
-
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createOppositesMap(CauseType.RESTRICTION,
- sessionResult.iterateObjects());
-
- assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
- .causeMapContains(map, r2, r1)));
-
- if (!map.isEmpty()) {
- fail("More incompatibilities than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incompatibility/IncompatibilityRestrictionsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,6 @@
+package org.drools.verifier.incompatibility;
+
+
+public class IncompatibilityRestrictionsTest extends IncompatibilityBase {
+
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,102 +0,0 @@
-package org.drools.analytics.missingEquality;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class MissingEqualityTest extends TestBase {
-
- public void testMissingEqualityInLiteralRestrictions() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("MissingEquality.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Missing restriction in LiteralRestrictions"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingEqualityTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Collection<String> ruleNames = new ArrayList<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Cause cause = ((AnalyticsMessage) o).getFaulty();
- String name = ((LiteralRestriction) cause).getRuleName();
-
- ruleNames.add(name);
- }
- }
-
- assertTrue(ruleNames.remove("Missing equality 1"));
- assertTrue(ruleNames.remove("Missing equality 2"));
-
- if (!ruleNames.isEmpty()) {
- for (String string : ruleNames) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testMissingEqualityInVariableRestrictions() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("MissingEquality.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Missing restriction in VariableRestrictions"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingEqualityTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.WARNING).iterator();
-
- Collection<String> ruleNames = new ArrayList<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Cause cause = ((AnalyticsMessage) o).getFaulty();
- String name = ((VariableRestriction) cause).getRuleName();
-
- ruleNames.add(name);
- }
- }
-
- assertTrue(ruleNames.remove("Missing equality 3"));
- assertTrue(ruleNames.remove("Missing equality 4"));
- assertTrue(ruleNames.remove("Missing equality 5"));
- assertTrue(ruleNames.remove("Missing equality 6"));
-
- if (!ruleNames.isEmpty()) {
- for (String string : ruleNames) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,102 @@
+package org.drools.verifier.missingEquality;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.Severity;
+
+public class MissingEqualityTest extends TestBase {
+
+ public void testMissingEqualityInLiteralRestrictions() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("MissingEquality.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Missing restriction in LiteralRestrictions"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingEqualityTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Cause cause = ((AnalyticsMessage) o).getFaulty();
+ String name = ((LiteralRestriction) cause).getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove("Missing equality 1"));
+ assertTrue(ruleNames.remove("Missing equality 2"));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testMissingEqualityInVariableRestrictions() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("MissingEquality.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Missing restriction in VariableRestrictions"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("MissingEqualityTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.WARNING).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Cause cause = ((AnalyticsMessage) o).getFaulty();
+ String name = ((VariableRestriction) cause).getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove("Missing equality 3"));
+ assertTrue(ruleNames.remove("Missing equality 4"));
+ assertTrue(ruleNames.remove("Missing equality 5"));
+ assertTrue(ruleNames.remove("Missing equality 6"));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,57 +0,0 @@
-package org.drools.analytics.optimisation;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class PatternOrderTest extends TestBase {
-
- public void testEvalOrderInsideOperator() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("PatternOrder.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Optimise evals inside pattern"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationPatternOrderTest.drl"),
- result.getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.NOTE).iterator();
-
- Collection<String> ruleNames = new ArrayList<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- String name = ((AnalyticsMessage) o).getCauses().toArray(
- new AnalyticsComponent[2])[0].getRuleName();
-
- ruleNames.add(name);
- }
- }
-
- assertTrue(ruleNames.remove("Wrong eval order 1"));
-
- if (!ruleNames.isEmpty()) {
- for (String string : ruleNames) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,57 @@
+package org.drools.verifier.optimisation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Severity;
+
+public class PatternOrderTest extends TestBase {
+
+ public void testEvalOrderInsideOperator() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("PatternOrder.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Optimise evals inside pattern"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("OptimisationPatternOrderTest.drl"),
+ result.getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.NOTE).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ String name = ((AnalyticsMessage) o).getCauses().toArray(
+ new AnalyticsComponent[2])[0].getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove("Wrong eval order 1"));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,204 +0,0 @@
-package org.drools.analytics.optimisation;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.OperatorDescr;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.Restriction;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-import org.drools.base.evaluators.Operator;
-
-public class RestrictionOrderTest extends TestBase {
-
- public void testRestrictionOrderInsideOperator() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("RestrictionOrder.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Optimise restrictions inside operator"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
- result.getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.NOTE).iterator();
-
- Collection<String> ruleNames = new ArrayList<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- String name = ((AnalyticsMessage) o).getCauses().toArray(
- new Restriction[2])[0].getRuleName();
-
- ruleNames.add(name);
- }
- }
-
- assertTrue(ruleNames.remove("Wrong descr order 1"));
-
- if (!ruleNames.isEmpty()) {
- for (String string : ruleNames) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-
- public void testRestrictionOrderInsideConstraint() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("RestrictionOrder.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Optimise restrictions inside constraint"));
-
- Collection<Object> testData = new ArrayList<Object>();
-
- /*
- * Case 1
- */
- Pattern pattern1 = new Pattern();
- testData.add(pattern1);
-
- OperatorDescr parent1 = new OperatorDescr(OperatorDescr.Type.AND);
-
- LiteralRestriction r1 = new LiteralRestriction();
- r1.setPatternId(pattern1.getId());
- r1.setParent(parent1);
- r1.setOperator(Operator.GREATER);
- r1.setOrderNumber(1);
- testData.add(r1);
-
- LiteralRestriction r2 = new LiteralRestriction();
- r2.setPatternId(pattern1.getId());
- r2.setParent(parent1);
- r2.setOperator(Operator.EQUAL);
- r2.setOrderNumber(2);
- testData.add(r2);
-
- LiteralRestriction r3 = new LiteralRestriction();
- r3.setPatternId(pattern1.getId());
- r3.setParent(parent1);
- r3.setOperator(Operator.LESS);
- r3.setOrderNumber(3);
- testData.add(r3);
-
- /*
- * Case 2
- */
- Pattern pattern2 = new Pattern();
- testData.add(pattern2);
-
- OperatorDescr parent2 = new OperatorDescr(OperatorDescr.Type.OR);
-
- LiteralRestriction r4 = new LiteralRestriction();
- r4.setPatternId(pattern2.getId());
- r4.setParent(parent2);
- r4.setOperator(Operator.NOT_EQUAL);
- r4.setOrderNumber(1);
- testData.add(r4);
-
- LiteralRestriction r5 = new LiteralRestriction();
- r5.setPatternId(pattern2.getId());
- r5.setParent(parent2);
- r5.setOperator(Operator.LESS_OR_EQUAL);
- r5.setOrderNumber(2);
- testData.add(r5);
-
- LiteralRestriction r6 = new LiteralRestriction();
- r6.setPatternId(pattern2.getId());
- r6.setParent(parent2);
- r6.setOperator(Operator.NOT_EQUAL);
- r6.setOrderNumber(3);
- testData.add(r6);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.NOTE).iterator();
-
- Map<Cause, Cause> pairs = new HashMap<Cause, Cause>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- Cause left = ((AnalyticsMessage) o).getCauses().toArray(
- new Cause[2])[0];
- Cause right = ((AnalyticsMessage) o).getCauses().toArray(
- new Cause[2])[1];
-
- pairs.put(left, right);
- }
- }
-
- // Check that case 1 is here.
- assertTrue((pairs.containsKey(r1) && pairs.get(r1).equals(r2))
- || pairs.containsKey(r2) && pairs.get(r2).equals(r1));
-
- // Check that case 2 is here.
- assertTrue((pairs.containsKey(r4) && pairs.get(r4).equals(r5))
- || pairs.containsKey(r5) && pairs.get(r5).equals(r4));
-
- // Check that there is only one pair.
- assertEquals(2, pairs.size());
- }
-
- public void testPredicateOrderInsideOperator() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("RestrictionOrder.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Optimise predicates inside operator"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
- result.getAnalyticsData());
-
- session.setGlobal("result", result);
-
- session.executeWithResults(testData);
-
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- Severity.NOTE).iterator();
-
- Collection<String> ruleNames = new ArrayList<String>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof AnalyticsMessage) {
- String name = ((AnalyticsMessage) o).getCauses().toArray(
- new AnalyticsComponent[2])[0].getRuleName();
-
- ruleNames.add(name);
- }
- }
-
- assertTrue(ruleNames.remove("Wrong eval order 1"));
-
- if (!ruleNames.isEmpty()) {
- for (String string : ruleNames) {
- fail("Rule " + string + " caused an error.");
- }
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,204 @@
+package org.drools.verifier.optimisation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.OperatorDescr;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.Severity;
+
+public class RestrictionOrderTest extends TestBase {
+
+ public void testRestrictionOrderInsideOperator() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("RestrictionOrder.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Optimise restrictions inside operator"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
+ result.getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.NOTE).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ String name = ((AnalyticsMessage) o).getCauses().toArray(
+ new Restriction[2])[0].getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove("Wrong descr order 1"));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+
+ public void testRestrictionOrderInsideConstraint() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("RestrictionOrder.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Optimise restrictions inside constraint"));
+
+ Collection<Object> testData = new ArrayList<Object>();
+
+ /*
+ * Case 1
+ */
+ Pattern pattern1 = new Pattern();
+ testData.add(pattern1);
+
+ OperatorDescr parent1 = new OperatorDescr(OperatorDescr.Type.AND);
+
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setPatternId(pattern1.getId());
+ r1.setParent(parent1);
+ r1.setOperator(Operator.GREATER);
+ r1.setOrderNumber(1);
+ testData.add(r1);
+
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setPatternId(pattern1.getId());
+ r2.setParent(parent1);
+ r2.setOperator(Operator.EQUAL);
+ r2.setOrderNumber(2);
+ testData.add(r2);
+
+ LiteralRestriction r3 = new LiteralRestriction();
+ r3.setPatternId(pattern1.getId());
+ r3.setParent(parent1);
+ r3.setOperator(Operator.LESS);
+ r3.setOrderNumber(3);
+ testData.add(r3);
+
+ /*
+ * Case 2
+ */
+ Pattern pattern2 = new Pattern();
+ testData.add(pattern2);
+
+ OperatorDescr parent2 = new OperatorDescr(OperatorDescr.Type.OR);
+
+ LiteralRestriction r4 = new LiteralRestriction();
+ r4.setPatternId(pattern2.getId());
+ r4.setParent(parent2);
+ r4.setOperator(Operator.NOT_EQUAL);
+ r4.setOrderNumber(1);
+ testData.add(r4);
+
+ LiteralRestriction r5 = new LiteralRestriction();
+ r5.setPatternId(pattern2.getId());
+ r5.setParent(parent2);
+ r5.setOperator(Operator.LESS_OR_EQUAL);
+ r5.setOrderNumber(2);
+ testData.add(r5);
+
+ LiteralRestriction r6 = new LiteralRestriction();
+ r6.setPatternId(pattern2.getId());
+ r6.setParent(parent2);
+ r6.setOperator(Operator.NOT_EQUAL);
+ r6.setOrderNumber(3);
+ testData.add(r6);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.NOTE).iterator();
+
+ Map<Cause, Cause> pairs = new HashMap<Cause, Cause>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ Cause left = ((AnalyticsMessage) o).getCauses().toArray(
+ new Cause[2])[0];
+ Cause right = ((AnalyticsMessage) o).getCauses().toArray(
+ new Cause[2])[1];
+
+ pairs.put(left, right);
+ }
+ }
+
+ // Check that case 1 is here.
+ assertTrue((pairs.containsKey(r1) && pairs.get(r1).equals(r2))
+ || pairs.containsKey(r2) && pairs.get(r2).equals(r1));
+
+ // Check that case 2 is here.
+ assertTrue((pairs.containsKey(r4) && pairs.get(r4).equals(r5))
+ || pairs.containsKey(r5) && pairs.get(r5).equals(r4));
+
+ // Check that there is only one pair.
+ assertEquals(2, pairs.size());
+ }
+
+ public void testPredicateOrderInsideOperator() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("RestrictionOrder.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Optimise predicates inside operator"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> testData = getTestData(this.getClass()
+ .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
+ result.getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(testData);
+
+ Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Severity.NOTE).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof AnalyticsMessage) {
+ String name = ((AnalyticsMessage) o).getCauses().toArray(
+ new AnalyticsComponent[2])[0].getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove("Wrong eval order 1"));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,102 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class NotesTest extends TestBase {
-
- public void testRedundantRestrictionsInPatternPossibilities()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Notes.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant restrictions from pattern possibilities"));
-
- Collection<Object> objects = new ArrayList<Object>();
- LiteralRestriction left = new LiteralRestriction();
-
- LiteralRestriction right = new LiteralRestriction();
-
- Redundancy redundancy = new Redundancy(
- RedundancyType.STRONG, left, right);
-
- PatternPossibility possibility = new PatternPossibility();
- possibility.add(left);
- possibility.add(right);
-
- objects.add(left);
- objects.add(right);
- objects.add(redundancy);
- objects.add(possibility);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- session.executeWithResults(objects);
-
- Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(Severity.NOTE);
-
- // Has at least one item.
- assertEquals(1, notes.size());
-
- AnalyticsMessageBase note = notes.iterator().next();
- assertTrue(note.getFaulty().equals(redundancy));
- }
-
- public void testRedundantPatternPossibilitiesInRulePossibilities()
- throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Notes.drl"));
-
- session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant pattern possibilities from rule possibilities"));
-
- Collection<Object> objects = new ArrayList<Object>();
- PatternPossibility left = new PatternPossibility();
-
- PatternPossibility right = new PatternPossibility();
-
- Redundancy redundancy = new Redundancy(
- RedundancyType.STRONG, left, right);
-
- RulePossibility possibility = new RulePossibility();
- possibility.add(left);
- possibility.add(right);
-
- objects.add(left);
- objects.add(right);
- objects.add(redundancy);
- objects.add(possibility);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- session.executeWithResults(objects);
-
- Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(Severity.NOTE);
-
- // Has at least one item.
- assertEquals(1, notes.size());
-
- AnalyticsMessageBase note = notes.iterator().next();
- assertTrue(note.getFaulty().equals(redundancy));
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/NotesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,102 @@
+package org.drools.verifier.redundancy;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+import org.drools.verifier.report.components.Severity;
+
+public class NotesTest extends TestBase {
+
+ public void testRedundantRestrictionsInPatternPossibilities()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Notes.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant restrictions from pattern possibilities"));
+
+ Collection<Object> objects = new ArrayList<Object>();
+ LiteralRestriction left = new LiteralRestriction();
+
+ LiteralRestriction right = new LiteralRestriction();
+
+ Redundancy redundancy = new Redundancy(
+ RedundancyType.STRONG, left, right);
+
+ PatternPossibility possibility = new PatternPossibility();
+ possibility.add(left);
+ possibility.add(right);
+
+ objects.add(left);
+ objects.add(right);
+ objects.add(redundancy);
+ objects.add(possibility);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(objects);
+
+ Collection<AnalyticsMessageBase> notes = result
+ .getBySeverity(Severity.NOTE);
+
+ // Has at least one item.
+ assertEquals(1, notes.size());
+
+ AnalyticsMessageBase note = notes.iterator().next();
+ assertTrue(note.getFaulty().equals(redundancy));
+ }
+
+ public void testRedundantPatternPossibilitiesInRulePossibilities()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Notes.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant pattern possibilities from rule possibilities"));
+
+ Collection<Object> objects = new ArrayList<Object>();
+ PatternPossibility left = new PatternPossibility();
+
+ PatternPossibility right = new PatternPossibility();
+
+ Redundancy redundancy = new Redundancy(
+ RedundancyType.STRONG, left, right);
+
+ RulePossibility possibility = new RulePossibility();
+ possibility.add(left);
+ possibility.add(right);
+
+ objects.add(left);
+ objects.add(right);
+ objects.add(redundancy);
+ objects.add(possibility);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(objects);
+
+ Collection<AnalyticsMessageBase> notes = result
+ .getBySeverity(Severity.NOTE);
+
+ // Has at least one item.
+ assertEquals(1, notes.size());
+
+ AnalyticsMessageBase note = notes.iterator().next();
+ assertTrue(note.getFaulty().equals(redundancy));
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTestBase.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,115 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.Redundancy;
-
-/**
- *
- * @author Toni Rikkola
- *
- */
-public class RedundancyTestBase extends TestBase {
-
- /**
- * Creates redundancy map from Redundancy objects, one rule may have several
- * redundancy dependencies.
- *
- * @param iter
- * @return
- */
- protected Map<String, Set<String>> createRedundancyMap(Iterator<Object> iter) {
-
- Map<String, Set<String>> map = new HashMap<String, Set<String>>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof Redundancy) {
- Redundancy r = (Redundancy) o;
- AnalyticsComponent left = (AnalyticsComponent) r.getLeft();
- AnalyticsComponent right = (AnalyticsComponent) r.getRight();
-
- if (map.containsKey(left.getRuleName())) {
- Set<String> set = map.get(left.getRuleName());
- set.add(right.getRuleName());
- } else {
- Set<String> set = new HashSet<String>();
- set.add(right.getRuleName());
- map.put(left.getRuleName(), set);
- }
- }
- }
-
- return map;
- }
-
- /**
- * Creates redundancy map from Redundancy objects, one rule may have several
- * redundancy dependencies.
- *
- * @param iter
- * @return
- */
- protected Map<Cause, Set<Cause>> createRedundancyCauseMap(
- CauseType type, Iterator<Object> iter) {
-
- Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof Redundancy) {
- Redundancy r = (Redundancy) o;
-
- if (r.getLeft().getCauseType() == type) {
- Cause left = r.getLeft();
- Cause right = r.getRight();
-
- if (map.containsKey(left)) {
- Set<Cause> set = map.get(left);
- set.add(right);
- } else {
- Set<Cause> set = new HashSet<Cause>();
- set.add(right);
- map.put(left, set);
- }
- }
- }
- }
-
- return map;
- }
-
- public void testDummy() {
- // this is needed as eclipse will try to run this and produce a failure
- // if its not here.
- }
-
- /**
- * Returns true if map contains redundancy where key is redundant to value.
- *
- * @param map
- * @param key
- * @param value
- * @return True if redundancy exists.
- */
- protected static boolean mapContains(Map<String, Set<Redundancy>> map,
- String key, Object value) {
- if (map.containsKey(key)) {
- Set<Redundancy> set = map.get(key);
- boolean exists = set.remove(value);
-
- // If set is empty remove key from map.
- if (set.isEmpty()) {
- map.remove(key);
- }
- return exists;
- }
- return false;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTestBase.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,115 @@
+package org.drools.verifier.redundancy;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Redundancy;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class RedundancyTestBase extends TestBase {
+
+ /**
+ * Creates redundancy map from Redundancy objects, one rule may have several
+ * redundancy dependencies.
+ *
+ * @param iter
+ * @return
+ */
+ protected Map<String, Set<String>> createRedundancyMap(Iterator<Object> iter) {
+
+ Map<String, Set<String>> map = new HashMap<String, Set<String>>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Redundancy) {
+ Redundancy r = (Redundancy) o;
+ AnalyticsComponent left = (AnalyticsComponent) r.getLeft();
+ AnalyticsComponent right = (AnalyticsComponent) r.getRight();
+
+ if (map.containsKey(left.getRuleName())) {
+ Set<String> set = map.get(left.getRuleName());
+ set.add(right.getRuleName());
+ } else {
+ Set<String> set = new HashSet<String>();
+ set.add(right.getRuleName());
+ map.put(left.getRuleName(), set);
+ }
+ }
+ }
+
+ return map;
+ }
+
+ /**
+ * Creates redundancy map from Redundancy objects, one rule may have several
+ * redundancy dependencies.
+ *
+ * @param iter
+ * @return
+ */
+ protected Map<Cause, Set<Cause>> createRedundancyCauseMap(
+ CauseType type, Iterator<Object> iter) {
+
+ Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Redundancy) {
+ Redundancy r = (Redundancy) o;
+
+ if (r.getLeft().getCauseType() == type) {
+ Cause left = r.getLeft();
+ Cause right = r.getRight();
+
+ if (map.containsKey(left)) {
+ Set<Cause> set = map.get(left);
+ set.add(right);
+ } else {
+ Set<Cause> set = new HashSet<Cause>();
+ set.add(right);
+ map.put(left, set);
+ }
+ }
+ }
+ }
+
+ return map;
+ }
+
+ public void testDummy() {
+ // this is needed as eclipse will try to run this and produce a failure
+ // if its not here.
+ }
+
+ /**
+ * Returns true if map contains redundancy where key is redundant to value.
+ *
+ * @param map
+ * @param key
+ * @param value
+ * @return True if redundancy exists.
+ */
+ protected static boolean mapContains(Map<String, Set<Redundancy>> map,
+ String key, Object value) {
+ if (map.containsKey(key)) {
+ Set<Redundancy> set = map.get(key);
+ boolean exists = set.remove(value);
+
+ // If set is empty remove key from map.
+ if (set.isEmpty()) {
+ map.remove(key);
+ }
+ return exists;
+ }
+ return false;
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,55 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class RedundantConsequencesTest extends RedundancyTestBase {
-
- public void testRedundantTextConsequences() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Consequence.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant TextConsequences"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("ConsequenceRedundancyTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 1a",
- "Redundant consiquence 1b"));
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 1b",
- "Redundant consiquence 1a"));
-
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 2a",
- "Redundant consiquence 2b"));
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 2b",
- "Redundant consiquence 2a"));
-
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 3a",
- "Redundant consiquence 3b"));
- assertTrue(TestBase.mapContains(map, "Redundant consiquence 3b",
- "Redundant consiquence 3a"));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,55 @@
+package org.drools.verifier.redundancy;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+
+public class RedundantConsequencesTest extends RedundancyTestBase {
+
+ public void testRedundantTextConsequences() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Consequence.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant TextConsequences"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("ConsequenceRedundancyTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 1a",
+ "Redundant consiquence 1b"));
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 1b",
+ "Redundant consiquence 1a"));
+
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 2a",
+ "Redundant consiquence 2b"));
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 2b",
+ "Redundant consiquence 2a"));
+
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 3a",
+ "Redundant consiquence 3b"));
+ assertTrue(TestBase.mapContains(map, "Redundant consiquence 3b",
+ "Redundant consiquence 3a"));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,197 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.CauseType;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class RedundantPossibilitiesTest extends RedundancyTestBase {
-
- public void testPatternPossibilityRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find pattern possibility redundancy"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- Pattern p1 = new Pattern();
- p1.setRuleName(ruleName1);
- Pattern p2 = new Pattern();
- p2.setRuleName(ruleName2);
-
- LiteralRestriction lr1 = new LiteralRestriction();
- lr1.setRuleName(ruleName1);
- LiteralRestriction lr2 = new LiteralRestriction();
- lr2.setRuleName(ruleName2);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setPatternId(p1.getId());
- pp1.setRuleName(ruleName1);
- pp1.add(lr1);
-
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setPatternId(p2.getId());
- pp2.setRuleName(ruleName2);
- pp2.add(lr2);
-
- Redundancy r1 = new Redundancy(lr1, lr2);
- Redundancy r2 = new Redundancy(p1, p2);
-
- data.add(p1);
- data.add(p2);
- data.add(lr1);
- data.add(lr2);
- data.add(pp1);
- data.add(pp2);
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map, ruleName1, ruleName2));
- assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testRulePossibilityRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find rule possibility redundancy"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * First rules. These are redundant,
- */
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- AnalyticsRule r1 = new AnalyticsRule();
- r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
- r2.setRuleName(ruleName2);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setRuleName(ruleName1);
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setRuleName(ruleName2);
-
- RulePossibility rp1 = new RulePossibility();
- rp1.setRuleId(r1.getId());
- rp1.setRuleName(ruleName1);
- rp1.add(pp1);
-
- RulePossibility rp2 = new RulePossibility();
- rp2.setRuleId(r2.getId());
- rp2.setRuleName(ruleName2);
- rp2.add(pp2);
-
- Redundancy possibilityredundancy = new Redundancy(
- RedundancyType.STRONG, pp1, pp2);
- Redundancy ruleRedundancy = new Redundancy(r1, r2);
-
- data.add(r1);
- data.add(r2);
- data.add(pp1);
- data.add(pp2);
- data.add(possibilityredundancy);
- data.add(ruleRedundancy);
- data.add(rp1);
- data.add(rp2);
-
- /*
- * These two rules are not redundant
- */
- String ruleName3 = "Rule 3";
- String ruleName4 = "Rule 4";
-
- AnalyticsRule r3 = new AnalyticsRule();
- r3.setRuleName(ruleName3);
- AnalyticsRule r4 = new AnalyticsRule();
- r4.setRuleName(ruleName4);
-
- PatternPossibility pp3 = new PatternPossibility();
- pp3.setRuleId(r3.getId());
- pp3.setRuleName(ruleName3);
- PatternPossibility pp4 = new PatternPossibility();
- pp4.setRuleId(r4.getId());
- pp4.setRuleName(ruleName4);
- // This possibility makes them different
- PatternPossibility pp5 = new PatternPossibility();
- pp5.setRuleId(r4.getId());
- pp5.setRuleName(ruleName4);
-
- RulePossibility rp3 = new RulePossibility();
- rp3.setRuleId(r3.getId());
- rp3.setRuleName(ruleName3);
- rp3.add(pp3);
-
- RulePossibility rp4 = new RulePossibility();
- rp4.setRuleId(r4.getId());
- rp4.setRuleName(ruleName4);
- rp4.add(pp4);
- rp4.add(pp5);
-
- Redundancy possibilityredundancy2 = new Redundancy(
- RedundancyType.STRONG, pp3, pp4);
- Redundancy ruleRedundancy2 = new Redundancy(r3, r4);
-
- data.add(r3);
- data.add(r4);
- data.add(pp3);
- data.add(pp4);
- data.add(pp5);
- data.add(possibilityredundancy2);
- data.add(ruleRedundancy2);
- data.add(rp3);
- data.add(rp4);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createRedundancyCauseMap(
- CauseType.RULE_POSSIBILITY, sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, rp1, rp2));
- assertFalse(TestBase.causeMapContains(map, rp3, rp4));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,197 @@
+package org.drools.verifier.redundancy;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+
+public class RedundantPossibilitiesTest extends RedundancyTestBase {
+
+ public void testPatternPossibilityRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find pattern possibility redundancy"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ Pattern p1 = new Pattern();
+ p1.setRuleName(ruleName1);
+ Pattern p2 = new Pattern();
+ p2.setRuleName(ruleName2);
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setRuleName(ruleName1);
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setRuleName(ruleName2);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setPatternId(p1.getId());
+ pp1.setRuleName(ruleName1);
+ pp1.add(lr1);
+
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setPatternId(p2.getId());
+ pp2.setRuleName(ruleName2);
+ pp2.add(lr2);
+
+ Redundancy r1 = new Redundancy(lr1, lr2);
+ Redundancy r2 = new Redundancy(p1, p2);
+
+ data.add(p1);
+ data.add(p2);
+ data.add(lr1);
+ data.add(lr2);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(r1);
+ data.add(r2);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName1, ruleName2));
+ assertTrue(TestBase.mapContains(map, ruleName2, ruleName1));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testRulePossibilityRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find rule possibility redundancy"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * First rules. These are redundant,
+ */
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ AnalyticsRule r1 = new AnalyticsRule();
+ r1.setRuleName(ruleName1);
+ AnalyticsRule r2 = new AnalyticsRule();
+ r2.setRuleName(ruleName2);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setRuleName(ruleName1);
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setRuleName(ruleName2);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleId(r1.getId());
+ rp1.setRuleName(ruleName1);
+ rp1.add(pp1);
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleId(r2.getId());
+ rp2.setRuleName(ruleName2);
+ rp2.add(pp2);
+
+ Redundancy possibilityredundancy = new Redundancy(
+ RedundancyType.STRONG, pp1, pp2);
+ Redundancy ruleRedundancy = new Redundancy(r1, r2);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(possibilityredundancy);
+ data.add(ruleRedundancy);
+ data.add(rp1);
+ data.add(rp2);
+
+ /*
+ * These two rules are not redundant
+ */
+ String ruleName3 = "Rule 3";
+ String ruleName4 = "Rule 4";
+
+ AnalyticsRule r3 = new AnalyticsRule();
+ r3.setRuleName(ruleName3);
+ AnalyticsRule r4 = new AnalyticsRule();
+ r4.setRuleName(ruleName4);
+
+ PatternPossibility pp3 = new PatternPossibility();
+ pp3.setRuleId(r3.getId());
+ pp3.setRuleName(ruleName3);
+ PatternPossibility pp4 = new PatternPossibility();
+ pp4.setRuleId(r4.getId());
+ pp4.setRuleName(ruleName4);
+ // This possibility makes them different
+ PatternPossibility pp5 = new PatternPossibility();
+ pp5.setRuleId(r4.getId());
+ pp5.setRuleName(ruleName4);
+
+ RulePossibility rp3 = new RulePossibility();
+ rp3.setRuleId(r3.getId());
+ rp3.setRuleName(ruleName3);
+ rp3.add(pp3);
+
+ RulePossibility rp4 = new RulePossibility();
+ rp4.setRuleId(r4.getId());
+ rp4.setRuleName(ruleName4);
+ rp4.add(pp4);
+ rp4.add(pp5);
+
+ Redundancy possibilityredundancy2 = new Redundancy(
+ RedundancyType.STRONG, pp3, pp4);
+ Redundancy ruleRedundancy2 = new Redundancy(r3, r4);
+
+ data.add(r3);
+ data.add(r4);
+ data.add(pp3);
+ data.add(pp4);
+ data.add(pp5);
+ data.add(possibilityredundancy2);
+ data.add(ruleRedundancy2);
+ data.add(rp3);
+ data.add(rp4);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createRedundancyCauseMap(
+ CauseType.RULE_POSSIBILITY, sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, rp1, rp2));
+ assertFalse(TestBase.causeMapContains(map, rp3, rp4));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,80 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class RedundantRestrictionsTest extends RedundancyTestBase {
-
- public void testAnalyticsLiteralRestrictionRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant LiteralRestriction"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("RedundancyLiteralRestrictionTest.drl"),
- result.getAnalyticsData());
-
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue((TestBase.mapContains(map, "Redundant 1a", "Redundant 1b") ^ TestBase
- .mapContains(map, "Redundant 1b", "Redundant 1a")));
- assertTrue((TestBase.mapContains(map, "Redundant 2a", "Redundant 2b") ^ TestBase
- .mapContains(map, "Redundant 2b", "Redundant 2a")));
- assertTrue((TestBase.mapContains(map, "Redundant 3a", "Redundant 3b") ^ TestBase
- .mapContains(map, "Redundant 3b", "Redundant 3a")));
- assertTrue((TestBase.mapContains(map, "Redundant 4a", "Redundant 4b") ^ TestBase
- .mapContains(map, "Redundant 4b", "Redundant 4a")));
- assertTrue((TestBase.mapContains(map, "Redundant 5a", "Redundant 5b") ^ TestBase
- .mapContains(map, "Redundant 5b", "Redundant 5a")));
- assertTrue((TestBase.mapContains(map, "Redundant 6a", "Redundant 6b") ^ TestBase
- .mapContains(map, "Redundant 6b", "Redundant 6a")));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testAnalyticsVariableRestrictionRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant VariableRestriction"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("SubsumptionVariableRestrictionTest.drl"),
- result.getAnalyticsData());
-
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map, "Redundant 1a", "Redundant 1b")
- ^ TestBase.mapContains(map, "Redundant 1b", "Redundant 1a"));
- assertTrue(TestBase.mapContains(map, "Redundant 2a", "Redundant 2a"));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,80 @@
+package org.drools.verifier.redundancy;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+
+public class RedundantRestrictionsTest extends RedundancyTestBase {
+
+ public void testAnalyticsLiteralRestrictionRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant LiteralRestriction"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("RedundancyLiteralRestrictionTest.drl"),
+ result.getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue((TestBase.mapContains(map, "Redundant 1a", "Redundant 1b") ^ TestBase
+ .mapContains(map, "Redundant 1b", "Redundant 1a")));
+ assertTrue((TestBase.mapContains(map, "Redundant 2a", "Redundant 2b") ^ TestBase
+ .mapContains(map, "Redundant 2b", "Redundant 2a")));
+ assertTrue((TestBase.mapContains(map, "Redundant 3a", "Redundant 3b") ^ TestBase
+ .mapContains(map, "Redundant 3b", "Redundant 3a")));
+ assertTrue((TestBase.mapContains(map, "Redundant 4a", "Redundant 4b") ^ TestBase
+ .mapContains(map, "Redundant 4b", "Redundant 4a")));
+ assertTrue((TestBase.mapContains(map, "Redundant 5a", "Redundant 5b") ^ TestBase
+ .mapContains(map, "Redundant 5b", "Redundant 5a")));
+ assertTrue((TestBase.mapContains(map, "Redundant 6a", "Redundant 6b") ^ TestBase
+ .mapContains(map, "Redundant 6b", "Redundant 6a")));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testAnalyticsVariableRestrictionRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant VariableRestriction"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("SubsumptionVariableRestrictionTest.drl"),
+ result.getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, "Redundant 1a", "Redundant 1b")
+ ^ TestBase.mapContains(map, "Redundant 1b", "Redundant 1a"));
+ assertTrue(TestBase.mapContains(map, "Redundant 2a", "Redundant 2a"));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,166 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.TextConsequence;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class RedundantRulesAndPatternsTest extends RedundancyTestBase {
-
- public void testRuleRedundancy() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Rules.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant Rules, strong redundancy"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- AnalyticsRule rule1 = new AnalyticsRule();
- rule1.setRuleName(ruleName1);
- AnalyticsRule rule2 = new AnalyticsRule();
- rule2.setRuleName(ruleName2);
-
- TextConsequence c1 = new TextConsequence();
- c1.setRuleName(ruleName1);
- TextConsequence c2 = new TextConsequence();
- c2.setRuleName(ruleName2);
-
- Redundancy r1 = new Redundancy(rule1, rule2);
- Redundancy r2 = new Redundancy(c1, c2);
-
- data.add(rule1);
- data.add(rule2);
- data.add(c1);
- data.add(c2);
- data.add(r1);
- data.add(r2);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map, ruleName1, ruleName2)
- ^ TestBase.mapContains(map, ruleName2, ruleName1));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testPatternRedundancyWithRestrictions() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant Patterns with restrictions"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("PatternRedundancyTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy with restrictions 1a",
- "Pattern redundancy with restrictions 1b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy with restrictions 1b",
- "Pattern redundancy with restrictions 1a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy with restrictions 2a",
- "Pattern redundancy with restrictions 2b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy with restrictions 2b",
- "Pattern redundancy with restrictions 2a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy with restrictions 3a",
- "Pattern redundancy with restrictions 3b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy with restrictions 3b",
- "Pattern redundancy with restrictions 3a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy with restrictions 4a",
- "Pattern redundancy with restrictions 4b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy with restrictions 4b",
- "Pattern redundancy with restrictions 4a"));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testPatternRedundancyWithoutRestrictions() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Patterns.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant Patterns without restrictions"));
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("PatternRedundancyTest.drl"), result
- .getAnalyticsData());
-
- session.setGlobal("result", result);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<String, Set<String>> map = createRedundancyMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy without restrictions 1a",
- "Pattern redundancy without restrictions 1b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy without restrictions 1b",
- "Pattern redundancy without restrictions 1a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy without restrictions 2a",
- "Pattern redundancy without restrictions 2b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy without restrictions 2b",
- "Pattern redundancy without restrictions 2a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy without restrictions 3a",
- "Pattern redundancy without restrictions 3b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy without restrictions 3b",
- "Pattern redundancy without restrictions 3a"));
- assertTrue(TestBase.mapContains(map,
- "Pattern redundancy without restrictions 4a",
- "Pattern redundancy without restrictions 4b")
- ^ TestBase.mapContains(map,
- "Pattern redundancy without restrictions 4b",
- "Pattern redundancy without restrictions 4a"));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,166 @@
+package org.drools.verifier.redundancy;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.TextConsequence;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Redundancy;
+
+public class RedundantRulesAndPatternsTest extends RedundancyTestBase {
+
+ public void testRuleRedundancy() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Rules.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant Rules, strong redundancy"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ AnalyticsRule rule1 = new AnalyticsRule();
+ rule1.setRuleName(ruleName1);
+ AnalyticsRule rule2 = new AnalyticsRule();
+ rule2.setRuleName(ruleName2);
+
+ TextConsequence c1 = new TextConsequence();
+ c1.setRuleName(ruleName1);
+ TextConsequence c2 = new TextConsequence();
+ c2.setRuleName(ruleName2);
+
+ Redundancy r1 = new Redundancy(rule1, rule2);
+ Redundancy r2 = new Redundancy(c1, c2);
+
+ data.add(rule1);
+ data.add(rule2);
+ data.add(c1);
+ data.add(c2);
+ data.add(r1);
+ data.add(r2);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map, ruleName1, ruleName2)
+ ^ TestBase.mapContains(map, ruleName2, ruleName1));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testPatternRedundancyWithRestrictions() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant Patterns with restrictions"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("PatternRedundancyTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 1a",
+ "Pattern redundancy with restrictions 1b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 1b",
+ "Pattern redundancy with restrictions 1a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 2a",
+ "Pattern redundancy with restrictions 2b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 2b",
+ "Pattern redundancy with restrictions 2a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 3a",
+ "Pattern redundancy with restrictions 3b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 3b",
+ "Pattern redundancy with restrictions 3a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 4a",
+ "Pattern redundancy with restrictions 4b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 4b",
+ "Pattern redundancy with restrictions 4a"));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testPatternRedundancyWithoutRestrictions() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant Patterns without restrictions"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("PatternRedundancyTest.drl"), result
+ .getAnalyticsData());
+
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 1a",
+ "Pattern redundancy without restrictions 1b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 1b",
+ "Pattern redundancy without restrictions 1a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 2a",
+ "Pattern redundancy without restrictions 2b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 2b",
+ "Pattern redundancy without restrictions 2a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 3a",
+ "Pattern redundancy without restrictions 3b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 3b",
+ "Pattern redundancy without restrictions 3a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 4a",
+ "Pattern redundancy without restrictions 4b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 4b",
+ "Pattern redundancy without restrictions 4a"));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,116 +0,0 @@
-package org.drools.analytics.redundancy;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.drools.StatelessSession;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.report.components.AnalyticsMessage;
-import org.drools.analytics.report.components.AnalyticsMessageBase;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.analytics.report.components.Severity;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class WarningsTest extends TestBase {
-
- public void testRedundantRules() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Warnings.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant rule possibilities from different rules"));
-
- Collection<Object> objects = new ArrayList<Object>();
-
- AnalyticsRule rule1 = new AnalyticsRule();
- AnalyticsRule rule2 = new AnalyticsRule();
-
- Redundancy ruleRedundancy = new Redundancy(
- RedundancyType.STRONG, rule1, rule2);
-
- RulePossibility rp1 = new RulePossibility();
- rp1.setRuleId(rule1.getId());
-
- RulePossibility rp2 = new RulePossibility();
- rp2.setRuleId(rule2.getId());
-
- Redundancy rulePossibilityRedundancy1 = new Redundancy(
- RedundancyType.STRONG, rp1, rp2);
-
- Redundancy rulePossibilityRedundancy2 = new Redundancy(
- RedundancyType.STRONG, rp2, rp1);
-
- objects.add(rule1);
- objects.add(rule2);
- objects.add(ruleRedundancy);
- objects.add(rp1);
- objects.add(rp2);
- objects.add(rulePossibilityRedundancy1);
- objects.add(rulePossibilityRedundancy2);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- session.executeWithResults(objects);
-
- Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(Severity.WARNING);
-
- // Has at least one item.
- assertEquals(1, notes.size());
-
- AnalyticsMessageBase warning = notes.iterator().next();
- assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
- }
-
- public void testSubsumptantRules() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Warnings.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant rule possibilities from different rules"));
-
- Collection<Object> objects = new ArrayList<Object>();
-
- AnalyticsRule rule1 = new AnalyticsRule();
- AnalyticsRule rule2 = new AnalyticsRule();
-
- Redundancy ruleRedundancy = new Redundancy(
- RedundancyType.STRONG, rule1, rule2);
-
- RulePossibility rp1 = new RulePossibility();
- rp1.setRuleId(rule1.getId());
-
- RulePossibility rp2 = new RulePossibility();
- rp2.setRuleId(rule2.getId());
-
- Redundancy rulePossibilityRedundancy1 = new Redundancy(
- RedundancyType.STRONG, rp1, rp2);
-
- objects.add(rule1);
- objects.add(rule2);
- objects.add(ruleRedundancy);
- objects.add(rp1);
- objects.add(rp2);
- objects.add(rulePossibilityRedundancy1);
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- session.executeWithResults(objects);
-
- Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(Severity.WARNING);
-
- // Has at least one item.
- assertEquals(1, notes.size());
-
- AnalyticsMessageBase warning = notes.iterator().next();
- assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/redundancy/WarningsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,116 @@
+package org.drools.verifier.redundancy;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.StatelessSession;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.AnalyticsMessageBase;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+import org.drools.verifier.report.components.Severity;
+
+public class WarningsTest extends TestBase {
+
+ public void testRedundantRules() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Warnings.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant rule possibilities from different rules"));
+
+ Collection<Object> objects = new ArrayList<Object>();
+
+ AnalyticsRule rule1 = new AnalyticsRule();
+ AnalyticsRule rule2 = new AnalyticsRule();
+
+ Redundancy ruleRedundancy = new Redundancy(
+ RedundancyType.STRONG, rule1, rule2);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleId(rule1.getId());
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleId(rule2.getId());
+
+ Redundancy rulePossibilityRedundancy1 = new Redundancy(
+ RedundancyType.STRONG, rp1, rp2);
+
+ Redundancy rulePossibilityRedundancy2 = new Redundancy(
+ RedundancyType.STRONG, rp2, rp1);
+
+ objects.add(rule1);
+ objects.add(rule2);
+ objects.add(ruleRedundancy);
+ objects.add(rp1);
+ objects.add(rp2);
+ objects.add(rulePossibilityRedundancy1);
+ objects.add(rulePossibilityRedundancy2);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(objects);
+
+ Collection<AnalyticsMessageBase> notes = result
+ .getBySeverity(Severity.WARNING);
+
+ // Has at least one item.
+ assertEquals(1, notes.size());
+
+ AnalyticsMessageBase warning = notes.iterator().next();
+ assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
+ }
+
+ public void testSubsumptantRules() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Warnings.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant rule possibilities from different rules"));
+
+ Collection<Object> objects = new ArrayList<Object>();
+
+ AnalyticsRule rule1 = new AnalyticsRule();
+ AnalyticsRule rule2 = new AnalyticsRule();
+
+ Redundancy ruleRedundancy = new Redundancy(
+ RedundancyType.STRONG, rule1, rule2);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleId(rule1.getId());
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleId(rule2.getId());
+
+ Redundancy rulePossibilityRedundancy1 = new Redundancy(
+ RedundancyType.STRONG, rp1, rp2);
+
+ objects.add(rule1);
+ objects.add(rule2);
+ objects.add(ruleRedundancy);
+ objects.add(rp1);
+ objects.add(rp2);
+ objects.add(rulePossibilityRedundancy1);
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(objects);
+
+ Collection<AnalyticsMessageBase> notes = result
+ .getBySeverity(Severity.WARNING);
+
+ // Has at least one item.
+ assertEquals(1, notes.size());
+
+ AnalyticsMessageBase warning = notes.iterator().next();
+ assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptantPossibilitiesTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,307 +0,0 @@
-package org.drools.analytics.subsumption;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.RedundancyType;
-import org.drools.analytics.report.components.Subsumption;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-
-public class SubsumptantPossibilitiesTest extends SubsumptionTestBase {
-
- public void testPatternPossibilityRedundancy1() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant pattern possibilities"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * Redundant patterns
- */
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- Pattern p1 = new Pattern();
- p1.setRuleName(ruleName1);
- Pattern p2 = new Pattern();
- p2.setRuleName(ruleName2);
-
- LiteralRestriction lr1 = new LiteralRestriction();
- lr1.setRuleName(ruleName1);
- lr1.setOrderNumber(0);
- LiteralRestriction lr2 = new LiteralRestriction();
- lr2.setRuleName(ruleName2);
- lr2.setOrderNumber(0);
- LiteralRestriction lr3 = new LiteralRestriction();
- lr3.setRuleName(ruleName2);
- lr3.setOrderNumber(1);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setPatternId(p1.getId());
- pp1.setRuleName(ruleName1);
- pp1.add(lr1);
-
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setPatternId(p2.getId());
- pp2.setRuleName(ruleName2);
- pp2.add(lr2);
- pp2.add(lr3);
-
- Redundancy r1 = new Redundancy(lr1, lr2);
- Redundancy r2 = new Redundancy(p1, p2);
-
- data.add(p1);
- data.add(p2);
- data.add(lr1);
- data.add(lr2);
- data.add(lr3);
- data.add(pp1);
- data.add(pp2);
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, pp1, pp2));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testPatternPossibilityRedundancy2() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant pattern possibilities"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * Not redundant patterns
- *
- * For example: Pattern ( a==1, b==1, c==1) and Pattern ( a==1, c==1)
- */
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- Pattern p1 = new Pattern();
- p1.setRuleName(ruleName1);
- Pattern p2 = new Pattern();
- p2.setRuleName(ruleName2);
-
- LiteralRestriction lr1 = new LiteralRestriction();
- lr1.setRuleName(ruleName1);
- lr1.setOrderNumber(0);
- LiteralRestriction lr2 = new LiteralRestriction();
- lr2.setRuleName(ruleName2);
- lr2.setOrderNumber(0);
- LiteralRestriction lr3 = new LiteralRestriction();
- lr3.setRuleName(ruleName2);
- lr3.setOrderNumber(1);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setPatternId(p1.getId());
- pp1.setRuleName(ruleName1);
- pp1.add(lr1);
-
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setPatternId(p2.getId());
- pp2.setRuleName(ruleName2);
- pp2.add(lr2);
- pp2.add(lr3);
-
- Redundancy r1 = new Redundancy(lr1, lr3);
- Redundancy r2 = new Redundancy(p1, p2);
-
- data.add(p1);
- data.add(p2);
- data.add(lr1);
- data.add(lr2);
- data.add(lr3);
- data.add(pp1);
- data.add(pp2);
- data.add(r1);
- data.add(r2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertFalse(TestBase.causeMapContains(map, pp1, pp2));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testRulePossibilityRedundancy1() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant rule possibilities"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * First rules. These are subsumptant,
- */
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- AnalyticsRule r1 = new AnalyticsRule();
- r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
- r2.setRuleName(ruleName2);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setRuleName(ruleName1);
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setRuleName(ruleName2);
- PatternPossibility pp3 = new PatternPossibility();
- pp3.setRuleName(ruleName2);
-
- RulePossibility rp1 = new RulePossibility();
- rp1.setRuleId(r1.getId());
- rp1.setRuleName(ruleName1);
- rp1.add(pp1);
-
- RulePossibility rp2 = new RulePossibility();
- rp2.setRuleId(r2.getId());
- rp2.setRuleName(ruleName2);
- rp2.add(pp2);
- rp2.add(pp3);
-
- Redundancy possibilityredundancy = new Redundancy(
- RedundancyType.STRONG, pp1, pp2);
- Redundancy ruleRedundancy = new Redundancy(r1, r2);
-
- data.add(r1);
- data.add(r2);
- data.add(pp1);
- data.add(pp2);
- data.add(pp3);
- data.add(possibilityredundancy);
- data.add(ruleRedundancy);
- data.add(rp1);
- data.add(rp2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, rp1, rp2));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testRulePossibilityRedundancy2() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Possibilities.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant rule possibilities"));
-// session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
-// "XXX: test rule"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * First rules. These are subsumptant,
- */
- String ruleName1 = "Rule 1";
- String ruleName2 = "Rule 2";
-
- AnalyticsRule r1 = new AnalyticsRule();
- r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
- r2.setRuleName(ruleName2);
-
- PatternPossibility pp1 = new PatternPossibility();
- pp1.setRuleName(ruleName1);
- PatternPossibility pp2 = new PatternPossibility();
- pp2.setRuleName(ruleName1);
- PatternPossibility pp3 = new PatternPossibility();
- pp3.setRuleName(ruleName2);
- PatternPossibility pp4 = new PatternPossibility();
- pp4.setRuleName(ruleName2);
-
- RulePossibility rp1 = new RulePossibility();
- rp1.setRuleId(r1.getId());
- rp1.setRuleName(ruleName1);
- rp1.add(pp1);
- rp1.add(pp2);
-
- RulePossibility rp2 = new RulePossibility();
- rp2.setRuleId(r2.getId());
- rp2.setRuleName(ruleName2);
- rp2.add(pp3);
- rp2.add(pp4);
-
- Redundancy possibilityredundancy = new Redundancy(
- RedundancyType.STRONG, pp1, pp3);
- Subsumption possibilitysubsupmtion = new Subsumption(pp2, pp4);
- Redundancy ruleRedundancy = new Redundancy(r1, r2);
-
- data.add(r1);
- data.add(r2);
- data.add(pp1);
- data.add(pp2);
- data.add(pp3);
- data.add(possibilityredundancy);
- data.add(possibilitysubsupmtion);
- data.add(ruleRedundancy);
- data.add(rp1);
- data.add(rp2);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, rp1, rp2));
- assertTrue(TestBase.causeMapContains(map, pp2, pp4));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptantPossibilitiesTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,307 @@
+package org.drools.verifier.subsumption;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.RulePossibility;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.RedundancyType;
+import org.drools.verifier.report.components.Subsumption;
+
+public class SubsumptantPossibilitiesTest extends SubsumptionTestBase {
+
+ public void testPatternPossibilityRedundancy1() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant pattern possibilities"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * Redundant patterns
+ */
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ Pattern p1 = new Pattern();
+ p1.setRuleName(ruleName1);
+ Pattern p2 = new Pattern();
+ p2.setRuleName(ruleName2);
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setRuleName(ruleName1);
+ lr1.setOrderNumber(0);
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setRuleName(ruleName2);
+ lr2.setOrderNumber(0);
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setRuleName(ruleName2);
+ lr3.setOrderNumber(1);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setPatternId(p1.getId());
+ pp1.setRuleName(ruleName1);
+ pp1.add(lr1);
+
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setPatternId(p2.getId());
+ pp2.setRuleName(ruleName2);
+ pp2.add(lr2);
+ pp2.add(lr3);
+
+ Redundancy r1 = new Redundancy(lr1, lr2);
+ Redundancy r2 = new Redundancy(p1, p2);
+
+ data.add(p1);
+ data.add(p2);
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(r1);
+ data.add(r2);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, pp1, pp2));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testPatternPossibilityRedundancy2() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant pattern possibilities"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * Not redundant patterns
+ *
+ * For example: Pattern ( a==1, b==1, c==1) and Pattern ( a==1, c==1)
+ */
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ Pattern p1 = new Pattern();
+ p1.setRuleName(ruleName1);
+ Pattern p2 = new Pattern();
+ p2.setRuleName(ruleName2);
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setRuleName(ruleName1);
+ lr1.setOrderNumber(0);
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setRuleName(ruleName2);
+ lr2.setOrderNumber(0);
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setRuleName(ruleName2);
+ lr3.setOrderNumber(1);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setPatternId(p1.getId());
+ pp1.setRuleName(ruleName1);
+ pp1.add(lr1);
+
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setPatternId(p2.getId());
+ pp2.setRuleName(ruleName2);
+ pp2.add(lr2);
+ pp2.add(lr3);
+
+ Redundancy r1 = new Redundancy(lr1, lr3);
+ Redundancy r2 = new Redundancy(p1, p2);
+
+ data.add(p1);
+ data.add(p2);
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(r1);
+ data.add(r2);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertFalse(TestBase.causeMapContains(map, pp1, pp2));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testRulePossibilityRedundancy1() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant rule possibilities"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * First rules. These are subsumptant,
+ */
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ AnalyticsRule r1 = new AnalyticsRule();
+ r1.setRuleName(ruleName1);
+ AnalyticsRule r2 = new AnalyticsRule();
+ r2.setRuleName(ruleName2);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setRuleName(ruleName1);
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setRuleName(ruleName2);
+ PatternPossibility pp3 = new PatternPossibility();
+ pp3.setRuleName(ruleName2);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleId(r1.getId());
+ rp1.setRuleName(ruleName1);
+ rp1.add(pp1);
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleId(r2.getId());
+ rp2.setRuleName(ruleName2);
+ rp2.add(pp2);
+ rp2.add(pp3);
+
+ Redundancy possibilityredundancy = new Redundancy(
+ RedundancyType.STRONG, pp1, pp2);
+ Redundancy ruleRedundancy = new Redundancy(r1, r2);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(pp3);
+ data.add(possibilityredundancy);
+ data.add(ruleRedundancy);
+ data.add(rp1);
+ data.add(rp2);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, rp1, rp2));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testRulePossibilityRedundancy2() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Possibilities.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant rule possibilities"));
+// session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+// "XXX: test rule"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * First rules. These are subsumptant,
+ */
+ String ruleName1 = "Rule 1";
+ String ruleName2 = "Rule 2";
+
+ AnalyticsRule r1 = new AnalyticsRule();
+ r1.setRuleName(ruleName1);
+ AnalyticsRule r2 = new AnalyticsRule();
+ r2.setRuleName(ruleName2);
+
+ PatternPossibility pp1 = new PatternPossibility();
+ pp1.setRuleName(ruleName1);
+ PatternPossibility pp2 = new PatternPossibility();
+ pp2.setRuleName(ruleName1);
+ PatternPossibility pp3 = new PatternPossibility();
+ pp3.setRuleName(ruleName2);
+ PatternPossibility pp4 = new PatternPossibility();
+ pp4.setRuleName(ruleName2);
+
+ RulePossibility rp1 = new RulePossibility();
+ rp1.setRuleId(r1.getId());
+ rp1.setRuleName(ruleName1);
+ rp1.add(pp1);
+ rp1.add(pp2);
+
+ RulePossibility rp2 = new RulePossibility();
+ rp2.setRuleId(r2.getId());
+ rp2.setRuleName(ruleName2);
+ rp2.add(pp3);
+ rp2.add(pp4);
+
+ Redundancy possibilityredundancy = new Redundancy(
+ RedundancyType.STRONG, pp1, pp3);
+ Subsumption possibilitysubsupmtion = new Subsumption(pp2, pp4);
+ Redundancy ruleRedundancy = new Redundancy(r1, r2);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(pp3);
+ data.add(possibilityredundancy);
+ data.add(possibilitysubsupmtion);
+ data.add(ruleRedundancy);
+ data.add(rp1);
+ data.add(rp2);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, rp1, rp2));
+ assertTrue(TestBase.causeMapContains(map, pp2, pp4));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptantRestrictionsTest.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,182 +0,0 @@
-package org.drools.analytics.subsumption;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.StatelessSession;
-import org.drools.StatelessSessionResult;
-import org.drools.analytics.TestBase;
-import org.drools.analytics.components.Field;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.dao.AnalyticsResult;
-import org.drools.analytics.dao.AnalyticsResultFactory;
-import org.drools.analytics.report.components.Cause;
-import org.drools.base.RuleNameMatchesAgendaFilter;
-import org.drools.base.evaluators.Operator;
-
-public class SubsumptantRestrictionsTest extends SubsumptionTestBase {
-
- public void testRestrictionRedundancyGreater() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant restrictions, greater than"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * Redundant restrictions
- */
- // Doubles
- Field field1 = new Field();
-
- LiteralRestriction lr1 = new LiteralRestriction();
- lr1.setOrderNumber(0);
- lr1.setFieldId(field1.getId());
- lr1.setValue("1.0");
- lr1.setOperator(Operator.GREATER);
-
- LiteralRestriction lr2 = new LiteralRestriction();
- lr2.setOrderNumber(1);
- lr2.setFieldId(field1.getId());
- lr2.setValue("2.0");
- lr2.setOperator(Operator.GREATER);
-
- // Integers
- Field field2 = new Field();
-
- LiteralRestriction lr3 = new LiteralRestriction();
- lr3.setOrderNumber(0);
- lr3.setFieldId(field2.getId());
- lr3.setValue("1");
- lr3.setOperator(Operator.GREATER);
-
- LiteralRestriction lr4 = new LiteralRestriction();
- lr4.setOrderNumber(1);
- lr4.setFieldId(field2.getId());
- lr4.setValue("2");
- lr4.setOperator(Operator.GREATER_OR_EQUAL);
-
- // Dates
- Field field3 = new Field();
-
- LiteralRestriction lr5 = new LiteralRestriction();
- lr5.setOrderNumber(0);
- lr5.setFieldId(field3.getId());
- lr5.setValue("10-dec-2005");
- lr5.setOperator(Operator.GREATER);
-
- LiteralRestriction lr6 = new LiteralRestriction();
- lr6.setOrderNumber(1);
- lr6.setFieldId(field3.getId());
- lr6.setValue("10-dec-2008");
- lr6.setOperator(Operator.EQUAL);
-
- data.add(lr1);
- data.add(lr2);
- data.add(lr3);
- data.add(lr4);
- data.add(lr5);
- data.add(lr6);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, lr1, lr2));
- assertTrue(TestBase.causeMapContains(map, lr3, lr4));
- assertTrue(TestBase.causeMapContains(map, lr5, lr6));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-
- public void testRestrictionRedundancyLess() throws Exception {
- StatelessSession session = getStatelessSession(this.getClass()
- .getResourceAsStream("Restrictions.drl"));
-
- session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find subsumptant restrictions, less than"));
-
- Collection<Object> data = new ArrayList<Object>();
-
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
- session.setGlobal("result", result);
-
- /*
- * Redundant restrictions
- */
- // Doubles
- Field field1 = new Field();
-
- LiteralRestriction lr1 = new LiteralRestriction();
- lr1.setOrderNumber(0);
- lr1.setFieldId(field1.getId());
- lr1.setValue("2.0");
- lr1.setOperator(Operator.LESS);
-
- LiteralRestriction lr2 = new LiteralRestriction();
- lr2.setOrderNumber(1);
- lr2.setFieldId(field1.getId());
- lr2.setValue("1.0");
- lr2.setOperator(Operator.LESS);
-
- // Integers
- Field field2 = new Field();
-
- LiteralRestriction lr3 = new LiteralRestriction();
- lr3.setOrderNumber(0);
- lr3.setFieldId(field2.getId());
- lr3.setValue("2");
- lr3.setOperator(Operator.LESS);
-
- LiteralRestriction lr4 = new LiteralRestriction();
- lr4.setOrderNumber(1);
- lr4.setFieldId(field2.getId());
- lr4.setValue("1");
- lr4.setOperator(Operator.LESS_OR_EQUAL);
-
- // Dates
- Field field3 = new Field();
-
- LiteralRestriction lr5 = new LiteralRestriction();
- lr5.setOrderNumber(0);
- lr5.setFieldId(field3.getId());
- lr5.setValue("10-dec-2008");
- lr5.setOperator(Operator.LESS);
-
- LiteralRestriction lr6 = new LiteralRestriction();
- lr6.setOrderNumber(1);
- lr6.setFieldId(field3.getId());
- lr6.setValue("10-dec-2005");
- lr6.setOperator(Operator.EQUAL);
-
- data.add(lr1);
- data.add(lr2);
- data.add(lr3);
- data.add(lr4);
- data.add(lr5);
- data.add(lr6);
-
- StatelessSessionResult sessionResult = session.executeWithResults(data);
-
- Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
- .iterateObjects());
-
- assertTrue(TestBase.causeMapContains(map, lr1, lr2));
- assertTrue(TestBase.causeMapContains(map, lr3, lr4));
- assertTrue(TestBase.causeMapContains(map, lr5, lr6));
-
- if (!map.isEmpty()) {
- fail("More redundancies than was expected.");
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptantRestrictionsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,182 @@
+package org.drools.verifier.subsumption;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.report.components.Cause;
+
+public class SubsumptantRestrictionsTest extends SubsumptionTestBase {
+
+ public void testRestrictionRedundancyGreater() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant restrictions, greater than"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * Redundant restrictions
+ */
+ // Doubles
+ Field field1 = new Field();
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setOrderNumber(0);
+ lr1.setFieldId(field1.getId());
+ lr1.setValue("1.0");
+ lr1.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setOrderNumber(1);
+ lr2.setFieldId(field1.getId());
+ lr2.setValue("2.0");
+ lr2.setOperator(Operator.GREATER);
+
+ // Integers
+ Field field2 = new Field();
+
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setOrderNumber(0);
+ lr3.setFieldId(field2.getId());
+ lr3.setValue("1");
+ lr3.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr4 = new LiteralRestriction();
+ lr4.setOrderNumber(1);
+ lr4.setFieldId(field2.getId());
+ lr4.setValue("2");
+ lr4.setOperator(Operator.GREATER_OR_EQUAL);
+
+ // Dates
+ Field field3 = new Field();
+
+ LiteralRestriction lr5 = new LiteralRestriction();
+ lr5.setOrderNumber(0);
+ lr5.setFieldId(field3.getId());
+ lr5.setValue("10-dec-2005");
+ lr5.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr6 = new LiteralRestriction();
+ lr6.setOrderNumber(1);
+ lr6.setFieldId(field3.getId());
+ lr6.setValue("10-dec-2008");
+ lr6.setOperator(Operator.EQUAL);
+
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(lr4);
+ data.add(lr5);
+ data.add(lr6);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, lr1, lr2));
+ assertTrue(TestBase.causeMapContains(map, lr3, lr4));
+ assertTrue(TestBase.causeMapContains(map, lr5, lr6));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
+ public void testRestrictionRedundancyLess() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find subsumptant restrictions, less than"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ session.setGlobal("result", result);
+
+ /*
+ * Redundant restrictions
+ */
+ // Doubles
+ Field field1 = new Field();
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setOrderNumber(0);
+ lr1.setFieldId(field1.getId());
+ lr1.setValue("2.0");
+ lr1.setOperator(Operator.LESS);
+
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setOrderNumber(1);
+ lr2.setFieldId(field1.getId());
+ lr2.setValue("1.0");
+ lr2.setOperator(Operator.LESS);
+
+ // Integers
+ Field field2 = new Field();
+
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setOrderNumber(0);
+ lr3.setFieldId(field2.getId());
+ lr3.setValue("2");
+ lr3.setOperator(Operator.LESS);
+
+ LiteralRestriction lr4 = new LiteralRestriction();
+ lr4.setOrderNumber(1);
+ lr4.setFieldId(field2.getId());
+ lr4.setValue("1");
+ lr4.setOperator(Operator.LESS_OR_EQUAL);
+
+ // Dates
+ Field field3 = new Field();
+
+ LiteralRestriction lr5 = new LiteralRestriction();
+ lr5.setOrderNumber(0);
+ lr5.setFieldId(field3.getId());
+ lr5.setValue("10-dec-2008");
+ lr5.setOperator(Operator.LESS);
+
+ LiteralRestriction lr6 = new LiteralRestriction();
+ lr6.setOrderNumber(1);
+ lr6.setFieldId(field3.getId());
+ lr6.setValue("10-dec-2005");
+ lr6.setOperator(Operator.EQUAL);
+
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(lr4);
+ data.add(lr5);
+ data.add(lr6);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createSubsumptionMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.causeMapContains(map, lr1, lr2));
+ assertTrue(TestBase.causeMapContains(map, lr3, lr4));
+ assertTrue(TestBase.causeMapContains(map, lr5, lr6));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptionTestBase.java 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,56 +0,0 @@
-package org.drools.analytics.subsumption;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.analytics.TestBase;
-import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.Subsumption;
-
-/**
- *
- * @author Toni Rikkola
- *
- */
-public class SubsumptionTestBase extends TestBase {
-
- public void testDummy() {
- // this is needed as eclipse will try to run this and produce a failure
- // if its not here.
- }
-
- /**
- * Creates subsumption map from Subsumption objects, one rule may have
- * several subsumption dependencies.
- *
- * @param iter
- * @return
- */
- protected Map<Cause, Set<Cause>> createSubsumptionMap(Iterator<Object> iter) {
-
- Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof Subsumption && !(o instanceof Redundancy)) {
- Subsumption s = (Subsumption) o;
- Cause left = s.getLeft();
- Cause right = s.getRight();
-
- if (map.containsKey(left)) {
- Set<Cause> set = map.get(left);
- set.add(right);
- } else {
- Set<Cause> set = new HashSet<Cause>();
- set.add(right);
- map.put(left, set);
- }
- }
- }
-
- return map;
- }
-}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/subsumption/SubsumptionTestBase.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/verifier/subsumption/SubsumptionTestBase.java 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,56 @@
+package org.drools.verifier.subsumption;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.verifier.TestBase;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.Redundancy;
+import org.drools.verifier.report.components.Subsumption;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class SubsumptionTestBase extends TestBase {
+
+ public void testDummy() {
+ // this is needed as eclipse will try to run this and produce a failure
+ // if its not here.
+ }
+
+ /**
+ * Creates subsumption map from Subsumption objects, one rule may have
+ * several subsumption dependencies.
+ *
+ * @param iter
+ * @return
+ */
+ protected Map<Cause, Set<Cause>> createSubsumptionMap(Iterator<Object> iter) {
+
+ Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof Subsumption && !(o instanceof Redundancy)) {
+ Subsumption s = (Subsumption) o;
+ Cause left = s.getLeft();
+ Cause right = s.getRight();
+
+ if (map.containsKey(left)) {
+ Set<Cause> set = map.get(left);
+ set.add(right);
+ } else {
+ Set<Cause> set = new HashSet<Cause>();
+ set.add(right);
+ map.put(left, set);
+ }
+ }
+ }
+
+ return map;
+ }
+}
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier (from rev 18566, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics)
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,23 +0,0 @@
-package com.misc.someData
-
-import com.sample.DroolsTest.Message;
-
-rule "Missing consequence 1"
- when
- Foo()
- then
-end
-
-rule "Has a consequence 1"
- when
- Foo()
- then
- System.out.println("Test");
-end
-
-rule "Missing consequence 2"
- when
- Foo()
- then
- // System.out.println("Test");
-end
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/ConsequenceTest.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,23 @@
+package com.misc.someData
+
+import com.sample.DroolsTest.Message;
+
+rule "Missing consequence 1"
+ when
+ Foo()
+ then
+end
+
+rule "Has a consequence 1"
+ when
+ Foo()
+ then
+ System.out.println("Test");
+end
+
+rule "Missing consequence 2"
+ when
+ Foo()
+ then
+ // System.out.println("Test");
+end
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,79 +0,0 @@
-package com.misc.someData
-
-import com.sample.DroolsTest.Message;
-
-
-rule "nro 1."
- when
- Foo( bar > 10 )
- then
- System.out.println("Test");
-end
-
-rule "nro 2."
- when
- Foo( bar < 10 )
- then
- System.out.println("Test");
-end
-
-rule "Rule with patterns"
- when
- Foo1()
- Foo1()
- TestPattern1( a == 10, b == 10, c == 10, d == 10, e == 10)
- TestPattern2()
- TestPattern3()
- TestPattern4()
- then
- System.out.println( "Test" );
-end
-
-rule "Field rule"
- when
- PatThePattern( gg > 100 )
- then
- System.out.println( "Test" );
-end
-
-rule "Field rule 2"
- when
- PatThePattern()
- then
- System.out.println( "Test" );
-end
-
-rule "Numbers 1"
- when
- NumbersInPattern( x == 10 )
- then
- System.out.println( "Test" );
-end
-
-rule "Numbers 2"
- when
- NumbersInPattern( x == 20 )
- then
- System.out.println( "Test" );
-end
-
-rule "Numbers 3"
- when
- NumbersInPattern( x == 30 )
- then
- System.out.println( "Test" );
-end
-
-rule "Numbers 5"
- when
- NumbersInPattern( x == 50 )
- then
- System.out.println( "Test" );
-end
-
-rule "Numbers 6"
- when
- NumbersInPattern( x == 60 )
- then
- System.out.println( "Test" );
-end
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,79 @@
+package com.misc.someData
+
+import com.sample.DroolsTest.Message;
+
+
+rule "nro 1."
+ when
+ Foo( bar > 10 )
+ then
+ System.out.println("Test");
+end
+
+rule "nro 2."
+ when
+ Foo( bar < 10 )
+ then
+ System.out.println("Test");
+end
+
+rule "Rule with patterns"
+ when
+ Foo1()
+ Foo1()
+ TestPattern1( a == 10, b == 10, c == 10, d == 10, e == 10)
+ TestPattern2()
+ TestPattern3()
+ TestPattern4()
+ then
+ System.out.println( "Test" );
+end
+
+rule "Field rule"
+ when
+ PatThePattern( gg > 100 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Field rule 2"
+ when
+ PatThePattern()
+ then
+ System.out.println( "Test" );
+end
+
+rule "Numbers 1"
+ when
+ NumbersInPattern( x == 10 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Numbers 2"
+ when
+ NumbersInPattern( x == 20 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Numbers 3"
+ when
+ NumbersInPattern( x == 30 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Numbers 5"
+ when
+ NumbersInPattern( x == 50 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Numbers 6"
+ when
+ NumbersInPattern( x == 60 )
+ then
+ System.out.println( "Test" );
+end
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc2.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,130 +0,0 @@
-package com.misc.missingRanges
-
-import com.sample.DroolsTest.Message;
-
-
-rule "Check time 1"
- when
- Time( startDate > "1-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 2"
- when
- Foo( startDate <= "10-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 3"
- when
- Foo( startDate > "10-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 4"
- when
- Foo( startDate < "20-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 5"
- when
- Foo( startDate > "27-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 6"
- when
- Foo( startDate <= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 7"
- when
- Foo( endDate < "10-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 8"
- when
- Foo( endDate == "11-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 9"
- when
- Foo( endDate >= "11-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 10"
- when
- Foo( endDate < "20-Jan-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 11"
- when
- Foo( endDate >= "20-Jan-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 12"
- when
- Foo( endDate < "13-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 13"
- when
- Foo( endDate == "13-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 14"
- when
- Foo( endDate == "14-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 15"
- when
- Foo( endDate == "15-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 16"
- when
- Foo( endDate == "25-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 17"
- when
- Foo( endDate < "26-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Check time 18"
- when
- Foo( endDate >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc2.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc2.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,130 @@
+package com.misc.missingRanges
+
+import com.sample.DroolsTest.Message;
+
+
+rule "Check time 1"
+ when
+ Time( startDate > "1-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 2"
+ when
+ Foo( startDate <= "10-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 3"
+ when
+ Foo( startDate > "10-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 4"
+ when
+ Foo( startDate < "20-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 5"
+ when
+ Foo( startDate > "27-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 6"
+ when
+ Foo( startDate <= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 7"
+ when
+ Foo( endDate < "10-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 8"
+ when
+ Foo( endDate == "11-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 9"
+ when
+ Foo( endDate >= "11-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 10"
+ when
+ Foo( endDate < "20-Jan-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 11"
+ when
+ Foo( endDate >= "20-Jan-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 12"
+ when
+ Foo( endDate < "13-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 13"
+ when
+ Foo( endDate == "13-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 14"
+ when
+ Foo( endDate == "14-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 15"
+ when
+ Foo( endDate == "15-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 16"
+ when
+ Foo( endDate == "25-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 17"
+ when
+ Foo( endDate < "26-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Check time 18"
+ when
+ Foo( endDate >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc3.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,37 +0,0 @@
-package com.misc.missingRanges
-
-import com.sample.DroolsTest.Message;
-
-/*
-rule "Redundant restrictions"
- when
- RedundancyPattern( a == 1, a == 1 )
- then
- // Something
-end
-
-rule "Redundant rule 1, rules"
- when
- RedundancyPattern( a == 1 )
- RedundancyPattern2( a == 1 )
- then
- System.out.println("TEST");
-end
-*/
-rule "Redundant rule 2, rules"
- when
- RedundancyPattern( a == 1 )
- RedundancyPattern2( a >= 1 )
- RedundancyPattern3( a == 1, a == 1 )
- then
- System.out.println("TEST");
-end
-
-rule "Equivalent rule"
- when
- BlaaBlaa( a == 1 )
- RedundancyPattern( a == 1 )
- RedundancyPattern2( a == 1 )
- then
- System.out.println("NOT A TEST");
-end
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Misc3.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Misc3.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,37 @@
+package com.misc.missingRanges
+
+import com.sample.DroolsTest.Message;
+
+/*
+rule "Redundant restrictions"
+ when
+ RedundancyPattern( a == 1, a == 1 )
+ then
+ // Something
+end
+
+rule "Redundant rule 1, rules"
+ when
+ RedundancyPattern( a == 1 )
+ RedundancyPattern2( a == 1 )
+ then
+ System.out.println("TEST");
+end
+*/
+rule "Redundant rule 2, rules"
+ when
+ RedundancyPattern( a == 1 )
+ RedundancyPattern2( a >= 1 )
+ RedundancyPattern3( a == 1, a == 1 )
+ then
+ System.out.println("TEST");
+end
+
+rule "Equivalent rule"
+ when
+ BlaaBlaa( a == 1 )
+ RedundancyPattern( a == 1 )
+ RedundancyPattern2( a == 1 )
+ then
+ System.out.println("NOT A TEST");
+end
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForDates.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,450 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-rule "Date gap rule 1"
- when
- DatePattern1( value == "27-Oct-2007" )
- then
- # gap > 10 <.
-end
-
-rule "Date gap rule 2"
- when
- DatePattern2( value >= "27-Oct-2000" )
- then
- # gap < 15.
-end
-
-rule "Date gap rule 3"
- when
- DatePattern3( value <= "27-Oct-2004" )
- then
- # gap > 15.
-end
-
-rule "Date gap rule 4a"
- when
- DatePattern4( value > "27-Oct-2001" )
- then
- # gap == 25.
-end
-
-rule "Date gap rule 4b"
- when
- DatePattern4( value < "27-Oct-2001" )
- then
- # gap == 25.
-end
-
-rule "Date gap rule 5a"
- when
- DatePattern5( value > "20-Oct-2007" )
- then
- # gap 100 > x > 50.
-end
-
-rule "Date gap rule 5b"
- when
- DatePattern5( value < "10-Oct-2007" )
- then
- # gap 100 > x > 50.
-end
-
-rule "Date gap rule 6a"
- when
- DatePattern6( value > "28-Oct-2007" )
- then
- # gap < 350.
-end
-
-rule "Date gap rule 6b"
- when
- DatePattern6( value == "28-Oct-2007" )
- then
- # gap < 350.
-end
-
-rule "Date gap rule 7a"
- when
- DatePattern7( value < "27-Jan-2007" )
- then
- # gap > 55.
-end
-
-rule "Date gap rule 7b"
- when
- DatePattern7( value == "27-Jan-2007" )
- then
- # gap > 55.
-end
-
-rule "Date gap rule 8a"
- when
- DatePattern8( value < "11-Jan-2007" )
- then
- # No gap
-end
-
-rule "Date gap rule 8b"
- when
- DatePattern8( value == "11-Jan-2007" )
- then
- # No gap
-end
-
-rule "Date gap rule 8c"
- when
- DatePattern8( value > "11-Jan-2007" )
- then
- # No gap
-end
-
-rule "Date gap rule 9a"
- when
- DatePattern9( value <= "14-Jan-2007" )
- then
- # No gap
-end
-
-rule "Date gap rule 9b"
- when
- DatePattern9( value == "15-Jan-2007" )
- then
- # No gap
-end
-
-rule "Date gap rule 9c"
- when
- DatePattern9( value >= "16-Jan-2007" )
- then
- # No gap
-end
-
-/*
-#
-# These rules have gaps
-#
-rule "Date range 1a, has gap"
- when
- Foo1( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 2a, has gap"
- when
- Foo2( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 3a, has gap"
- when
- Foo3( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 4a, has gap"
- when
- Foo4( value <= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 5a, has gap"
- when
- Foo5( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 5b, has gap"
- when
- Foo5( value == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 6a, has gap"
- when
- Foo6( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 6b, has gap"
- when
- Foo6( value == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 7a, has gap"
- when
- Foo7( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 7b, has gap"
- when
- Foo7( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 8a, has gap"
- when
- Foo8( value < "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 8b, has gap"
- when
- Foo8( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 9a, has gap"
- when
- Foo9( value <= "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 9b, has gap"
- when
- Foo9( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 10a, has gap"
- when
- Foo10( value < "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 10b, has gap"
- when
- Foo10( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 11a, has gap"
- when
- Foo11( value <= "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 11b, has gap"
- when
- Foo11( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-#
-# Not rules that have gaps.
-#
-
-rule "Date range 12a, has gap"
- when
- not Foo12( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 13a, has gap"
- when
- not Foo13( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 14a, has gap"
- when
- not Foo14( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 15a, has gap"
- when
- not Foo15( value <= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 16a, has gap"
- when
- not Foo16( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 16b, has gap"
- when
- not Foo16( value == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 17a, has gap"
- when
- not Foo17( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 17b, has gap"
- when
- not Foo17( value == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 18a, has gap"
- when
- not Foo18( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 18b, has gap"
- when
- not Foo18( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 19a, has gap"
- when
- not Foo19( value < "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 19b, has gap"
- when
- not Foo19( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 20a, has gap"
- when
- not Foo20( value <= "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 20b, has gap"
- when
- not Foo20( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 21a, has gap"
- when
- not Foo21( value < "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 21b, has gap"
- when
- not Foo21( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 22a, has gap"
- when
- not Foo22( value <= "03-Oct-2002" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 22b, has gap"
- when
- not Foo22( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-#
-# No gaps
-#
-
-rule "Date range 23a, no gap"
- when
- Foo23( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 23b, no gap"
- when
- Foo23( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 24a, no gap"
- when
- Foo24( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 24b, no gap"
- when
- Foo24( value <= 27-Oct-2007 )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 25a, no gap"
- when
- Foo25( value >= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 25b, no gap"
- when
- Foo25( value <= "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 25a, no gap"
- when
- Foo25( value > "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 25b, no gap"
- when
- Foo25( value == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Date range 25c, no gap"
- when
- Foo25( value < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-*/
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForDates.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDates.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,450 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+rule "Date gap rule 1"
+ when
+ DatePattern1( value == "27-Oct-2007" )
+ then
+ # gap > 10 <.
+end
+
+rule "Date gap rule 2"
+ when
+ DatePattern2( value >= "27-Oct-2000" )
+ then
+ # gap < 15.
+end
+
+rule "Date gap rule 3"
+ when
+ DatePattern3( value <= "27-Oct-2004" )
+ then
+ # gap > 15.
+end
+
+rule "Date gap rule 4a"
+ when
+ DatePattern4( value > "27-Oct-2001" )
+ then
+ # gap == 25.
+end
+
+rule "Date gap rule 4b"
+ when
+ DatePattern4( value < "27-Oct-2001" )
+ then
+ # gap == 25.
+end
+
+rule "Date gap rule 5a"
+ when
+ DatePattern5( value > "20-Oct-2007" )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Date gap rule 5b"
+ when
+ DatePattern5( value < "10-Oct-2007" )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Date gap rule 6a"
+ when
+ DatePattern6( value > "28-Oct-2007" )
+ then
+ # gap < 350.
+end
+
+rule "Date gap rule 6b"
+ when
+ DatePattern6( value == "28-Oct-2007" )
+ then
+ # gap < 350.
+end
+
+rule "Date gap rule 7a"
+ when
+ DatePattern7( value < "27-Jan-2007" )
+ then
+ # gap > 55.
+end
+
+rule "Date gap rule 7b"
+ when
+ DatePattern7( value == "27-Jan-2007" )
+ then
+ # gap > 55.
+end
+
+rule "Date gap rule 8a"
+ when
+ DatePattern8( value < "11-Jan-2007" )
+ then
+ # No gap
+end
+
+rule "Date gap rule 8b"
+ when
+ DatePattern8( value == "11-Jan-2007" )
+ then
+ # No gap
+end
+
+rule "Date gap rule 8c"
+ when
+ DatePattern8( value > "11-Jan-2007" )
+ then
+ # No gap
+end
+
+rule "Date gap rule 9a"
+ when
+ DatePattern9( value <= "14-Jan-2007" )
+ then
+ # No gap
+end
+
+rule "Date gap rule 9b"
+ when
+ DatePattern9( value == "15-Jan-2007" )
+ then
+ # No gap
+end
+
+rule "Date gap rule 9c"
+ when
+ DatePattern9( value >= "16-Jan-2007" )
+ then
+ # No gap
+end
+
+/*
+#
+# These rules have gaps
+#
+rule "Date range 1a, has gap"
+ when
+ Foo1( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 2a, has gap"
+ when
+ Foo2( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 3a, has gap"
+ when
+ Foo3( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 4a, has gap"
+ when
+ Foo4( value <= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 5a, has gap"
+ when
+ Foo5( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 5b, has gap"
+ when
+ Foo5( value == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 6a, has gap"
+ when
+ Foo6( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 6b, has gap"
+ when
+ Foo6( value == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 7a, has gap"
+ when
+ Foo7( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 7b, has gap"
+ when
+ Foo7( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 8a, has gap"
+ when
+ Foo8( value < "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 8b, has gap"
+ when
+ Foo8( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 9a, has gap"
+ when
+ Foo9( value <= "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 9b, has gap"
+ when
+ Foo9( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 10a, has gap"
+ when
+ Foo10( value < "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 10b, has gap"
+ when
+ Foo10( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 11a, has gap"
+ when
+ Foo11( value <= "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 11b, has gap"
+ when
+ Foo11( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+#
+# Not rules that have gaps.
+#
+
+rule "Date range 12a, has gap"
+ when
+ not Foo12( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 13a, has gap"
+ when
+ not Foo13( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 14a, has gap"
+ when
+ not Foo14( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 15a, has gap"
+ when
+ not Foo15( value <= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 16a, has gap"
+ when
+ not Foo16( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 16b, has gap"
+ when
+ not Foo16( value == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 17a, has gap"
+ when
+ not Foo17( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 17b, has gap"
+ when
+ not Foo17( value == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 18a, has gap"
+ when
+ not Foo18( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 18b, has gap"
+ when
+ not Foo18( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 19a, has gap"
+ when
+ not Foo19( value < "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 19b, has gap"
+ when
+ not Foo19( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 20a, has gap"
+ when
+ not Foo20( value <= "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 20b, has gap"
+ when
+ not Foo20( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 21a, has gap"
+ when
+ not Foo21( value < "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 21b, has gap"
+ when
+ not Foo21( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 22a, has gap"
+ when
+ not Foo22( value <= "03-Oct-2002" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 22b, has gap"
+ when
+ not Foo22( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+#
+# No gaps
+#
+
+rule "Date range 23a, no gap"
+ when
+ Foo23( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 23b, no gap"
+ when
+ Foo23( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 24a, no gap"
+ when
+ Foo24( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 24b, no gap"
+ when
+ Foo24( value <= 27-Oct-2007 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 25a, no gap"
+ when
+ Foo25( value >= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 25b, no gap"
+ when
+ Foo25( value <= "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 25a, no gap"
+ when
+ Foo25( value > "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 25b, no gap"
+ when
+ Foo25( value == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Date range 25c, no gap"
+ when
+ Foo25( value < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+*/
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForDoubles.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,464 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-rule "Double gap rule 1"
- when
- DoublePattern1( value == 10.0 )
- then
- # gap > 10 <.
-end
-
-rule "Double gap rule 2"
- when
- DoublePattern2( value >= 15.0 )
- then
- # gap < 15.
-end
-
-rule "Double gap rule 3"
- when
- DoublePattern3( value <= 15.0 )
- then
- # gap > 15.
-end
-
-rule "Double gap rule 4a"
- when
- DoublePattern4( value > 25.0 )
- then
- # gap == 25.
-end
-
-rule "Double gap rule 4b"
- when
- DoublePattern4( value < 25.0 )
- then
- # gap == 25.
-end
-
-rule "Double gap rule 5a"
- when
- DoublePattern5( value > 100.0 )
- then
- # gap 100 > x > 50.
-end
-
-rule "Double gap rule 5b"
- when
- DoublePattern5( value < 50.0 )
- then
- # gap 100 > x > 50.
-end
-
-rule "Double gap rule 6a"
- when
- DoublePattern6( value > 350.0 )
- then
- # gap < 350.
-end
-
-rule "Double gap rule 6b"
- when
- DoublePattern6( value == 350.0 )
- then
- # gap < 350.
-end
-
-rule "Double gap rule 7a"
- when
- DoublePattern7( value < 55.0 )
- then
- # gap > 55.
-end
-
-rule "Double gap rule 7b"
- when
- DoublePattern7( value == 55.0 )
- then
- # gap > 55.
-end
-
-rule "Double gap rule 8a"
- when
- DoublePattern8( value < 333.0 )
- then
- # No gap
-end
-
-rule "Double gap rule 8b"
- when
- DoublePattern8( value == 333.0 )
- then
- # No gap
-end
-
-rule "Double gap rule 8c"
- when
- DoublePattern8( value > 333.0 )
- then
- # No gap
-end
-
-rule "Double gap rule 9a"
- when
- DoublePattern9( value >= 400.0 )
- then
- # gap 400 > x > 399
-end
-
-rule "Double gap rule 9b"
- when
- DoublePattern9( value <= 399.0 )
- then
- # gap 400 > x > 399
-end
-
-/*
-#
-# These rules have gaps
-#
-rule "Double range 1a, has gap"
- when
- Foo1( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 2a, has gap"
- when
- Foo2( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 3a, has gap"
- when
- Foo3( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 4a, has gap"
- when
- Foo4( value <= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 5a, has gap"
- when
- Foo5( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 5b, has gap"
- when
- Foo5( value == 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 6a, has gap"
- when
- Foo6( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 6b, has gap"
- when
- Foo6( value == 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 7a, has gap"
- when
- Foo7( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 7b, has gap"
- when
- Foo7( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 8a, has gap"
- when
- Foo8( value < 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 8b, has gap"
- when
- Foo8( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 9a, has gap"
- when
- Foo9( value <= 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 9b, has gap"
- when
- Foo9( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 10a, has gap"
- when
- Foo10( value < 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 10b, has gap"
- when
- Foo10( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 11a, has gap"
- when
- Foo11( value <= 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 11b, has gap"
- when
- Foo11( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-#
-# Not rules that have gaps.
-#
-
-rule "Double range 12a, has gap"
- when
- not Foo12( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 13a, has gap"
- when
- not Foo13( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 14a, has gap"
- when
- not Foo14( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 15a, has gap"
- when
- not Foo15( value <= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 16a, has gap"
- when
- not Foo16( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 16b, has gap"
- when
- not Foo16( value == 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 17a, has gap"
- when
- not Foo17( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 17b, has gap"
- when
- not Foo17( value == 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 18a, has gap"
- when
- not Foo18( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 18b, has gap"
- when
- not Foo18( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 19a, has gap"
- when
- not Foo19( value < 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 19b, has gap"
- when
- not Foo19( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 20a, has gap"
- when
- not Foo20( value <= 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 20b, has gap"
- when
- not Foo20( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 21a, has gap"
- when
- not Foo21( value < 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 21b, has gap"
- when
- not Foo21( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 22a, has gap"
- when
- not Foo22( value <= 40.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 22b, has gap"
- when
- not Foo22( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-#
-# No gaps
-#
-
-rule "Double range 23a, no gap"
- when
- Foo23( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 23b, no gap"
- when
- Foo23( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 24a, no gap"
- when
- Foo24( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 24b, no gap"
- when
- Foo24( value <= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 25a, no gap"
- when
- Foo25( value >= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 25b, no gap"
- when
- Foo25( value <= 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 25a, no gap"
- when
- Foo25( value > 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 25b, no gap"
- when
- Foo25( value == 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 25c, no gap"
- when
- Foo25( value < 42.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 27a, no gap"
- when
- Foo27( value > 0.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 27b, no gap"
- when
- Foo27( value == 0.0 )
- then
- System.out.println( "Test" );
-end
-
-rule "Double range 27c, no gap"
- when
- Foo27( value < 0.0 )
- then
- System.out.println( "Test" );
-end
-*/
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForDoubles.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForDoubles.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,464 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+rule "Double gap rule 1"
+ when
+ DoublePattern1( value == 10.0 )
+ then
+ # gap > 10 <.
+end
+
+rule "Double gap rule 2"
+ when
+ DoublePattern2( value >= 15.0 )
+ then
+ # gap < 15.
+end
+
+rule "Double gap rule 3"
+ when
+ DoublePattern3( value <= 15.0 )
+ then
+ # gap > 15.
+end
+
+rule "Double gap rule 4a"
+ when
+ DoublePattern4( value > 25.0 )
+ then
+ # gap == 25.
+end
+
+rule "Double gap rule 4b"
+ when
+ DoublePattern4( value < 25.0 )
+ then
+ # gap == 25.
+end
+
+rule "Double gap rule 5a"
+ when
+ DoublePattern5( value > 100.0 )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Double gap rule 5b"
+ when
+ DoublePattern5( value < 50.0 )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Double gap rule 6a"
+ when
+ DoublePattern6( value > 350.0 )
+ then
+ # gap < 350.
+end
+
+rule "Double gap rule 6b"
+ when
+ DoublePattern6( value == 350.0 )
+ then
+ # gap < 350.
+end
+
+rule "Double gap rule 7a"
+ when
+ DoublePattern7( value < 55.0 )
+ then
+ # gap > 55.
+end
+
+rule "Double gap rule 7b"
+ when
+ DoublePattern7( value == 55.0 )
+ then
+ # gap > 55.
+end
+
+rule "Double gap rule 8a"
+ when
+ DoublePattern8( value < 333.0 )
+ then
+ # No gap
+end
+
+rule "Double gap rule 8b"
+ when
+ DoublePattern8( value == 333.0 )
+ then
+ # No gap
+end
+
+rule "Double gap rule 8c"
+ when
+ DoublePattern8( value > 333.0 )
+ then
+ # No gap
+end
+
+rule "Double gap rule 9a"
+ when
+ DoublePattern9( value >= 400.0 )
+ then
+ # gap 400 > x > 399
+end
+
+rule "Double gap rule 9b"
+ when
+ DoublePattern9( value <= 399.0 )
+ then
+ # gap 400 > x > 399
+end
+
+/*
+#
+# These rules have gaps
+#
+rule "Double range 1a, has gap"
+ when
+ Foo1( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 2a, has gap"
+ when
+ Foo2( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 3a, has gap"
+ when
+ Foo3( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 4a, has gap"
+ when
+ Foo4( value <= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 5a, has gap"
+ when
+ Foo5( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 5b, has gap"
+ when
+ Foo5( value == 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 6a, has gap"
+ when
+ Foo6( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 6b, has gap"
+ when
+ Foo6( value == 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 7a, has gap"
+ when
+ Foo7( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 7b, has gap"
+ when
+ Foo7( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 8a, has gap"
+ when
+ Foo8( value < 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 8b, has gap"
+ when
+ Foo8( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 9a, has gap"
+ when
+ Foo9( value <= 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 9b, has gap"
+ when
+ Foo9( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 10a, has gap"
+ when
+ Foo10( value < 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 10b, has gap"
+ when
+ Foo10( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 11a, has gap"
+ when
+ Foo11( value <= 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 11b, has gap"
+ when
+ Foo11( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+#
+# Not rules that have gaps.
+#
+
+rule "Double range 12a, has gap"
+ when
+ not Foo12( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 13a, has gap"
+ when
+ not Foo13( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 14a, has gap"
+ when
+ not Foo14( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 15a, has gap"
+ when
+ not Foo15( value <= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 16a, has gap"
+ when
+ not Foo16( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 16b, has gap"
+ when
+ not Foo16( value == 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 17a, has gap"
+ when
+ not Foo17( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 17b, has gap"
+ when
+ not Foo17( value == 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 18a, has gap"
+ when
+ not Foo18( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 18b, has gap"
+ when
+ not Foo18( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 19a, has gap"
+ when
+ not Foo19( value < 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 19b, has gap"
+ when
+ not Foo19( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 20a, has gap"
+ when
+ not Foo20( value <= 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 20b, has gap"
+ when
+ not Foo20( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 21a, has gap"
+ when
+ not Foo21( value < 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 21b, has gap"
+ when
+ not Foo21( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 22a, has gap"
+ when
+ not Foo22( value <= 40.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 22b, has gap"
+ when
+ not Foo22( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+#
+# No gaps
+#
+
+rule "Double range 23a, no gap"
+ when
+ Foo23( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 23b, no gap"
+ when
+ Foo23( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 24a, no gap"
+ when
+ Foo24( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 24b, no gap"
+ when
+ Foo24( value <= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 25a, no gap"
+ when
+ Foo25( value >= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 25b, no gap"
+ when
+ Foo25( value <= 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 25a, no gap"
+ when
+ Foo25( value > 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 25b, no gap"
+ when
+ Foo25( value == 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 25c, no gap"
+ when
+ Foo25( value < 42.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 27a, no gap"
+ when
+ Foo27( value > 0.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 27b, no gap"
+ when
+ Foo27( value == 0.0 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Double range 27c, no gap"
+ when
+ Foo27( value < 0.0 )
+ then
+ System.out.println( "Test" );
+end
+*/
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForInts.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,122 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-rule "Integer gap rule 1"
- when
- IntegerPattern1( value == 10 )
- then
- # gap > 10 <.
-end
-
-rule "Integer gap rule 2"
- when
- IntegerPattern2( value >= 15 )
- then
- # gap < 15.
-end
-
-rule "Integer gap rule 3"
- when
- IntegerPattern3( value <= 15 )
- then
- # gap > 15.
-end
-
-rule "Integer gap rule 4a"
- when
- IntegerPattern4( value > 25 )
- then
- # gap == 25.
-end
-
-rule "Integer gap rule 4b"
- when
- IntegerPattern4( value < 25 )
- then
- # gap == 25.
-end
-
-rule "Integer gap rule 5a"
- when
- IntegerPattern5( value > 100 )
- then
- # gap 100 > x > 50.
-end
-
-rule "Integer gap rule 5b"
- when
- IntegerPattern5( value < 50 )
- then
- # gap 100 > x > 50.
-end
-
-rule "Integer gap rule 6a"
- when
- IntegerPattern6( value > 350 )
- then
- # gap < 350.
-end
-
-rule "Integer gap rule 6b"
- when
- IntegerPattern6( value == 350 )
- then
- # gap < 350.
-end
-
-rule "Integer gap rule 7a"
- when
- IntegerPattern7( value < 55 )
- then
- # gap > 55.
-end
-
-rule "Integer gap rule 7b"
- when
- IntegerPattern7( value == 55 )
- then
- # gap > 55.
-end
-
-rule "Integer gap rule 8a"
- when
- IntegerPattern8( value < 333 )
- then
- # No gap
-end
-
-rule "Integer gap rule 8b"
- when
- IntegerPattern8( value == 333 )
- then
- # No gap
-end
-
-rule "Integer gap rule 8c"
- when
- IntegerPattern8( value > 333 )
- then
- # No gap
-end
-
-rule "Integer gap rule 9a"
- when
- IntegerPattern9( value <= 122 )
- then
- # No gap
-end
-
-rule "Integer gap rule 9b"
- when
- IntegerPattern9( value == 123 )
- then
- # No gap
-end
-
-rule "Integer gap rule 9c"
- when
- IntegerPattern9( value >= 124 )
- then
- # No gap
-end
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForInts.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForInts.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,122 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+rule "Integer gap rule 1"
+ when
+ IntegerPattern1( value == 10 )
+ then
+ # gap > 10 <.
+end
+
+rule "Integer gap rule 2"
+ when
+ IntegerPattern2( value >= 15 )
+ then
+ # gap < 15.
+end
+
+rule "Integer gap rule 3"
+ when
+ IntegerPattern3( value <= 15 )
+ then
+ # gap > 15.
+end
+
+rule "Integer gap rule 4a"
+ when
+ IntegerPattern4( value > 25 )
+ then
+ # gap == 25.
+end
+
+rule "Integer gap rule 4b"
+ when
+ IntegerPattern4( value < 25 )
+ then
+ # gap == 25.
+end
+
+rule "Integer gap rule 5a"
+ when
+ IntegerPattern5( value > 100 )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Integer gap rule 5b"
+ when
+ IntegerPattern5( value < 50 )
+ then
+ # gap 100 > x > 50.
+end
+
+rule "Integer gap rule 6a"
+ when
+ IntegerPattern6( value > 350 )
+ then
+ # gap < 350.
+end
+
+rule "Integer gap rule 6b"
+ when
+ IntegerPattern6( value == 350 )
+ then
+ # gap < 350.
+end
+
+rule "Integer gap rule 7a"
+ when
+ IntegerPattern7( value < 55 )
+ then
+ # gap > 55.
+end
+
+rule "Integer gap rule 7b"
+ when
+ IntegerPattern7( value == 55 )
+ then
+ # gap > 55.
+end
+
+rule "Integer gap rule 8a"
+ when
+ IntegerPattern8( value < 333 )
+ then
+ # No gap
+end
+
+rule "Integer gap rule 8b"
+ when
+ IntegerPattern8( value == 333 )
+ then
+ # No gap
+end
+
+rule "Integer gap rule 8c"
+ when
+ IntegerPattern8( value > 333 )
+ then
+ # No gap
+end
+
+rule "Integer gap rule 9a"
+ when
+ IntegerPattern9( value <= 122 )
+ then
+ # No gap
+end
+
+rule "Integer gap rule 9b"
+ when
+ IntegerPattern9( value == 123 )
+ then
+ # No gap
+end
+
+rule "Integer gap rule 9c"
+ when
+ IntegerPattern9( value >= 124 )
+ then
+ # No gap
+end
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForVariables.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,145 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-/*
-#
-# These rules have gaps
-#
-rule "Missing variable range 1a, warning"
- when
- $s :Something( )
- Foo1w( value > $s.a.b.c.d )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 1b, warning"
- when
- $s :Something( )
- Foo1w( value < $s.a.b.c.d )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 2a, warning"
- when
- $s :Something( )
- Foo2w( value > $s.bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 2b, warning"
- when
- $s :Something( )
- Foo2w( value < $s.bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 3a, warning"
- when
- Something( $bar :bar)
- Foo3w( value > $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 3b, warning"
- when
- Something( $bar :bar)
- Foo3w( value < $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 4a, warning"
- when
- Something( $bar :bar)
- Foo4w( value > $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 4b, warning"
- when
- Something( $bar :bar)
- Foo4w( value == $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 5a, warning"
- when
- Something( $bar :bar)
- Foo5w( value < $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 5b, warning"
- when
- Something( $bar :bar)
- Foo5w( value == $bar )
- then
- System.out.println( "Test" );
-end
-*/
-#
-# These rules have no gaps
-#
-rule "Missing variable range 1a, covers all"
- when
- $s :Something( )
- Foo1a( value >= $s.a.b.c.d )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 1b, covers all"
- when
- $s :Something()
- Foo1a( value < $s.a.b.c.d )
- then
- System.out.println( "Test" );
-end
-/*
-rule "Missing variable range 2a, covers all"
- when
- $s :Something()
- Foo2a( value > $s.bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 2b, covers all"
- when
- $s :Something( )
- Foo2a( value =< $s.bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 3a, covers all"
- when
- Something( $bar :bar)
- Foo3a( value > $bar )
- then
- System.out.println( "Test" );
-end
-
-rule "Missing variable range 3b, covers all"
- when
- Something( $bar :bar)
- Foo3a( value == $bar )
- then
- System.out.println( "Test" );
-end
-rule "Missing variable range 3c, covers all"
- when
- Something( $bar :bar)
- Foo3a( value < $bar )
- then
- System.out.println( "Test" );
-end
-*/
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/MissingRangesForVariables.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/MissingRangesForVariables.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,145 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+/*
+#
+# These rules have gaps
+#
+rule "Missing variable range 1a, warning"
+ when
+ $s :Something( )
+ Foo1w( value > $s.a.b.c.d )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 1b, warning"
+ when
+ $s :Something( )
+ Foo1w( value < $s.a.b.c.d )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 2a, warning"
+ when
+ $s :Something( )
+ Foo2w( value > $s.bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 2b, warning"
+ when
+ $s :Something( )
+ Foo2w( value < $s.bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 3a, warning"
+ when
+ Something( $bar :bar)
+ Foo3w( value > $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 3b, warning"
+ when
+ Something( $bar :bar)
+ Foo3w( value < $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 4a, warning"
+ when
+ Something( $bar :bar)
+ Foo4w( value > $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 4b, warning"
+ when
+ Something( $bar :bar)
+ Foo4w( value == $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 5a, warning"
+ when
+ Something( $bar :bar)
+ Foo5w( value < $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 5b, warning"
+ when
+ Something( $bar :bar)
+ Foo5w( value == $bar )
+ then
+ System.out.println( "Test" );
+end
+*/
+#
+# These rules have no gaps
+#
+rule "Missing variable range 1a, covers all"
+ when
+ $s :Something( )
+ Foo1a( value >= $s.a.b.c.d )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 1b, covers all"
+ when
+ $s :Something()
+ Foo1a( value < $s.a.b.c.d )
+ then
+ System.out.println( "Test" );
+end
+/*
+rule "Missing variable range 2a, covers all"
+ when
+ $s :Something()
+ Foo2a( value > $s.bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 2b, covers all"
+ when
+ $s :Something( )
+ Foo2a( value =< $s.bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 3a, covers all"
+ when
+ Something( $bar :bar)
+ Foo3a( value > $bar )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Missing variable range 3b, covers all"
+ when
+ Something( $bar :bar)
+ Foo3a( value == $bar )
+ then
+ System.out.println( "Test" );
+end
+rule "Missing variable range 3c, covers all"
+ when
+ Something( $bar :bar)
+ Foo3a( value < $bar )
+ then
+ System.out.println( "Test" );
+end
+*/
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Overlap.drl 2008-02-22 18:52:27 UTC (rev 18566)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,27 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-/*
-rule "Overlap 1a"
- when
- $s :Something( )
- Foo1w( value > $s )
- then
- System.out.println( "Test" );
-end
-
-rule "Overlap 1b"
- when
- $s :Something( )
- Foo1w( value < $s )
- then
- System.out.println( "Test" );
-end
-*/
-rule "new rule"
- when
- Something( a == "1" )
- then
- System.out.println( "Test" );
-end
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/Overlap.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/Overlap.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -0,0 +1,27 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+/*
+rule "Overlap 1a"
+ when
+ $s :Something( )
+ Foo1w( value > $s )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Overlap 1b"
+ when
+ $s :Something( )
+ Foo1w( value < $s )
+ then
+ System.out.println( "Test" );
+end
+*/
+rule "new rule"
+ when
+ Something( a == "1" )
+ then
+ System.out.println( "Test" );
+end
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/incoherence)
Modified: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/PatternsTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/incoherence/PatternsTest.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/PatternsTest.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,5 +1,5 @@
#created on: 18.10.2007
-package org.drools.analytics.consequence
+package org.drools.verifier.consequence
#list any import classes here.
Modified: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/RestrictionsTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/incoherence/RestrictionsTest.drl 2008-04-11 11:56:28 UTC (rev 19520)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/incoherence/RestrictionsTest.drl 2008-04-11 12:06:11 UTC (rev 19521)
@@ -1,5 +1,5 @@
#created on: 18.10.2007
-package org.drools.analytics.consequence
+package org.drools.verifier.consequence
#list any import classes here.
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/missingEquality (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/missingEquality)
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/optimisation (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/optimisation)
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/verifier/redundancy (from rev 19520, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy)
More information about the jboss-svn-commits
mailing list