[jboss-svn-commits] JBL Code SVN: r20398 - in labs/jbossrules/trunk/drools-verifier/src: main/java/org/drools/verifier/components and 27 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 10 07:03:27 EDT 2008
Author: Rikkola
Date: 2008-06-10 07:03:26 -0400 (Tue, 10 Jun 2008)
New Revision: 20398
Added:
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Verifier.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccessorDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccumulateDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierClass.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierCollectDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponent.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponentType.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierEvalDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFieldAccessDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFromDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFunctionCallDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierMethodAccessDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierPredicateDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierRule.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResult.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultFactory.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultNormal.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessage.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessageBase.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierRangeCheckMessage.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/VerifierMessagesVisitor.java
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysFalse/
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysFalse/Patterns.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysTrue/
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Patterns.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Patterns.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Rules.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/overlaps/
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/overlaps/Restrictions.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/NumberPatterns.drl
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/alwaysFalse/
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/alwaysFalse/AlwaysFalsePatternsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityPatternsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositePatternsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositeRestrictionsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositesBase.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/overlaps/
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/overlaps/OverlappingRestrictionsTest.java
Modified:
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleLoader.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleSolver.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solver.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solvers.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Constraint.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/OperatorDescr.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/PatternPossibility.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePackage.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePossibility.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/TextConsequence.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Variable.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/ReportModeller.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/CauseType.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Gap.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Incompatibility.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingRange.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Opposites.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Redundancy.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Subsumption.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ReportModeller.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/UrlFactory.java
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/Consequence.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/equivalence/Rules.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Patterns.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Restrictions.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Consequence.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Notes.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Rules.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Warnings.drl
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/ConsequenceTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/PatternSolverTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckCleanTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDatesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SolversTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/TestBase.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/NotesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/WarningsTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java
Log:
JBRULES-1555: Changing the analytics name to verifier
-Added some missing files
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -31,19 +31,19 @@
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.VerifierAccessorDescr;
+import org.drools.verifier.components.VerifierAccumulateDescr;
+import org.drools.verifier.components.VerifierClass;
+import org.drools.verifier.components.VerifierCollectDescr;
+import org.drools.verifier.components.VerifierComponent;
+import org.drools.verifier.components.VerifierComponentType;
+import org.drools.verifier.components.VerifierEvalDescr;
+import org.drools.verifier.components.VerifierFieldAccessDescr;
+import org.drools.verifier.components.VerifierFromDescr;
+import org.drools.verifier.components.VerifierFunctionCallDescr;
+import org.drools.verifier.components.VerifierMethodAccessDescr;
+import org.drools.verifier.components.VerifierPredicateDescr;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.components.Consequence;
import org.drools.verifier.components.Constraint;
import org.drools.verifier.components.Field;
@@ -58,7 +58,7 @@
import org.drools.verifier.components.TextConsequence;
import org.drools.verifier.components.Variable;
import org.drools.verifier.components.VariableRestriction;
-import org.drools.verifier.dao.AnalyticsData;
+import org.drools.verifier.dao.VerifierData;
/**
* @author Toni Rikkola
@@ -68,25 +68,25 @@
private Solvers solvers = new Solvers();
- private AnalyticsData data;
+ private VerifierData data;
private RulePackage currentPackage = null;
- private AnalyticsRule currentRule = null;
+ private VerifierRule currentRule = null;
private Pattern currentPattern = null;
private Constraint currentConstraint = null;
- private AnalyticsClass currentClass = null;
+ private VerifierClass currentClass = null;
private Field currentField = null;
/**
- * Adds packageDescr to given AnalyticsData object
+ * Adds packageDescr to given VerifierData object
*
* @param packageDescr
* PackageDescr that will be flattened.
* @param data
- * AnalyticsData where the flattened objects are added.
+ * VerifierData where the flattened objects are added.
*/
public void addPackageDescrToData(PackageDescr packageDescr,
- AnalyticsData data) {
+ VerifierData data) {
this.data = data;
@@ -95,7 +95,7 @@
formPossibilities();
}
- private void flatten(Collection<?> descrs, AnalyticsComponent parent) {
+ private void flatten(Collection<?> descrs, VerifierComponent parent) {
int orderNumber = 0;
@@ -143,8 +143,8 @@
}
}
- private AnalyticsComponent flatten(PatternSourceDescr descr,
- AnalyticsComponent parent) {
+ private VerifierComponent flatten(PatternSourceDescr descr,
+ VerifierComponent parent) {
if (descr instanceof AccumulateDescr) {
return flatten((AccumulateDescr) descr, parent);
} else if (descr instanceof CollectDescr) {
@@ -156,8 +156,8 @@
return null;
}
- private AnalyticsComponent flatten(DeclarativeInvokerDescr descr,
- AnalyticsComponent parent) {
+ private VerifierComponent flatten(DeclarativeInvokerDescr descr,
+ VerifierComponent parent) {
if (descr instanceof AccessorDescr) {
return flatten((AccessorDescr) descr, parent);
} else if (descr instanceof FieldAccessDescr) {
@@ -172,7 +172,7 @@
}
private void flatten(ConditionalElementDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
if (descr instanceof AndDescr) {
flatten((AndDescr) descr, parent, orderNumber);
} else if (descr instanceof CollectDescr) {
@@ -192,19 +192,19 @@
}
}
- private void flatten(ForallDescr descr, AnalyticsComponent parent) {
+ private void flatten(ForallDescr descr, VerifierComponent parent) {
solvers.startForall();
flatten(descr.getDescrs(), parent);
solvers.endForall();
}
- private void flatten(ExistsDescr descr, AnalyticsComponent parent) {
+ private void flatten(ExistsDescr descr, VerifierComponent parent) {
solvers.startExists();
flatten(descr.getDescrs(), parent);
solvers.endExists();
}
- private void flatten(NotDescr descr, AnalyticsComponent parent) {
+ private void flatten(NotDescr descr, VerifierComponent parent) {
solvers.startNot();
flatten(descr.getDescrs(), parent);
solvers.endNot();
@@ -216,9 +216,9 @@
* @param descr
* @return
*/
- private AnalyticsFunctionCallDescr flatten(FunctionCallDescr descr,
- AnalyticsComponent parent, int orderNumber) {
- AnalyticsFunctionCallDescr functionCall = new AnalyticsFunctionCallDescr();
+ private VerifierFunctionCallDescr flatten(FunctionCallDescr descr,
+ VerifierComponent parent, int orderNumber) {
+ VerifierFunctionCallDescr functionCall = new VerifierFunctionCallDescr();
functionCall.setName(descr.getName());
functionCall.setArguments(descr.getArguments());
functionCall.setOrderNumber(orderNumber);
@@ -233,10 +233,10 @@
* @param descr
* @return
*/
- private AnalyticsPredicateDescr flatten(PredicateDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ private VerifierPredicateDescr flatten(PredicateDescr descr,
+ VerifierComponent parent, int orderNumber) {
- AnalyticsPredicateDescr predicate = new AnalyticsPredicateDescr();
+ VerifierPredicateDescr predicate = new VerifierPredicateDescr();
predicate.setRuleName(currentRule.getRuleName());
predicate.setRuleId(currentRule.getId());
predicate.setContent(descr.getContent().toString());
@@ -255,10 +255,10 @@
* @param descr
* @return
*/
- private AnalyticsEvalDescr flatten(EvalDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ private VerifierEvalDescr flatten(EvalDescr descr,
+ VerifierComponent parent, int orderNumber) {
- AnalyticsEvalDescr eval = new AnalyticsEvalDescr();
+ VerifierEvalDescr eval = new VerifierEvalDescr();
eval.setRuleId(currentRule.getId());
eval.setRuleName(currentRule.getRuleName());
eval.setContent(descr.getContent().toString());
@@ -277,11 +277,11 @@
* @param descr
* @return
*/
- private AnalyticsFromDescr flatten(FromDescr descr,
- AnalyticsComponent parent) {
- AnalyticsFromDescr from = new AnalyticsFromDescr();
+ private VerifierFromDescr flatten(FromDescr descr,
+ VerifierComponent parent) {
+ VerifierFromDescr from = new VerifierFromDescr();
- AnalyticsComponent ds = flatten(descr.getDataSource(), from);
+ VerifierComponent ds = flatten(descr.getDataSource(), from);
from.setDataSourceId(ds.getId());
from.setDataSourceType(ds.getComponentType());
from.setParent(parent);
@@ -289,9 +289,9 @@
return from;
}
- private AnalyticsAccumulateDescr flatten(AccumulateDescr descr,
- AnalyticsComponent parent) {
- AnalyticsAccumulateDescr accumulate = new AnalyticsAccumulateDescr();
+ private VerifierAccumulateDescr flatten(AccumulateDescr descr,
+ VerifierComponent parent) {
+ VerifierAccumulateDescr accumulate = new VerifierAccumulateDescr();
accumulate.setInputPatternId(flatten(descr.getInputPattern(),
accumulate, 0));
@@ -312,9 +312,9 @@
return accumulate;
}
- private AnalyticsCollectDescr flatten(CollectDescr descr,
- AnalyticsComponent parent) {
- AnalyticsCollectDescr collect = new AnalyticsCollectDescr();
+ private VerifierCollectDescr flatten(CollectDescr descr,
+ VerifierComponent parent) {
+ VerifierCollectDescr collect = new VerifierCollectDescr();
collect.setClassMethodName(descr.getClassMethodName());
collect
.setInsidePatternId(flatten(descr.getInputPattern(), collect, 0));
@@ -323,9 +323,9 @@
return collect;
}
- private AnalyticsAccessorDescr flatten(AccessorDescr descr,
- AnalyticsComponent parent, int orderNumber) {
- AnalyticsAccessorDescr accessor = new AnalyticsAccessorDescr();
+ private VerifierAccessorDescr flatten(AccessorDescr descr,
+ VerifierComponent parent, int orderNumber) {
+ VerifierAccessorDescr accessor = new VerifierAccessorDescr();
accessor.setOrderNumber(orderNumber);
accessor.setParent(parent);
// TODO: I wonder what this descr does.
@@ -337,9 +337,9 @@
*
* @param descr
*/
- private AnalyticsMethodAccessDescr flatten(MethodAccessDescr descr,
- AnalyticsComponent parent, int orderNumber) {
- AnalyticsMethodAccessDescr accessor = new AnalyticsMethodAccessDescr();
+ private VerifierMethodAccessDescr flatten(MethodAccessDescr descr,
+ VerifierComponent parent, int orderNumber) {
+ VerifierMethodAccessDescr accessor = new VerifierMethodAccessDescr();
accessor.setMethodName(descr.getMethodName());
accessor.setArguments(descr.getArguments());
accessor.setOrderNumber(orderNumber);
@@ -353,9 +353,9 @@
*
* @param descr
*/
- private AnalyticsFieldAccessDescr flatten(FieldAccessDescr descr,
- AnalyticsComponent parent, int orderNumber) {
- AnalyticsFieldAccessDescr accessor = new AnalyticsFieldAccessDescr();
+ private VerifierFieldAccessDescr flatten(FieldAccessDescr descr,
+ VerifierComponent parent, int orderNumber) {
+ VerifierFieldAccessDescr accessor = new VerifierFieldAccessDescr();
accessor.setFieldName(descr.getFieldName());
accessor.setArgument(descr.getArgument());
accessor.setOrderNumber(orderNumber);
@@ -379,9 +379,9 @@
flatten(descr.getRules(), rulePackage);
}
- private void flatten(RuleDescr descr, AnalyticsComponent parent) {
+ private void flatten(RuleDescr descr, VerifierComponent parent) {
- AnalyticsRule rule = new AnalyticsRule();
+ VerifierRule rule = new VerifierRule();
currentRule = rule;
rule.setRuleName(descr.getName());
@@ -406,9 +406,9 @@
*
* @param o
* Consequence object.
- * @return Analytics object that implements the Consequence interface.
+ * @return Verifier object that implements the Consequence interface.
*/
- private Consequence flattenConsequence(AnalyticsComponent parent, Object o) {
+ private Consequence flattenConsequence(VerifierComponent parent, Object o) {
TextConsequence consequence = new TextConsequence();
@@ -446,7 +446,7 @@
return consequence;
}
- private void flatten(OrDescr descr, AnalyticsComponent parent,
+ private void flatten(OrDescr descr, VerifierComponent parent,
int orderNumber) {
OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.OR);
operatorDescr.setOrderNumber(orderNumber);
@@ -459,7 +459,7 @@
solvers.endOperator();
}
- private void flatten(AndDescr descr, AnalyticsComponent parent,
+ private void flatten(AndDescr descr, VerifierComponent parent,
int orderNumber) {
OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.AND);
operatorDescr.setOrderNumber(orderNumber);
@@ -472,13 +472,13 @@
solvers.endOperator();
}
- private int flatten(PatternDescr descr, AnalyticsComponent parent,
+ private int flatten(PatternDescr descr, VerifierComponent parent,
int orderNumber) {
- AnalyticsClass clazz = data.getClassByPackageAndName(descr
+ VerifierClass clazz = data.getClassByPackageAndName(descr
.getObjectType());
if (clazz == null) {
- clazz = new AnalyticsClass();
+ clazz = new VerifierClass();
clazz.setName(descr.getObjectType());
data.add(clazz);
}
@@ -504,7 +504,7 @@
variable.setRuleName(currentRule.getRuleName());
variable.setName(descr.getIdentifier());
- variable.setObjectType(AnalyticsComponentType.CLASS);
+ variable.setObjectType(VerifierComponentType.CLASS);
variable.setObjectId(clazz.getId());
variable.setObjectName(descr.getObjectType());
@@ -513,12 +513,12 @@
// flatten source.
if (descr.getSource() != null) {
- AnalyticsComponent source = flatten(descr.getSource(), pattern);
+ VerifierComponent source = flatten(descr.getSource(), pattern);
pattern.setSourceId(source.getId());
pattern.setSourceType(source.getComponentType());
} else {
pattern.setSourceId(0);
- pattern.setSourceType(AnalyticsComponentType.NOTHING);
+ pattern.setSourceType(VerifierComponentType.NOTHING);
}
solvers.startPatternSolver(pattern);
flatten(descr.getConstraint(), pattern, 0);
@@ -527,7 +527,7 @@
return pattern.getId();
}
- private void flatten(FieldConstraintDescr descr, AnalyticsComponent parent,
+ private void flatten(FieldConstraintDescr descr, VerifierComponent parent,
int orderNumber) {
Field field = data.getFieldByClassAndFieldName(currentClass.getName(),
@@ -558,7 +558,7 @@
}
private void flatten(RestrictionConnectiveDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
// TODO: check.
flatten(descr.getRestrictions(), parent);
}
@@ -568,7 +568,7 @@
*
* @param descr
*/
- private void flatten(FieldBindingDescr descr, AnalyticsComponent parent,
+ private void flatten(FieldBindingDescr descr, VerifierComponent parent,
int orderNumber) {
Variable variable = new Variable();
@@ -578,7 +578,7 @@
variable.setOrderNumber(orderNumber);
variable.setParent(parent);
- variable.setObjectType(AnalyticsComponentType.FIELD);
+ variable.setObjectType(VerifierComponentType.FIELD);
data.add(variable);
}
@@ -592,7 +592,7 @@
* @param descr
*/
private void flatten(VariableRestrictionDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
Variable variable = data.getVariableByRuleAndVariableName(currentRule
.getRuleName(), descr.getIdentifier());
@@ -623,7 +623,7 @@
* @param descr
*/
private void flatten(ReturnValueRestrictionDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
ReturnValueRestriction restriction = new ReturnValueRestriction();
@@ -652,7 +652,7 @@
* @param descr
*/
private void flatten(LiteralRestrictionDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
LiteralRestriction restriction = new LiteralRestriction();
@@ -682,7 +682,7 @@
* @param descr
*/
private void flatten(QualifiedIdentifierRestrictionDescr descr,
- AnalyticsComponent parent, int orderNumber) {
+ VerifierComponent parent, int orderNumber) {
String text = descr.getText();
Variable variable = data.getVariableByRuleAndVariableName(currentRule
@@ -706,7 +706,7 @@
// Set field value, if it is unset.
currentField.setFieldType(Field.FieldType.VARIABLE);
- variable.setObjectType(AnalyticsComponentType.FIELD);
+ variable.setObjectType(VerifierComponentType.FIELD);
data.add(restriction);
solvers.addRestriction(restriction);
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleLoader.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleLoader.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -29,7 +29,7 @@
// Range checks
"rangeChecks/Dates.drl", "rangeChecks/Doubles.drl",
"rangeChecks/Integers.drl",
- "rangeChecks/Patterns.drl",
+ "rangeChecks/NumberPatterns.drl",
"rangeChecks/Variables.drl",
"rangeChecks/Clean.drl",
// Redundancy
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleSolver.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/RuleSolver.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,6 +1,6 @@
package org.drools.verifier;
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.components.OperatorDescr;
/**
@@ -10,14 +10,14 @@
*/
class RuleSolver extends Solver {
- private AnalyticsRule rule;
+ private VerifierRule rule;
- public RuleSolver(AnalyticsRule rule) {
+ public RuleSolver(VerifierRule rule) {
super(OperatorDescr.Type.OR);
- this.rule = (AnalyticsRule) rule;
+ this.rule = (VerifierRule) rule;
}
- public AnalyticsRule getRule() {
+ public VerifierRule getRule() {
return rule;
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solver.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solver.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solver.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -5,7 +5,7 @@
import java.util.List;
import java.util.Set;
-import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.VerifierComponent;
import org.drools.verifier.components.OperatorDescr;
@@ -17,7 +17,7 @@
*/
class Solver {
- private List<Set<AnalyticsComponent>> possibilityLists = new ArrayList<Set<AnalyticsComponent>>();
+ private List<Set<VerifierComponent>> possibilityLists = new ArrayList<Set<VerifierComponent>>();
private Solver subSolver = null;
private boolean isChildExists = false;
private boolean isChildForall = false;
@@ -29,7 +29,7 @@
this.type = type;
}
- public void add(AnalyticsComponent descr) {
+ public void add(VerifierComponent descr) {
if (subSolver != null) {
subSolver.add(descr);
} else if (descr instanceof OperatorDescr) {
@@ -38,13 +38,13 @@
} else {
if (type == OperatorDescr.Type.AND) {
if (possibilityLists.isEmpty()) {
- possibilityLists.add(new HashSet<AnalyticsComponent>());
+ possibilityLists.add(new HashSet<VerifierComponent>());
}
- for (Set<AnalyticsComponent> set : possibilityLists) {
+ for (Set<VerifierComponent> set : possibilityLists) {
set.add(descr);
}
} else if (type == OperatorDescr.Type.OR) {
- Set<AnalyticsComponent> set = new HashSet<AnalyticsComponent>();
+ Set<VerifierComponent> set = new HashSet<VerifierComponent>();
set.add(descr);
possibilityLists.add(set);
}
@@ -59,17 +59,17 @@
if (subSolver != null && subSolver.subSolver == null) {
if (type == OperatorDescr.Type.AND) {
if (possibilityLists.isEmpty()) {
- possibilityLists.add(new HashSet<AnalyticsComponent>());
+ possibilityLists.add(new HashSet<VerifierComponent>());
}
- List<Set<AnalyticsComponent>> newPossibilities = new ArrayList<Set<AnalyticsComponent>>();
+ List<Set<VerifierComponent>> newPossibilities = new ArrayList<Set<VerifierComponent>>();
- List<Set<AnalyticsComponent>> sets = subSolver
+ List<Set<VerifierComponent>> sets = subSolver
.getPossibilityLists();
- for (Set<AnalyticsComponent> possibilityList : possibilityLists) {
+ for (Set<VerifierComponent> possibilityList : possibilityLists) {
- for (Set<AnalyticsComponent> set : sets) {
- Set<AnalyticsComponent> newSet = new HashSet<AnalyticsComponent>();
+ for (Set<VerifierComponent> set : sets) {
+ Set<VerifierComponent> newSet = new HashSet<VerifierComponent>();
newSet.addAll(possibilityList);
newSet.addAll(set);
newPossibilities.add(newSet);
@@ -140,7 +140,7 @@
}
}
- public List<Set<AnalyticsComponent>> getPossibilityLists() {
+ public List<Set<VerifierComponent>> getPossibilityLists() {
return possibilityLists;
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solvers.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solvers.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Solvers.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,8 +4,8 @@
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.VerifierComponent;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.components.OperatorDescr;
import org.drools.verifier.components.Pattern;
import org.drools.verifier.components.PatternPossibility;
@@ -24,7 +24,7 @@
private List<PatternPossibility> patternPossibilities = new ArrayList<PatternPossibility>();
private List<RulePossibility> rulePossibilities = new ArrayList<RulePossibility>();
- public void startRuleSolver(AnalyticsRule rule) {
+ public void startRuleSolver(VerifierRule rule) {
ruleSolver = new RuleSolver(rule);
}
@@ -113,7 +113,7 @@
}
private void createPatternPossibilities() {
- for (Set<AnalyticsComponent> list : patternSolver.getPossibilityLists()) {
+ for (Set<VerifierComponent> list : patternSolver.getPossibilityLists()) {
PatternPossibility possibility = new PatternPossibility();
possibility.setRuleId(ruleSolver.getRule().getId());
@@ -121,7 +121,7 @@
possibility.setRuleId(ruleSolver.getRule().getId());
possibility.setPatternId(patternSolver.getPattern().getId());
- for (AnalyticsComponent descr : list) {
+ for (VerifierComponent descr : list) {
possibility.add((Restriction) descr);
}
@@ -131,14 +131,14 @@
}
private void createRulePossibilities() {
- for (Set<AnalyticsComponent> list : ruleSolver.getPossibilityLists()) {
+ for (Set<VerifierComponent> 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) {
+ for (VerifierComponent descr : list) {
PatternPossibility patternPossibility = (PatternPossibility) descr;
possibility.add(patternPossibility);
}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Verifier.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Verifier.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/Verifier.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+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 Verifier {
+
+ static RuleBase verifierKnowledgeBase;
+
+
+ private VerifierResult result = VerifierResultFactory
+ .createVerifierResult();
+
+ public void addPackageDescr(PackageDescr descr) {
+ try {
+
+ PackageDescrFlattener ruleFlattener = new PackageDescrFlattener();
+
+ ruleFlattener.addPackageDescrToData(descr, result
+ .getVerifierData());
+
+ } 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.getVerifierData().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 VerifierResult 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;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Constraint.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Constraint.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Constraint.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,7 +7,7 @@
*
* @author Toni Rikkola
*/
-public class Constraint extends AnalyticsComponent implements Cause {
+public class Constraint extends VerifierComponent implements Cause {
private static int index = 0;
@@ -23,8 +23,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.CONSTRAINT;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.CONSTRAINT;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,7 +7,7 @@
*
* @author Toni Rikkola
*/
-public class Field extends AnalyticsComponent implements Cause {
+public class Field extends VerifierComponent implements Cause {
public static class FieldType {
public static final FieldType BOOLEAN = new FieldType("boolean");
@@ -44,8 +44,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FIELD;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.FIELD;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,7 +4,7 @@
*
* @author Toni Rikkola
*/
-public class FieldClassLink extends AnalyticsComponent {
+public class FieldClassLink extends VerifierComponent {
private static int index = 0;
@@ -16,8 +16,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.FIELD_CLASS_LINK;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.FIELD_CLASS_LINK;
}
public int getClassId() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/OperatorDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/OperatorDescr.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/OperatorDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -6,7 +6,7 @@
*
* @author Toni Rikkola
*/
-public class OperatorDescr extends AnalyticsComponent implements Serializable {
+public class OperatorDescr extends VerifierComponent implements Serializable {
private static final long serialVersionUID = 8393994152436331910L;
private static int index = 0;
@@ -34,8 +34,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.OPERATOR;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.OPERATOR;
}
public Type getType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,7 +7,7 @@
*
* @author Toni Rikkola
*/
-public class Pattern extends AnalyticsComponent implements Cause {
+public class Pattern extends VerifierComponent implements Cause {
private static final long serialVersionUID = 5852308145251025423L;
@@ -16,7 +16,7 @@
private int ruleId;
private int classId;
private String name;
- private AnalyticsComponentType sourceType = AnalyticsComponentType.NOTHING;
+ private VerifierComponentType sourceType = VerifierComponentType.NOTHING;
private int sourceId = -1;
private boolean isPatternNot = false;
@@ -28,8 +28,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.PATTERN;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.PATTERN;
}
public CauseType getCauseType() {
@@ -84,11 +84,11 @@
this.sourceId = sourceId;
}
- public AnalyticsComponentType getSourceType() {
+ public VerifierComponentType getSourceType() {
return sourceType;
}
- public void setSourceType(AnalyticsComponentType sourceType) {
+ public void setSourceType(VerifierComponentType sourceType) {
this.sourceType = sourceType;
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/PatternPossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/PatternPossibility.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/PatternPossibility.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -13,7 +13,7 @@
*
* @author Toni Rikkola
*/
-public class PatternPossibility extends AnalyticsComponent implements
+public class PatternPossibility extends VerifierComponent implements
Possibility {
private static final long serialVersionUID = 8871361928380977116L;
@@ -28,8 +28,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.PATTERN_POSSIBILITY;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.PATTERN_POSSIBILITY;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,7 +8,7 @@
*
* @author Toni Rikkola
*/
-public abstract class Restriction extends AnalyticsComponent implements Cause {
+public abstract class Restriction extends VerifierComponent implements Cause {
public static class RestrictionType {
public static final RestrictionType LITERAL = new RestrictionType(0);
@@ -41,8 +41,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RESTRICTION;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.RESTRICTION;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePackage.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePackage.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePackage.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,21 +7,21 @@
*
* @author Toni Rikkola
*/
-public class RulePackage extends AnalyticsComponent {
+public class RulePackage extends VerifierComponent {
private static int index = 0;
private int offset = 0;
private String name;
- private Set<AnalyticsRule> rules = new HashSet<AnalyticsRule>();
+ private Set<VerifierRule> rules = new HashSet<VerifierRule>();
public RulePackage() {
super(index++);
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RULE_PACKAGE;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.RULE_PACKAGE;
}
public int getOffset(){
@@ -37,11 +37,11 @@
this.name = name;
}
- public Set<AnalyticsRule> getRules() {
+ public Set<VerifierRule> getRules() {
return rules;
}
- public void setRules(Set<AnalyticsRule> rules) {
+ public void setRules(Set<VerifierRule> rules) {
this.rules = rules;
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePossibility.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/RulePossibility.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -14,7 +14,7 @@
*
* @author Toni Rikkola
*/
-public class RulePossibility extends AnalyticsComponent implements
+public class RulePossibility extends VerifierComponent implements
Serializable, Possibility {
private static final long serialVersionUID = 8871361928380977116L;
@@ -28,8 +28,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.RULE_POSSIBILITY;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.RULE_POSSIBILITY;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/TextConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/TextConsequence.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/TextConsequence.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,7 @@
import org.drools.verifier.report.components.CauseType;
-public class TextConsequence extends AnalyticsComponent implements Consequence {
+public class TextConsequence extends VerifierComponent implements Consequence {
private static int index = 0;
private String text;
@@ -16,8 +16,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.CONSEQUENCE;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.CONSEQUENCE;
}
public CauseType getCauseType() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Variable.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Variable.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Variable.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,12 +4,12 @@
*
* @author Toni Rikkola
*/
-public class Variable extends AnalyticsComponent {
+public class Variable extends VerifierComponent {
private static int index;
private int ruleId;
- private AnalyticsComponentType objectType;
+ private VerifierComponentType objectType;
private int objectId;
private String objectName;
private String name;
@@ -19,8 +19,8 @@
}
@Override
- public AnalyticsComponentType getComponentType() {
- return AnalyticsComponentType.VARIABLE;
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.VARIABLE;
}
public int getRuleId() {
@@ -39,13 +39,13 @@
this.objectId = variableId;
}
- public AnalyticsComponentType getObjectType() {
+ public VerifierComponentType getObjectType() {
return objectType;
}
- public void setObjectType(AnalyticsComponentType type) {
- // AnalyticsComponentType.CLASS dominates AnalyticsComponentType.FIELD.
- if (objectType == null || objectType != AnalyticsComponentType.CLASS) {
+ public void setObjectType(VerifierComponentType type) {
+ // VerifierComponentType.CLASS dominates VerifierComponentType.FIELD.
+ if (objectType == null || objectType != VerifierComponentType.CLASS) {
this.objectType = type;
}
}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccessorDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccessorDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccessorDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,19 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierAccessorDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ public VerifierAccessorDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.ACCESSOR;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccumulateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccumulateDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierAccumulateDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,111 @@
+package org.drools.verifier.components;
+
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierAccumulateDescr extends VerifierComponent {
+
+ 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 VerifierAccumulateDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierClass.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierClass.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierClass.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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 VerifierClass 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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierCollectDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierCollectDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierCollectDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierCollectDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ private int insidePatternId;
+ private String classMethodName;
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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 VerifierCollectDescr() {
+ super(index++);
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponent.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponent.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponent.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,68 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public abstract class VerifierComponent implements
+ Comparable<VerifierComponent> {
+
+ protected String ruleName;
+ protected int ruleId;
+ protected int id;
+
+ protected VerifierComponent parent;
+
+ // Order number of this instance under parent.
+ protected int orderNumber = 0;
+
+ public abstract VerifierComponentType getComponentType();
+
+ public int compareTo(VerifierComponent o) {
+ if (id == o.getId()) {
+ return 0;
+ }
+
+ return (id > o.getId() ? 1 : -1);
+ }
+
+ public VerifierComponent(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getRuleName() {
+ return ruleName;
+ }
+
+ public void setRuleName(String ruleName) {
+ this.ruleName = ruleName;
+ }
+
+ public VerifierComponent getParent() {
+ return parent;
+ }
+
+ public void setParent(VerifierComponent 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
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponentType.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponentType.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierComponentType.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,37 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierComponentType{
+ public static final VerifierComponentType NOTHING = new VerifierComponentType(0);
+ public static final VerifierComponentType CLASS = new VerifierComponentType(1);
+ public static final VerifierComponentType FIELD = new VerifierComponentType(2);
+ public static final VerifierComponentType RULE = new VerifierComponentType(3);
+ public static final VerifierComponentType CONSTRAINT = new VerifierComponentType(4);
+ public static final VerifierComponentType VARIABLE = new VerifierComponentType(5);
+ public static final VerifierComponentType PATTERN = new VerifierComponentType(6);
+ public static final VerifierComponentType PATTERN_POSSIBILITY = new VerifierComponentType(7);
+ public static final VerifierComponentType RULE_POSSIBILITY = new VerifierComponentType(8);
+ public static final VerifierComponentType RESTRICTION =new VerifierComponentType(9);
+ public static final VerifierComponentType OPERATOR = new VerifierComponentType(10);
+ public static final VerifierComponentType FIELD_CLASS_LINK = new VerifierComponentType(11);
+ public static final VerifierComponentType COLLECT = new VerifierComponentType(12);
+ public static final VerifierComponentType ACCUMULATE = new VerifierComponentType(13);
+ public static final VerifierComponentType FROM = new VerifierComponentType(14);
+ public static final VerifierComponentType EVAL = new VerifierComponentType(15);
+ public static final VerifierComponentType PREDICATE = new VerifierComponentType(16);
+ public static final VerifierComponentType METHOD_ACCESSOR = new VerifierComponentType(17);
+ public static final VerifierComponentType FIELD_ACCESSOR = new VerifierComponentType(18);
+ public static final VerifierComponentType FUNCTION_CALL = new VerifierComponentType(19);
+ public static final VerifierComponentType ACCESSOR = new VerifierComponentType(20);
+ public static final VerifierComponentType RULE_PACKAGE = new VerifierComponentType(21);
+ public static final VerifierComponentType CONSEQUENCE = new VerifierComponentType(22);
+
+ private final int index;
+
+ private VerifierComponentType(int i) {
+ index = i;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierEvalDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierEvalDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierEvalDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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 VerifierEvalDescr extends VerifierComponent implements Cause {
+
+ private static int index = 0;
+
+ private String content;
+ private String classMethodName;
+
+ public VerifierEvalDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFieldAccessDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFieldAccessDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFieldAccessDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierFieldAccessDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ private String fieldName;
+ private String argument;
+
+ public VerifierFieldAccessDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFromDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFromDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFromDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierFromDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ private VerifierComponentType dataSourceType;
+ private int dataSourceId;
+
+ public VerifierFromDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.FROM;
+ }
+
+ public int getDataSourceId() {
+ return dataSourceId;
+ }
+
+ public void setDataSourceId(int dataSourceId) {
+ this.dataSourceId = dataSourceId;
+ }
+
+ public VerifierComponentType getDataSourceType() {
+ return dataSourceType;
+ }
+
+ public void setDataSourceType(VerifierComponentType dataSourceType) {
+ this.dataSourceType = dataSourceType;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFunctionCallDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFunctionCallDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierFunctionCallDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierFunctionCallDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ private String name;
+ private String arguments;
+
+ public VerifierFunctionCallDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierMethodAccessDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierMethodAccessDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierMethodAccessDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierMethodAccessDescr extends VerifierComponent {
+
+ private static int index = 0;
+
+ private String methodName;
+ private String arguments;
+
+ public VerifierMethodAccessDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierPredicateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierPredicateDescr.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierPredicateDescr.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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 VerifierPredicateDescr extends VerifierComponent implements
+ Cause {
+
+ private static int index = 0;
+
+ private String content;
+ private String classMethodName;
+
+ public VerifierPredicateDescr() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierRule.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierRule.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/VerifierRule.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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 VerifierRule extends VerifierComponent implements Cause {
+
+ private static int index = 0;
+
+ private String ruleSalience;
+ private String ruleAgendaGroup;
+ private Consequence consequence;
+ private int lineNumber;
+
+ private int packageId;
+
+ public VerifierRule() {
+ super(index++);
+ ruleId = index;
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.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;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,89 @@
+package org.drools.verifier.dao;
+
+import java.util.Collection;
+
+import org.drools.verifier.components.VerifierClass;
+import org.drools.verifier.components.VerifierEvalDescr;
+import org.drools.verifier.components.VerifierPredicateDescr;
+import org.drools.verifier.components.VerifierRule;
+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 VerifierData {
+
+ public void add(Consequence consequence);
+
+ public void add(VerifierClass clazz);
+
+ public void add(Field field);
+
+ public void add(Variable variable);
+
+ public void add(VerifierRule 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 VerifierClass getClassByPackageAndName(String name);
+
+ public VerifierClass 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<VerifierRule> getAllRules();
+
+ public Collection<VerifierClass> getClassesByRuleName(String ruleName);
+
+ public Collection<VerifierClass> getAllClasses();
+
+ public Collection<RulePackage> getAllRulePackages();
+
+ public Collection<Field> getFieldsByClassId(int id);
+
+ public Collection<VerifierRule> getRulesByClassId(int id);
+
+ public Collection<Field> getAllFields();
+
+ public Collection<VerifierRule> getRulesByFieldId(int id);
+
+ public RulePackage getRulePackageByName(String name);
+
+ public Collection<Restriction> getRestrictionsByFieldId(int id);
+
+ public void add(OperatorDescr operatorDescr);
+
+ public void add(VerifierEvalDescr eval);
+
+ public void add(VerifierPredicateDescr predicate);
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.VerifierClass;
+import org.drools.verifier.components.VerifierEvalDescr;
+import org.drools.verifier.components.VerifierPredicateDescr;
+import org.drools.verifier.components.VerifierRule;
+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 VerifierDataMaps implements VerifierData {
+
+ private Map<Integer, RulePackage> packagesById = new TreeMap<Integer, RulePackage>();
+ private Map<String, RulePackage> packagesByName = new TreeMap<String, RulePackage>();
+
+ private Map<Integer, VerifierClass> classesById = new TreeMap<Integer, VerifierClass>();
+ private Map<String, VerifierClass> classesByName = new TreeMap<String, VerifierClass>();
+ 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, VerifierRule> rulesById = new TreeMap<Integer, VerifierRule>();
+ 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, VerifierEvalDescr> evalsById = new TreeMap<Integer, VerifierEvalDescr>();
+ private Map<Integer, VerifierPredicateDescr> predicatesById = new TreeMap<Integer, VerifierPredicateDescr>();
+ 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(VerifierClass clazz) {
+ classesById.put(Integer.valueOf(clazz.getId()), clazz);
+ classesByName.put(clazz.getName(), clazz);
+ }
+
+ public void add(Field field) {
+ VerifierClass 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(VerifierRule 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 VerifierClass 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<VerifierRule> 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<VerifierClass> getClassesByRuleName(String ruleName) {
+ Set<VerifierClass> set = new HashSet<VerifierClass>();
+
+ for (Pattern pattern : patternsByRuleName.getBranch(ruleName)) {
+ VerifierClass clazz = getClassById(pattern.getClassId());
+ set.add(clazz);
+ }
+
+ return set;
+ }
+
+ public VerifierClass 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<VerifierClass> getAllClasses() {
+ return classesById.values();
+ }
+
+ public Collection<Field> getFieldsByClassId(int id) {
+ return fieldsByClassId.getBranch(id);
+ }
+
+ public Collection<VerifierRule> getRulesByClassId(int id) {
+ Set<VerifierRule> rules = new HashSet<VerifierRule>();
+
+ for (Pattern pattern : patternsByClassId.getBranch(id)) {
+ rules.add(rulesById.get(pattern.getRuleId()));
+ }
+
+ return rules;
+ }
+
+ public Collection<Field> getAllFields() {
+ return fieldsById.values();
+ }
+
+ public Collection<VerifierRule> getRulesByFieldId(int id) {
+
+ Set<VerifierRule> rules = new HashSet<VerifierRule>();
+
+ 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(VerifierEvalDescr eval) {
+ evalsById.put(eval.getId(), eval);
+ }
+
+ public void add(VerifierPredicateDescr predicate) {
+ predicatesById.put(predicate.getId(), predicate);
+ }
+
+ public void add(Consequence consequence) {
+ consiquencesById.put(consequence.getId(), consequence);
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResult.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResult.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResult.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,42 @@
+package org.drools.verifier.dao;
+
+import java.util.Collection;
+
+import org.drools.verifier.report.components.VerifierMessageBase;
+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 VerifierResult {
+
+ public void add(Gap gap);
+
+ public void remove(Gap gap);
+
+ public void add(MissingNumberPattern missingNumberPattern);
+
+ public VerifierData getVerifierData();
+
+ public Collection<RangeCheckCause> getRangeCheckCauses();
+
+ public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id);
+
+ public Collection<Gap> getGapsByFieldId(int fieldId);
+
+ public void add(VerifierMessageBase 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<VerifierMessageBase> getBySeverity(Severity severity);
+
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultFactory.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultFactory.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,9 @@
+package org.drools.verifier.dao;
+
+public class VerifierResultFactory {
+
+ public static VerifierResult createVerifierResult() {
+
+ return new VerifierResultNormal();
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultNormal.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultNormal.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierResultNormal.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.VerifierMessageBase;
+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 VerifierResultNormal implements VerifierResult {
+ 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<VerifierMessageBase> messages = new ArrayList<VerifierMessageBase>();
+ private DataTree<Severity, VerifierMessageBase> messagesBySeverity = new DataTree<Severity, VerifierMessageBase>();
+
+ private VerifierData data = new VerifierDataMaps();
+
+ public void add(VerifierMessageBase message) {
+ messages.add(message);
+ messagesBySeverity.put(message.getSeverity(), message);
+ }
+
+ public Collection<VerifierMessageBase> getBySeverity(
+ Severity severity) {
+ Collection<VerifierMessageBase> 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 VerifierData getVerifierData() {
+ return data;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/ReportModeller.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/ReportModeller.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -3,9 +3,9 @@
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.dao.VerifierResult;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Gap;
import org.drools.verifier.report.components.MissingNumberPattern;
import org.drools.verifier.report.components.Severity;
@@ -18,11 +18,11 @@
*/
public class ReportModeller {
- public static String writeXML(AnalyticsResult result) {
+ public static String writeXML(VerifierResult result) {
XStream xstream = new XStream();
- xstream.alias("result", AnalyticsResult.class);
- xstream.alias("message", AnalyticsMessage.class);
+ xstream.alias("result", VerifierResult.class);
+ xstream.alias("message", VerifierMessage.class);
xstream.alias("Gap", Gap.class);
xstream.alias("MissingNumber", MissingNumberPattern.class);
@@ -34,13 +34,13 @@
return "<?xml version=\"1.0\"?>\n" + xstream.toXML(result);
}
- public static String writePlainText(AnalyticsResult result) {
+ public static String writePlainText(VerifierResult result) {
StringBuffer str = new StringBuffer();
for (Severity severity : Severity
.values()) {
- Collection<AnalyticsMessageBase> messages = result
+ Collection<VerifierMessageBase> messages = result
.getBySeverity(severity);
str.append("************* ");
@@ -49,7 +49,7 @@
str.append(messages.size());
str.append(" ******************\n");
- for (AnalyticsMessageBase message : messages) {
+ for (VerifierMessageBase message : messages) {
str.append(message);
str.append("\n");
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/CauseType.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/CauseType.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/CauseType.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -16,8 +16,8 @@
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 static final CauseType OPPOSITE = new CauseType(14);
+ public static final CauseType INCOMPATIBLE = new CauseType(15);
public final int index;
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Gap.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Gap.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Gap.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -5,13 +5,13 @@
import org.drools.verifier.components.LiteralRestriction;
/**
- *
+ *
* @author Toni Rikkola
*/
public class Gap extends MissingRange implements RangeCheckCause,
Comparable<MissingRange> {
- private LiteralRestriction restriction;
+ private final LiteralRestriction restriction;
public int compareTo(MissingRange another) {
return super.compareTo(another);
@@ -22,7 +22,7 @@
}
/**
- *
+ *
* @param field
* Field from where the value is missing.
* @param evaluator
@@ -31,8 +31,8 @@
* The restriction that the gap begins from.
*/
public Gap(Field field, Operator operator, LiteralRestriction restriction) {
- this.field = field;
- this.operator = operator;
+ super(field, operator);
+
this.restriction = restriction;
}
@@ -44,10 +44,6 @@
return restriction;
}
- public void setRestriction(LiteralRestriction restriction) {
- this.restriction = restriction;
- }
-
public String getValueAsString() {
return restriction.getValueAsString();
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Incompatibility.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Incompatibility.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Incompatibility.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,9 @@
/**
*
- * Two causes are opposites.
+ * Two causes are incompatible.
+ * <p>
+ * For example: Restrictions (a > b) and (a == b)
*
* @author Toni Rikkola
*/
@@ -10,10 +12,10 @@
private static int index = 0;
- private int id = index++;
+ private final int id = index++;
- private Cause left;
- private Cause right;
+ private final Cause left;
+ private final Cause right;
public Incompatibility(Cause left, Cause right) {
this.left = left;
@@ -25,28 +27,19 @@
}
public CauseType getCauseType() {
- return CauseType.OPPOSITES;
+ return CauseType.INCOMPATIBLE;
}
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.";
+ return "(" + getLeft() + ") and (" + getRight() + ") are incompatible.";
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingNumberPattern.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,15 +8,15 @@
import org.drools.verifier.components.Field;
/**
- *
+ *
* @author Toni Rikkola
*/
public class MissingNumberPattern extends MissingRange implements
RangeCheckCause, Comparable<MissingRange> {
- private Field.FieldType valueType;
+ private final Field.FieldType valueType;
- private String value;
+ private final String value;
public int compareTo(MissingRange another) {
return super.compareTo(another);
@@ -28,8 +28,8 @@
public MissingNumberPattern(Field field, Operator operator,
Field.FieldType valueType, String value) {
- this.field = field;
- this.operator = operator;
+ super(field, operator);
+
this.valueType = valueType;
this.value = value;
}
@@ -72,10 +72,6 @@
return valueType;
}
- public void setValueType(Field.FieldType valueType) {
- this.valueType = valueType;
- }
-
@Override
public String toString() {
return "Missing restriction " + operator + " " + value;
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingRange.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingRange.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/MissingRange.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -6,12 +6,15 @@
public abstract class MissingRange implements Comparable<MissingRange> {
private static int index = 0;
- protected int id = index++;
+ protected final int id = index++;
- protected Field field;
- protected Operator operator;
+ protected final Field field;
+ protected final Operator operator;
- private String firedRuleName;
+ public MissingRange(Field field, Operator operator) {
+ this.field = field;
+ this.operator = operator;
+ }
/**
* Takes the given operator e, and returns a reversed version of it.
@@ -57,19 +60,7 @@
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;
- }
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Opposites.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Opposites.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Opposites.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,5 +1,13 @@
package org.drools.verifier.report.components;
+/**
+ *
+ * Two causes are opposites.
+ * <p>
+ * For example: Restrictions (a > b) and (a <= b)
+ *
+ * @author Toni Rikkola
+ */
public class Opposites extends Incompatibility implements Cause {
public Opposites(Cause left, Cause right) {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/PartialRedundancy.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,9 +8,9 @@
*/
public class PartialRedundancy {
- private Cause left;
- private Cause right;
- private Redundancy redundancy;
+ private final Cause left;
+ private final Cause right;
+ private final Redundancy redundancy;
/**
*
@@ -31,23 +31,12 @@
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;
- }
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Redundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Redundancy.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Redundancy.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,17 +4,18 @@
* 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
+ * WEAK redundancy is for example two VerifierRules, 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;
+ private final RedundancyType type;
public Redundancy(Cause left, Cause right) {
super(left, right);
+ type = RedundancyType.WEAK;
}
public Redundancy(RedundancyType type, Cause left, Cause right) {
@@ -30,10 +31,6 @@
return type;
}
- public void setType(RedundancyType type) {
- this.type = type;
- }
-
@Override
public String toString() {
return "Redundancy between: (" + getLeft() + ") and (" + getRight()
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Subsumption.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Subsumption.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/Subsumption.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,10 +8,10 @@
private static int index = 0;
- private int id = index++;
+ private final int id = index++;
- private Cause left;
- private Cause right;
+ private final Cause left;
+ private final Cause right;
public Subsumption(Cause left, Cause right) {
this.left = left;
@@ -30,18 +30,10 @@
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()
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessage.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessage.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessage.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,59 @@
+package org.drools.verifier.report.components;
+
+import java.util.Collection;
+import java.util.Collections;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class VerifierMessage extends VerifierMessageBase {
+ private static final long serialVersionUID = 9190003495068712452L;
+
+ protected final Collection<Cause> causes;
+
+ public VerifierMessage(Severity severity, MessageType messageType,
+ Cause faulty, String message, Collection<Cause> causes) {
+ super(severity, messageType, faulty, message);
+
+ this.causes = causes;
+ }
+
+ public VerifierMessage(Severity severity, MessageType messageType,
+ Cause faulty, String message) {
+ super(severity, messageType, faulty, message);
+
+ this.causes = Collections.emptyList();
+ }
+
+ public Collection<Cause> getCauses() {
+ return causes;
+ }
+
+ @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();
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessageBase.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessageBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierMessageBase.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,81 @@
+package org.drools.verifier.report.components;
+
+import java.io.Serializable;
+import java.util.Collection;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+abstract public class VerifierMessageBase implements Serializable,
+ Comparable<VerifierMessageBase> {
+ private static final long serialVersionUID = 9190003495068712452L;
+
+ private static int index = 0;
+
+ protected final Severity severity;
+ protected final MessageType messageType;
+
+ protected final int id = index++;
+ protected final Cause faulty;
+ protected final String message;
+
+ public int compareTo(VerifierMessageBase o) {
+ if (id == o.getId()) {
+ return 0;
+ }
+
+ return (id > o.getId() ? 1 : -1);
+ }
+
+ protected VerifierMessageBase(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 String getMessage() {
+ return message;
+ }
+
+ public Cause getFaulty() {
+ return faulty;
+ }
+
+ public MessageType getMessageType() {
+ return messageType;
+ }
+
+ public Severity getSeverity() {
+ return 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();
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierRangeCheckMessage.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierRangeCheckMessage.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/components/VerifierRangeCheckMessage.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,24 @@
+package org.drools.verifier.report.components;
+
+import java.util.Collection;
+
+public class VerifierRangeCheckMessage extends VerifierMessageBase {
+ private static final long serialVersionUID = -2403507929285633672L;
+
+ private Collection<RangeCheckCause> causes;
+
+ public VerifierRangeCheckMessage(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;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -3,18 +3,18 @@
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.VerifierClass;
+import org.drools.verifier.components.VerifierRule;
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.dao.VerifierData;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.report.components.VerifierMessage;
import org.drools.verifier.report.components.Severity;
public class ComponentsReportModeller extends ReportModeller {
- public static void writeHTML(String path, AnalyticsResult result) {
- AnalyticsData data = result.getAnalyticsData();
+ public static void writeHTML(String path, VerifierResult result) {
+ VerifierData data = result.getVerifierData();
// Source folder
File sourceFolder = new File(path + UrlFactory.SOURCE_FOLDER);
@@ -39,7 +39,7 @@
+ UrlFactory.RULE_FOLDER;
File rulesFolder = new File(ruleFolder);
rulesFolder.mkdir();
- for (AnalyticsRule rule : data.getAllRules()) {
+ for (VerifierRule rule : data.getAllRules()) {
writeToFile(ruleFolder + File.separator + rule.getId() + ".htm",
formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitRule(
@@ -51,7 +51,7 @@
+ File.separator + UrlFactory.OBJECT_TYPE_FOLDER;
File objectTypesFolder = new File(objectTypeFolder);
objectTypesFolder.mkdir();
- for (AnalyticsClass objectType : data.getAllClasses()) {
+ for (VerifierClass objectType : data.getAllClasses()) {
writeToFile(objectTypeFolder + File.separator + objectType.getId()
+ ".htm", formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitObjectType(
@@ -70,7 +70,7 @@
UrlFactory.PREVIOUS_FOLDER, field, result)));
}
- // Analytics messages
+ // Verifier messages
writeMessages(path, result);
// css files
@@ -96,21 +96,21 @@
}
}
- private static void writeMessages(String path, AnalyticsResult result) {
- AnalyticsData data = result.getAnalyticsData();
+ private static void writeMessages(String path, VerifierResult result) {
+ VerifierData data = result.getVerifierData();
- String errors = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
+ String errors = VerifierMessagesVisitor
+ .visitVerifierMessagesCollection(
Severity.ERROR.getTuple(),
result.getBySeverity(Severity.ERROR),
data);
- String warnings = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
+ String warnings = VerifierMessagesVisitor
+ .visitVerifierMessagesCollection(
Severity.WARNING.getTuple(),
result.getBySeverity(Severity.WARNING),
data);
- String notes = AnalyticsMessagesVisitor
- .visitAnalyticsMessagesCollection(
+ String notes = VerifierMessagesVisitor
+ .visitVerifierMessagesCollection(
Severity.NOTE.getTuple(), result
.getBySeverity(Severity.NOTE),
data);
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,13 +4,13 @@
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.VerifierClass;
+import org.drools.verifier.components.VerifierRule;
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.dao.VerifierData;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.RangeCheckCause;
import org.mvel.templates.TemplateRuntime;
@@ -36,7 +36,7 @@
}
public static String visitObjectTypeCollection(String sourceFolder,
- Collection<AnalyticsClass> objectTypes) {
+ Collection<VerifierClass> objectTypes) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("sourceFolder", sourceFolder);
map.put("objectTypeFolder", sourceFolder + "/"
@@ -49,9 +49,9 @@
return String.valueOf(TemplateRuntime.eval(myTemplate, map));
}
- public static String visitRule(String sourceFolder, AnalyticsRule rule,
- AnalyticsData data) {
- Collection<AnalyticsClass> objectTypes = data.getClassesByRuleName(rule
+ public static String visitRule(String sourceFolder, VerifierRule rule,
+ VerifierData data) {
+ Collection<VerifierClass> objectTypes = data.getClassesByRuleName(rule
.getRuleName());
Map<String, Object> map = new HashMap<String, Object>();
@@ -67,8 +67,8 @@
}
public static String visitObjectType(String sourceFolder,
- AnalyticsClass objectType, AnalyticsData data) {
- Collection<AnalyticsRule> rules = data.getRulesByClassId(objectType
+ VerifierClass objectType, VerifierData data) {
+ Collection<VerifierRule> rules = data.getRulesByClassId(objectType
.getId());
Map<String, Object> map = new HashMap<String, Object>();
@@ -85,10 +85,10 @@
}
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());
+ VerifierResult result) {
+ VerifierData data = result.getVerifierData();
+ VerifierClass objectType = data.getClassById(field.getClassId());
+ Collection<VerifierRule> rules = data.getRulesByFieldId(field.getId());
Map<String, Object> map = new HashMap<String, Object>();
map.put("sourceFolder", sourceFolder);
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -10,9 +10,9 @@
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.VerifierData;
import org.drools.verifier.dao.DataTree;
-import org.drools.verifier.report.components.AnalyticsRangeCheckMessage;
+import org.drools.verifier.report.components.VerifierRangeCheckMessage;
import org.drools.verifier.report.components.RangeCheckCause;
import org.mvel.templates.TemplateRuntime;
@@ -121,7 +121,7 @@
}
public static String visitRangeCheckMessage(String sourceFolder,
- AnalyticsRangeCheckMessage message, AnalyticsData data) {
+ VerifierRangeCheckMessage message, VerifierData data) {
Collection<Restriction> restrictions = data
.getRestrictionsByFieldId(message.getFaulty().getId());
Field field = (Field) message.getFaulty();
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ReportModeller.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ReportModeller.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -18,7 +18,7 @@
protected static String formPage(String sourceFolder, String content) {
Map<String, Object> map = new HashMap<String, Object>();
- String myTemplate = AnalyticsMessagesVisitor.readFile("frame.htm");
+ String myTemplate = VerifierMessagesVisitor.readFile("frame.htm");
map.put("cssStyle", ReportVisitor.createStyleTag(sourceFolder + "/"
+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/UrlFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/UrlFactory.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/UrlFactory.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,6 +1,6 @@
package org.drools.verifier.report.html;
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
/**
*
@@ -35,8 +35,8 @@
* be created.
*/
public static String getUrl(Object o) {
- if (o instanceof AnalyticsRule) {
- AnalyticsRule rule = (AnalyticsRule) o;
+ if (o instanceof VerifierRule) {
+ VerifierRule rule = (VerifierRule) o;
return getRuleUrl(UrlFactory.RULE_FOLDER, rule.getId(), rule
.getRuleName());
}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/VerifierMessagesVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/VerifierMessagesVisitor.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/VerifierMessagesVisitor.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.VerifierData;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.drools.verifier.report.components.VerifierRangeCheckMessage;
+import org.drools.verifier.report.components.Cause;
+import org.mvel.templates.TemplateRuntime;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+class VerifierMessagesVisitor 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 visitVerifierMessagesCollection(String title,
+ Collection<VerifierMessageBase> messages, VerifierData data) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ Collection<String> messageTemplates = new ArrayList<String>();
+ String myTemplate = readFile(VERIFIER_MESSAGES_TEMPLATE);
+
+ for (VerifierMessageBase message : messages) {
+ messageTemplates.add(visitVerifierMessage(message, data));
+ }
+
+ map.put("title", title);
+ map.put("messages", messageTemplates);
+
+ return String.valueOf(TemplateRuntime.eval(myTemplate, map));
+ }
+
+ public static String visitVerifierMessage(VerifierMessageBase message,
+ VerifierData data) {
+ if (message instanceof VerifierRangeCheckMessage) {
+ return visitVerifierMessage((VerifierRangeCheckMessage) message,
+ data);
+ } else if (message instanceof VerifierMessage) {
+ return visitVerifierMessage((VerifierMessage) message);
+ }
+
+ return null;
+ }
+
+ public static String visitVerifierMessage(
+ VerifierRangeCheckMessage message, VerifierData data) {
+
+ return MissingRangesReportVisitor.visitRangeCheckMessage(
+ UrlFactory.THIS_FOLDER, message, data);
+ }
+
+ public static String visitVerifierMessage(VerifierMessage 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));
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/Consequence.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/Consequence.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,15 +2,15 @@
package org.drools.verifier.consequence
#list any import classes here.
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
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.VerifierMessage;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
rule "No action - possibly commented out"
@@ -19,11 +19,11 @@
( text == null || text matches "" )
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $c.ruleId
)
then
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.MISSING_COMPONENT,
$r,
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysFalse/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysFalse/Patterns.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/alwaysFalse/Patterns.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,51 @@
+#
+# created on: 5.6.2008
+#
+# Rules in this package look for patterns and rules that can never be satisfied.
+#
+#
+package org.drools.verifier.alwaysFalse
+#list any import classes here.
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+
+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.report.components.VerifierMessage;
+
+import org.drools.verifier.dao.VerifierResult;
+
+#declare any global variables here
+global VerifierResult result;
+
+#
+# Finds patterns that are always false.
+#
+# Example:
+# Pattern( a == b && a != b )
+#
+rule "Pattern that is always false"
+ when
+ $p :Pattern()
+
+ # All the pattern possibilities for pattern need to be in conflict
+ forall(
+ $pp :PatternPossibility(
+ patternId == $p.id
+ )
+
+ Incompatibility(
+ left memberOf $pp.items,
+ right memberOf $pp.items
+ )
+ )
+ then
+ # Report an error
+ result.add( new VerifierMessage(
+ Severity.ERROR,
+ MessageType.MISSING_COMPONENT,
+ $p,
+ $p + " can never be satisfied." ) );
+ System.out.println( "jee" );
+end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/equivalence/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/equivalence/Rules.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/equivalence/Rules.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,7 +1,7 @@
#created on: 7.9.2007
package org.drools.verifier.equivalency.rules
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.report.components.Redundancy;
import org.drools.verifier.report.components.RedundancyType;
@@ -13,9 +13,9 @@
#
rule "Find equivalent Rules"
when
- # Check that AnalyticsRule $left and $right have redundant fields.
- $left :AnalyticsRule()
- $right :AnalyticsRule(
+ # Check that VerifierRule $left and $right have redundant fields.
+ $left :VerifierRule()
+ $right :VerifierRule(
id != $left.id,
ruleAgendaGroup == $left.ruleAgendaGroup
)
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Patterns.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Patterns.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,7 @@
package org.drools.verifier.incoherence
#list any import classes here.
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.components.LiteralRestriction;
import org.drools.verifier.components.PatternPossibility;
import org.drools.verifier.components.RulePossibility;
@@ -10,11 +10,11 @@
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.VerifierMessage;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
import java.util.Collection;
import java.util.ArrayList;
@@ -22,7 +22,7 @@
import org.drools.base.evaluators.Operator;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
#
# If two Patterns are in conflict.
@@ -38,7 +38,7 @@
$r1 :LiteralRestriction(
patternIsNot == true
)
-
+
$r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
@@ -72,7 +72,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -80,7 +80,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -138,7 +138,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -146,7 +146,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -203,7 +203,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -211,7 +211,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -268,7 +268,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -276,7 +276,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -334,7 +334,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -342,7 +342,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -400,7 +400,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -408,7 +408,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -465,7 +465,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -473,7 +473,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
@@ -531,7 +531,7 @@
id == $r2.patternId
)
- $r :AnalyticsRule(
+ $r :VerifierRule(
id == $rp.ruleId
)
then
@@ -539,7 +539,7 @@
list.add( $p1 );
list.add( $p2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.INCOHERENCE,
$r,
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incoherence/Restrictions.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,10 +8,10 @@
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.VerifierMessage;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
import java.util.Collection;
import java.util.ArrayList;
@@ -19,7 +19,7 @@
import org.drools.base.evaluators.Operator;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
#
# If two LiteralRestrictions are in conflict.
@@ -60,7 +60,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -106,7 +106,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -152,7 +152,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -198,7 +198,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -244,7 +244,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -291,7 +291,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
@@ -335,7 +335,7 @@
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.ERROR,
MessageType.INCOHERENCE,
$p,
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Patterns.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Patterns.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,40 @@
+#created on: 2.6.2008
+package org.drools.verifier.incompatibility
+
+#list any import classes here.
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.PatternPossibility;
+
+import org.drools.verifier.report.components.Incompatibility;
+
+import org.drools.verifier.dao.VerifierResult;
+
+#declare any global variables here
+global VerifierResult result;
+
+#
+# Pattern possibilities are incompatible if any of the restrictions are incompatible.
+#
+# Depandencies: None
+# Example:
+# Pattern( a < b )
+# Pattern( a > b )
+#
+rule "Incompatible Patterns"
+ when
+ $incompatibility :Incompatibility()
+
+ $pp1 :PatternPossibility(
+ items contains $incompatibility.left
+ )
+
+ $pp2 :PatternPossibility(
+ items contains $incompatibility.right
+ )
+
+ # Check that these facts do not already exist
+ not Incompatibility( left == $pp1, right == $pp2)
+ not Incompatibility( left == $pp2, right == $pp1)
+ then
+ insert( new Incompatibility( $pp1, $pp2 ));
+end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/incompatibility/Restrictions.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -3,28 +3,20 @@
#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.components.VariableRestriction;
+
import org.drools.verifier.report.components.Incompatibility;
-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.
#
-# Type: Error
# Depandencies: None
# Example: IncorencePattern( a < 1 && a == 10 )
#
-rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"
+rule "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"
when
$r1 :LiteralRestriction(
operator == Operator.EQUAL
@@ -40,38 +32,17 @@
)
eval( $r1.compareValues( $r2 ) == 1 )
-
- # There is a problem if both of these are in the same PatternPossibility.
- $pp :PatternPossibility(
- items contains $r1,
- items contains $r2
- )
-
- $p :Pattern( id == $pp.patternId )
then
- Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
-
- result.add( new AnalyticsMessage(
- Severity.ERROR,
- MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
- "are in conflict. Because of this, pattern that contains them can never be satisfied.",
- list
- ) );
+ insert( new Incompatibility( $r1, $r2 ) );
end
-/*
#
# If two LiteralRestrictions are in conflict.
#
-# Type: Error
# Depandencies: None
# Example: IncorencePattern( a > 10 && a == 1 )
#
-rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"
+rule "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible equality greater"
when
$r1 :LiteralRestriction(
( operator == Operator.GREATER || == Operator.GREATER_OR_EQUAL )
@@ -87,37 +58,17 @@
)
eval( $r1.compareValues( $r2 ) == 1 )
-
- # There is a problem if both of these are in the same PatternPossibility.
- $pp :PatternPossibility(
- items contains $r1,
- items contains $r2
- )
-
- $p :Pattern( id == $pp.patternId )
then
- Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
-
- result.add( new AnalyticsMessage(
- Severity.ERROR,
- MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
- "are in conflict. Because of this, pattern that contains them can never be satisfied.",
- list
- ) );
+ insert( new Incompatibility( $r1, $r2 ) );
end
#
# If two LiteralRestrictions are in conflict.
#
-# Type: Error
# Depandencies: None
# Example: IncorencePattern( a < "12-Dec-2007", a > "12-Dec-2007" )
#
-rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"
+rule "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible range"
when
$r1 :LiteralRestriction(
operator == Operator.LESS
@@ -133,83 +84,16 @@
)
eval( $r1.compareValues( $r2 ) == 0 )
-
- # There is a problem if both of these are in the same PatternPossibility.
- $pp :PatternPossibility(
- items contains $r1,
- items contains $r2
- )
-
- $p :Pattern( id == $pp.patternId )
then
- Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
-
- result.add( new AnalyticsMessage(
- Severity.ERROR,
- MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
- "are in conflict. Because of this, pattern that contains them can never be satisfied.",
- list
- ) );
+ insert( new Incompatibility( $r1, $r2 ) );
end
#
# If two VariableRestrictions are in conflict.
#
-# Type: Error
# Depandencies: None
-# Example: IncorencePattern( a contains $o, a not contains $o )
+# Example: Pattern( a > $var, a < $var )
#
-rule "Incoherent VariableRestrictions in pattern possibility"
- when
- $r1 :VariableRestriction(
- # Not >= and <=, because ( a <=, a >= ) works.
- # And not < or > because they are handled in a separete rule.
- ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
- )
-
- $r2 :VariableRestriction(
- patternId == $r1.patternId,
- fieldId == $r1.fieldId,
- id != $r1.id,
- variable.objectId == $r1.variable.objectId,
- variable.objectType == $r1.variable.objectType,
- # Operator needs to be reversed to what the other one has.
- eval( operator == MissingRange.getReversedOperator( $r1.getOperator() ))
- )
-
- # There is a problem if both of these are in the same PatternPossibility.
- $pp :PatternPossibility(
- items contains $r1,
- items contains $r2
- )
-
- $p :Pattern( id == $pp.patternId )
- then
- Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
-
- result.add( new AnalyticsMessage(
- Severity.ERROR,
- MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
- "are in conflict. Because of this, pattern that contains them can never be satisfied.",
- list
- ) );
-end
-
-#
-# If two VariableRestrictions are in conflict.
-#
-# Type: Error
-# Depandencies: None
-# Example: IncorencePattern( a > $var, a < $var )
-#
rule "Incoherent VariableRestrictions in pattern possibility, impossible range"
when
$r1 :VariableRestriction(
@@ -224,26 +108,6 @@
variable.objectType == $r1.variable.objectType,
id != $r1.id
)
-
- # There is a problem if both of these are in the same PatternPossibility.
- $pp :PatternPossibility(
- items contains $r1,
- items contains $r2
- )
-
- $p :Pattern( id == $pp.patternId )
then
- Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
-
- result.add( new AnalyticsMessage(
- Severity.ERROR,
- MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
- "are in conflict. Because of this, pattern that contains them can never be satisfied.",
- list
- ) );
+ insert( new Incompatibility( $r1, $r2 ) );
end
-*/
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/missingEquality/MissingEquality.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,15 +9,15 @@
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.VerifierMessage;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
#
# Informs that there are inequalities, but not equality being catered for.
@@ -82,7 +82,7 @@
)
)
then
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.MISSING_EQUALITY,
$r,
@@ -212,7 +212,7 @@
)
)
then
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.WARNING,
MessageType.MISSING_EQUALITY,
$r,
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Patterns.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Patterns.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,76 @@
+#created on: 2.6.2008
+package org.drools.verifier.opposites
+
+#list any import classes here.
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.PatternPossibility;
+
+import org.drools.verifier.report.components.Opposites;
+
+import org.drools.verifier.dao.VerifierResult;
+
+#declare any global variables here
+global VerifierResult result;
+
+
+#
+# Pattern possibilities are opposites if all of the restrictions are opposites.
+#
+# Depandencies: None
+# Dependencies:
+#
+# Needs at least one of the following packages or rules to fire:
+# package org.drools.verifier.opposites;
+# rule "Opposite LiteralRestrictions"
+# rule "Opposite LiteralRestrictions with ranges, greater or equal - less"
+# rule "Opposite LiteralRestrictions with ranges, greater - less or equal"
+# rule "Opposite LiteralRestrictions with ranges, less - greater for ints and dates"
+# rule "Opposite LiteralRestrictions with ranges, less or equal - greater or equal for ints and dates"
+#
+# Example:
+# Pattern( a < b)
+# Pattern( a >= b )
+#
+rule "Opposite Patterns"
+ when
+ $opposites :Opposites()
+
+ $pp1 :PatternPossibility(
+ items contains $opposites.left
+ )
+
+ $pp2 :PatternPossibility(
+ items contains $opposites.right
+ )
+
+ # Check that these facts do not already exist
+ not Opposites( left == $pp1, right == $pp2 )
+ not Opposites( left == $pp2, right == $pp1 )
+
+ # Check if all the restrictions in $pp1 have an opposite in $pp2.
+ forall (
+ $r1 :Restriction(
+ this memberOf $pp1.items
+ )
+
+ Opposites(
+ left == $r1,
+ right memberOf $pp2.items
+ )
+ )
+
+ # Check if all the restrictions in $pp2 have an opposite in $pp1.
+ forall (
+ $r1 :Restriction(
+ this memberOf $pp2.items
+ )
+
+ Opposites(
+ right == $r1,
+ left memberOf $pp1.items
+ )
+ )
+ then
+ # These two pattern possibilities are opposite.
+ insert( new Opposites( $pp1, $pp2 ));
+end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Restrictions.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Restrictions.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -3,19 +3,23 @@
#list any import classes here.
import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.VariableRestriction;
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.VerifierMessage;
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.verifier.report.components.MissingRange;
+import org.drools.verifier.dao.VerifierResult;
+
import org.drools.base.evaluators.Operator;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
#
# If two LiteralRestrictions are in conflict.
@@ -197,3 +201,35 @@
insert( new Opposites( $left, $right ));
end
+#
+# If two VariableRestrictions are in conflict.
+#
+# Depandencies: None
+# Example: Pattern( a contains $o, a not contains $o )
+#
+rule "Opposite VariableRestrictions in pattern possibility"
+ when
+ $r1 :VariableRestriction()
+
+ $r2 :VariableRestriction(
+ patternId == $r1.patternId,
+ fieldId == $r1.fieldId,
+ id != $r1.id,
+ variable.objectId == $r1.variable.objectId,
+ variable.objectType == $r1.variable.objectType,
+ # Operator needs to be reverse to what the other one has.
+ eval( operator == MissingRange.getReversedOperator( $r1.getOperator() ))
+ )
+
+ # Check that there is not already a pair with these values.
+ not Opposites(
+ left == $r1,
+ right == $r2
+ )
+ not Opposites(
+ right == $r1,
+ left == $r2
+ )
+ then
+ insert( new Opposites( $r1, $r2 ) );
+end
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Rules.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/opposites/Rules.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,20 @@
+#created on: 3.6.2008
+package org.drools.verifier.opposites
+
+#list any import classes here.
+
+
+
+#declare any global variables here
+
+
+
+
+rule "Your First Rule"
+
+ when
+ #conditions
+ then
+ #actions
+
+end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/PatternOrder.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -6,19 +6,19 @@
import java.util.ArrayList;
import org.drools.verifier.components.Pattern;
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
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.components.VerifierEvalDescr;
+import org.drools.verifier.components.VerifierComponent;
+import org.drools.verifier.components.VerifierComponentType;
+import org.drools.verifier.report.components.VerifierMessage;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
@@ -28,31 +28,33 @@
#
# Type: Note
# Dependencies: None
-# Example: eval(function( $something )) Pattern()
+# Example:
+# eval(function( $something ))
+# Pattern()
#
rule "Optimise evals inside pattern"
when
$operator :OperatorDescr()
- $eval :AnalyticsEvalDescr(
+ $eval :VerifierEvalDescr(
parent == $operator
)
- # Any other AnalyticsComponent that is not predicate or operator
- $other :AnalyticsComponent(
+ # Any other VerifierComponent that is not predicate or operator
+ $other :VerifierComponent(
parent == $operator,
orderNumber > $eval.orderNumber,
- ( componentType != AnalyticsComponentType.OPERATOR && != AnalyticsComponentType.EVAL )
+ ( componentType != VerifierComponentType.OPERATOR && != VerifierComponentType.EVAL )
)
- $rule :AnalyticsRule(
+ $rule :VerifierRule(
id == $eval.ruleId
)
then
Collection list = new ArrayList();
list.add( $eval );
list.add( $other );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.NOTE,
MessageType.OPTIMISATION,
$rule,
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/optimisation/RestrictionOrder.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -10,18 +10,18 @@
import org.drools.verifier.components.Restriction;
import org.drools.verifier.components.Pattern;
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
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.components.VerifierPredicateDescr;
+import org.drools.verifier.components.VerifierComponent;
+import org.drools.verifier.components.VerifierComponentType;
+import org.drools.verifier.report.components.VerifierMessage;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
# Informs that rule would be more effective if the less expensive
@@ -116,7 +116,7 @@
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.NOTE,
MessageType.OPTIMISATION,
$pattern,
@@ -176,7 +176,7 @@
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.NOTE,
MessageType.OPTIMISATION,
$pattern,
@@ -188,7 +188,7 @@
list ) );
end
-# AnalyticsPredicateDescr should be last.
+# VerifierPredicateDescr should be last.
#
# Type: Note
# Dependencies: None
@@ -198,25 +198,25 @@
when
$operator :OperatorDescr()
- $predicate :AnalyticsPredicateDescr(
+ $predicate :VerifierPredicateDescr(
parent == $operator
)
- # Any other AnalyticsComponent that is not predicate or operator
- $other :AnalyticsComponent(
+ # Any other VerifierComponent that is not predicate or operator
+ $other :VerifierComponent(
parent == $operator,
orderNumber > $predicate.orderNumber,
- ( componentType != AnalyticsComponentType.OPERATOR && != AnalyticsComponentType.PREDICATE )
+ ( componentType != VerifierComponentType.OPERATOR && != VerifierComponentType.PREDICATE )
)
- $rule :AnalyticsRule(
+ $rule :VerifierRule(
id == $predicate.ruleId
)
then
Collection list = new ArrayList();
list.add( $predicate );
list.add( $other );
- result.add( new AnalyticsMessage(
+ result.add( new VerifierMessage(
Severity.NOTE,
MessageType.OPTIMISATION,
$rule,
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/overlaps/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/overlaps/Restrictions.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/overlaps/Restrictions.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,66 @@
+#created on: 2.2.2008
+package org.drools.verifier.overlaps.restrictions
+
+#list any import classes here.
+import java.util.Collection;
+import java.util.ArrayList;
+
+import org.drools.verifier.dao.VerifierResult;
+
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Field.FieldType;
+
+import org.drools.verifier.report.components.Subsumption;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.MessageType;
+
+#declare any global variables here
+global VerifierResult result;
+
+#
+# Fires when two restrictions are overlapping.
+# Reports these restrictions as overlapping.
+#
+# Depandencies: Needs at least one rule.
+#
+# package org.drools.verifier.subsumption.patterns
+# rule "Find subsumptant restrictions, greater than"
+# rule "Find subsumptant restrictions, less than"
+#
+# Example 1: Pattern1( a > 10 ) and Pattern1( a > 100 )
+#
+rule "Find overlapping restrictions"
+ when
+ # There is subsumption between two restrictions
+ $subsumption :Subsumption(
+ left.causeType == CauseType.RESTRICTION,
+ $leftId :left.id,
+ $rightId :right.id
+ )
+
+ $left :LiteralRestriction(
+ id == $leftId
+ )
+ $right :LiteralRestriction(
+ id == $rightId
+ )
+ # There is no restriction between these two restrictions.
+ not $center :LiteralRestriction(
+ fieldId == $left.fieldId,
+ eval( $center.compareValues( $left ) == 1 ),
+ eval( $center.compareValues( $right ) == -1 )
+ )
+ then
+ Collection causes = new ArrayList();
+ causes.add( $left );
+ causes.add( $right );
+
+ String message = "Restriction " + $left + " overlaps " + $right + ".";
+
+ result.add(new VerifierMessage(
+ Severity.NOTE, MessageType.OVERLAP,
+ $subsumption, message, causes ) );
+
+end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Clean.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,10 +7,10 @@
import org.drools.verifier.report.components.Gap;
import org.drools.verifier.report.components.MissingNumberPattern;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
#
# Merges existing gaps from working memory. Cleans out the data for actual reporting.
@@ -61,7 +61,6 @@
Operator.EQUAL,
$g1.getField().getFieldType(),
$g1.getValueAsString() );
- mnp.setFiredRuleName( drools.getRule().getName() );
result.add( mnp );
insert( mnp );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Dates.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -5,17 +5,17 @@
import org.drools.base.evaluators.Operator;
import org.drools.verifier.components.*;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.Gap;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
function boolean checkDates(Date d1, Date d2, boolean up) {
Calendar c1 = new GregorianCalendar();
@@ -28,10 +28,6 @@
return ( 0 == c1.compareTo( c2 ) );
}
-function String hello(String name) {
- return "Hello "+name+"!";
-}
-
# If all ranges are not checked for a field.
#
# Type: Warning
@@ -59,8 +55,6 @@
then
Gap gap = new Gap( $f, Operator.LESS_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -92,8 +86,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -134,8 +126,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -176,8 +166,6 @@
then
Gap gap = new Gap( $f, Operator.LESS, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Doubles.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -5,13 +5,12 @@
import org.drools.base.evaluators.Operator;
import org.drools.verifier.components.*;
-import org.drools.verifier.dao.AnalyticsResult;
import org.drools.verifier.report.components.Gap;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
#declare any global variables here
-global AnalyticsResult result;
+global VerifierResult result;
# If all ranges are not checked for a field.
@@ -41,8 +40,6 @@
then
Gap gap = new Gap( $f, Operator.LESS_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -74,8 +71,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -108,8 +103,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -142,8 +135,6 @@
then
Gap gap = new Gap( $f, Operator.LESS, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Integers.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,16 +7,16 @@
import org.drools.verifier.components.*;
import org.drools.verifier.report.components.Gap;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
-global AnalyticsResult result;
+global VerifierResult result;
# If all ranges are not checked for a field.
#
# Type: Warning
# Depandencies: None
# Example: in "Rule 1" Foo( bar > 42 )
-# and in Foo( <= 42 || == 42 ) is missing.
+# and Foo( <= 42 || == 42 ) is missing.
#
rule "Range check for integers, if smaller than or equal is missing"
when
@@ -38,8 +38,6 @@
then
Gap gap = new Gap( $f, Operator.LESS_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -71,8 +69,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER_OR_EQUAL, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -113,8 +109,6 @@
then
Gap gap = new Gap( $f, Operator.GREATER, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
@@ -155,8 +149,6 @@
then
Gap gap = new Gap( $f, Operator.LESS, $r );
- gap.setFiredRuleName( drools.getRule().getName() );
-
result.add( gap );
insert( gap );
end
Added: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/NumberPatterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/NumberPatterns.drl (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/NumberPatterns.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,100 @@
+#created on: 7.6.2007
+package org.drools.verifier.rangeChecks.patterns;
+
+#list any import classes here.
+import org.drools.base.evaluators.Operator;
+
+import org.drools.verifier.components.*;
+import org.drools.verifier.report.components.MissingNumberPattern;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.FindMissingNumber;
+
+import org.drools.verifier.dao.VerifierResult;
+
+import java.util.ArrayList;
+import java.util.List;
+
+#declare any global variables here
+global VerifierResult result;
+
+#
+# If all pattern ranges are not checked for a field.
+#
+# Type: Warning
+# Depandencies: None
+# Example: in "Rule 1" Foo( bar == 10 ) and in "Rule 2" Foo( bar == 20 ) and in "Rule 3" Foo( bar == 40 )
+# then Foo( bar == 30 ) is missing.
+rule "Range check for number patterns"
+ when
+ $f :Field(
+ ( fieldType == Field.FieldType.INT || == Field.FieldType.DOUBLE )
+ )
+ (
+ # Where pattern is false.
+ $list :ArrayList( size > FindMissingNumber.MIN_NUMBER_OF_RESTRICTIONS )
+ from collect(
+ LiteralRestriction(
+ fieldId == $f.id,
+ patternIsNot == false,
+ operator == Operator.EQUAL
+ )
+ )
+ ) or (
+ # Where pattern is true.
+ $list :ArrayList( size > FindMissingNumber.MIN_NUMBER_OF_RESTRICTIONS )
+ from collect(
+ LiteralRestriction(
+ fieldId == $f.id,
+ patternIsNot == true,
+ operator == Operator.EQUAL
+ )
+ )
+ )
+ then
+ Number number = FindMissingNumber.testForPattern( $list );
+ if( number != null ){
+ MissingNumberPattern mnp = new MissingNumberPattern( $f, Operator.EQUAL, $f.getFieldType(), number.toString() );
+ result.add( mnp );
+ }
+end
+
+#
+# If all pattern ranges are not checked for a field.
+#
+# Type: Warning
+# Depandencies: None
+# Example: in "Rule 1" Foo( bar == 10 ) and in "Rule 2" Foo( bar == 20 ) and in "Rule 3" Foo( bar == 40 )
+# then Foo( bar == 30 ) is missing.
+rule "Range check for number patterns, !="
+ when
+ $f :Field(
+ ( fieldType == Field.FieldType.INT || == Field.FieldType.DOUBLE )
+ )
+ (
+ # Where pattern is false.
+ $list :ArrayList( size > FindMissingNumber.MIN_NUMBER_OF_RESTRICTIONS )
+ from collect(
+ LiteralRestriction(
+ fieldId == $f.id,
+ patternIsNot == false,
+ operator == Operator.NOT_EQUAL
+ )
+ )
+ ) or (
+ # Where pattern is false.
+ $list :ArrayList( size > FindMissingNumber.MIN_NUMBER_OF_RESTRICTIONS )
+ from collect(
+ LiteralRestriction(
+ fieldId == $f.id,
+ patternIsNot == true,
+ operator == Operator.NOT_EQUAL
+ )
+ )
+ )
+ then
+ Number number = FindMissingNumber.testForPattern( $list );
+ if( number != null ){
+ MissingNumberPattern mnp = new MissingNumberPattern( $f, Operator.NOT_EQUAL, $f.getFieldType(), number.toString() );
+ result.add( mnp );
+ }
+end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/rangeChecks/Variables.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,7 @@
#list any import classes here.
import org.drools.verifier.components.*;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.Gap;
import java.util.ArrayList;
@@ -11,7 +11,7 @@
import java.util.Locale;
#declare any global variables here
-global AnalyticsResult result
+global VerifierResult result
/*
# If all ranges are not checked for a field.
@@ -69,13 +69,12 @@
variableId == $v2.id,
patternIsNot == $r.patternIsNot )
)
- $rule :AnalyticsRule( id == $r.ruleId )
+ $rule :VerifierRule( id == $r.ruleId )
then
Gap gap = new Gap();
gap.setCause($f);
gap.setRuleName($rule.getRuleName());
gap.setEvaluator($r.getEvaluator());
- gap.setFiredRuleName(drools.getRule().getName());
gap.setValue("variable");
insert( gap );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Consequence.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Consequence.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -15,7 +15,7 @@
#
rule "Find redundant TextConsequences"
when
- # Check that AnalyticsRule $left and $right have redundant fields.
+ # Check that VerifierRule $left and $right have redundant fields.
$left :TextConsequence()
$right :TextConsequence(
id != $left.id,
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Notes.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Notes.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Notes.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,7 @@
package org.drools.verifier.redundancy
#list any import classes here.
-global AnalyticsResult result;
+global VerifierResult result;
@@ -12,9 +12,9 @@
import org.drools.verifier.components.PatternPossibility;
import org.drools.verifier.components.RulePossibility;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.Redundancy;
-import org.drools.verifier.report.components.AnalyticsMessage;
+import org.drools.verifier.report.components.VerifierMessage;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.CauseType;
import org.drools.verifier.report.components.Severity;
@@ -45,7 +45,7 @@
causes.add( $r.getLeft() );
causes.add( $r.getRight() );
- result.add(new AnalyticsMessage(
+ result.add(new VerifierMessage(
Severity.NOTE, MessageType.REDUNDANCY,
$r, "Same restriction exists twice.", causes ) );
end
@@ -72,7 +72,7 @@
causes.add( $r.getLeft() );
causes.add( $r.getRight() );
- result.add(new AnalyticsMessage(
+ result.add(new VerifierMessage(
Severity.NOTE, MessageType.REDUNDANCY,
$r, "Two pattern possibilities with redundant restrictions exists twice in the same rule.", causes ) );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Restrictions.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -89,12 +89,12 @@
)
and
$v :Variable(
- objectType == AnalyticsComponentType.FIELD,
+ objectType == VerifierComponentType.FIELD,
objectId == $left.id
)
and
Variable(
- objectType == AnalyticsComponentType.FIELD,
+ objectType == VerifierComponentType.FIELD,
objectId == $right.id,
objectName == $v.objectName,
name == $v.name
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Rules.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Rules.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,7 +1,7 @@
#created on: 7.9.2007
package org.drools.verifier.redundancy.rules
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.report.components.Redundancy;
import org.drools.verifier.report.components.RedundancyType;
@@ -16,9 +16,9 @@
#
rule "Find redundant Rules, strong redundancy"
when
- # Check that AnalyticsRule $left and $right have redundant fields.
- $left :AnalyticsRule()
- $right :AnalyticsRule(
+ # Check that VerifierRule $left and $right have redundant fields.
+ $left :VerifierRule()
+ $right :VerifierRule(
id != $left.id,
ruleAgendaGroup == $left.ruleAgendaGroup
)
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Warnings.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Warnings.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Warnings.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -2,7 +2,7 @@
package org.drools.verifier.redundancy
#list any import classes here.
-global AnalyticsResult result;
+global VerifierResult result;
@@ -11,10 +11,10 @@
import java.util.ArrayList;
import org.drools.verifier.components.RulePossibility;
-import org.drools.verifier.dao.AnalyticsResult;
+import org.drools.verifier.dao.VerifierResult;
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.VerifierMessage;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.CauseType;
import org.drools.verifier.report.components.Severity;
@@ -74,7 +74,7 @@
message = "Rules are redundant.";
}
- result.add(new AnalyticsMessage(
+ result.add(new VerifierMessage(
Severity.WARNING, MessageType.REDUNDANCY,
$rulePossibilityRedundancy, message, causes ) );
end
@@ -126,7 +126,7 @@
causes.add( $rulePossibilityRedundancy.getLeft() );
causes.add( $rulePossibilityRedundancy.getRight() );
- result.add(new AnalyticsMessage(
+ result.add(new VerifierMessage(
Severity.WARNING, MessageType.REDUNDANCY,
$rulePossibilityRedundancy, "Rules are subsumptant.", causes ) );
end
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/reports/RangeCheckReports.drl 2008-06-10 11:03:26 UTC (rev 20398)
@@ -3,8 +3,8 @@
#list any import classes here.
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.VerifierRangeCheckMessage;
+import org.drools.verifier.dao.VerifierResult;
import org.drools.verifier.report.components.MissingRange;
import org.drools.verifier.report.components.Severity;
import org.drools.verifier.report.components.MessageType;
@@ -12,7 +12,7 @@
import java.util.ArrayList;
#declare any global variables here
-global AnalyticsResult result
+global VerifierResult result
#
@@ -58,7 +58,7 @@
MissingRange( field == $f )
)
then
- result.add( new AnalyticsRangeCheckMessage(
+ result.add( new VerifierRangeCheckMessage(
Severity.WARNING, $f,
$f + " has one or more gaps.", $list ) );
end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/ConsequenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/ConsequenceTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/ConsequenceTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,11 +7,11 @@
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.components.VerifierRule;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Severity;
/**
@@ -28,24 +28,24 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"No action - possibly commented out"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("ConsequenceTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/PatternSolverTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/PatternSolverTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/PatternSolverTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -4,7 +4,7 @@
import java.util.Set;
import org.drools.verifier.PatternSolver;
-import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.VerifierComponent;
import org.drools.verifier.components.LiteralRestriction;
import org.drools.verifier.components.OperatorDescr;
import org.drools.verifier.components.Pattern;
@@ -42,7 +42,7 @@
solver.add(literalRestriction2);
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(1, list.size());
assertEquals(2, list.get(0).size());
}
@@ -73,7 +73,7 @@
solver.add(literalRestriction2);
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(2, list.size());
assertEquals(1, list.get(0).size());
assertEquals(1, list.get(1).size());
@@ -112,7 +112,7 @@
solver.end();
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(2, list.size());
assertEquals(1, list.get(0).size());
@@ -156,7 +156,7 @@
solver.end();
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(2, list.size());
assertEquals(2, list.get(0).size());
@@ -210,7 +210,7 @@
solver.end();
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(4, list.size());
assertEquals(2, list.get(0).size());
@@ -268,7 +268,7 @@
solver.end();
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(2, list.size());
assertEquals(2, list.get(0).size());
@@ -320,7 +320,7 @@
solver.end();
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(3, list.size());
assertEquals(2, list.get(0).size());
@@ -374,7 +374,7 @@
solver.add(literalRestriction5);
solver.end();
- List<Set<AnalyticsComponent>> list = solver.getPossibilityLists();
+ List<Set<VerifierComponent>> list = solver.getPossibilityLists();
assertEquals(2, list.size());
assertEquals(4, list.get(0).size());
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckCleanTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckCleanTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckCleanTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -10,11 +10,11 @@
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.VerifierComponent;
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Gap;
/**
@@ -24,573 +24,568 @@
*/
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.");
- }
- }
- }
+// 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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// session.setGlobal("result", result);
+//
+// StatelessSessionResult sessionResult = session
+// .executeWithResults(testData);
+//
+// Iterator<Object> iter = sessionResult.iterateObjects();
+//
+// Set<Object> rulesThatHadErrors = new HashSet<Object>();
+// while (iter.hasNext()) {
+// Object o = (Object) iter.next();
+// if (o instanceof Gap || o instanceof VerifierComponent) {
+// rulesThatHadErrors.add(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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// 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 VerifierComponent) {
+// rulesThatHadErrors.add(((VerifierComponent) 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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// 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 VerifierComponent) {
+// rulesThatHadErrors.add(((VerifierComponent) 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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// 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 VerifierComponent) {
+// rulesThatHadErrors.add(((VerifierComponent) 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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// 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 VerifierComponent) {
+// rulesThatHadErrors.add(((VerifierComponent) 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);
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// 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 VerifierComponent) {
+// rulesThatHadErrors.add(((VerifierComponent) 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.");
+// }
+// }
+// }
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDatesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDatesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDatesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,8 +8,8 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Gap;
/**
@@ -30,10 +30,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, if smaller than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDates.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -68,10 +68,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, if greater than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDates.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -106,10 +106,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, equal and greater than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDates.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -145,10 +145,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, equal and smaller than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDates.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckDoublesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,8 +8,8 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Gap;
/**
@@ -27,10 +27,10 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, if smaller than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDoubles.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -66,10 +66,10 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, if greater than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDoubles.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -104,10 +104,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, equal and greater than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDoubles.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -144,10 +144,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, equal and smaller than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForDoubles.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/RangeCheckIntegersTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,8 +8,8 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Gap;
/**
@@ -27,10 +27,10 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, if smaller than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForInts.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -66,10 +66,10 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, if greater than or equal is missing"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForInts.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -104,10 +104,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, equal and greater than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForInts.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -143,10 +143,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, equal and smaller than"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingRangesForInts.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SolversTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SolversTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SolversTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -5,7 +5,7 @@
import java.util.Set;
import org.drools.verifier.Solvers;
-import org.drools.verifier.components.AnalyticsRule;
+import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.components.LiteralRestriction;
import org.drools.verifier.components.OperatorDescr;
import org.drools.verifier.components.Pattern;
@@ -36,7 +36,7 @@
* r3 && r4
*/
public void testNotAnd() {
- AnalyticsRule rule = new AnalyticsRule();
+ VerifierRule rule = new VerifierRule();
Pattern pattern = new Pattern();
Restriction r = new LiteralRestriction();
@@ -108,7 +108,7 @@
* descr && descr2
*/
public void testBasicAnd() {
- AnalyticsRule rule = new AnalyticsRule();
+ VerifierRule rule = new VerifierRule();
Pattern pattern = new Pattern();
Restriction r = new LiteralRestriction();
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/SubsumptantPossibilitiesRuleTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -11,7 +11,7 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
import org.drools.base.RuleNameMatchesAgendaFilter;
-import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.VerifierComponent;
import org.drools.verifier.components.LiteralRestriction;
import org.drools.verifier.components.PatternPossibility;
import org.drools.verifier.components.RulePossibility;
@@ -213,8 +213,8 @@
Object o = (Object) iter.next();
if (o instanceof Subsumption) {
Subsumption s = (Subsumption) o;
- AnalyticsComponent left = (AnalyticsComponent) s.getLeft();
- AnalyticsComponent right = (AnalyticsComponent) s.getRight();
+ VerifierComponent left = (VerifierComponent) s.getLeft();
+ VerifierComponent right = (VerifierComponent) s.getRight();
if (map.containsKey(left.getRuleName())) {
Set<String> set = map.get(left.getRuleName());
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/TestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/TestBase.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/TestBase.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -17,7 +17,7 @@
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.dao.VerifierData;
import org.drools.verifier.report.components.Cause;
/**
@@ -100,7 +100,7 @@
}
public Collection<? extends Object> getTestData(InputStream stream,
- AnalyticsData data) throws Exception {
+ VerifierData data) throws Exception {
Reader drlReader = new InputStreamReader(stream);
PackageDescr descr = new DrlParser().parse(drlReader);
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.Verifier;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.report.components.Severity;
+
+public class VerifierTest extends TestCase {
+
+ public void testAnalyzer() throws Exception {
+ Verifier anal = new Verifier();
+
+ 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();
+
+ VerifierResult 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 Verifier();
+
+ 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 {
+ Verifier anal = new Verifier();
+ 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 = Verifier.verifierKnowledgeBase;
+
+ Verifier anal2 = new Verifier();
+
+ assertSame(original, Verifier.verifierKnowledgeBase);
+
+ anal2.reloadAnalysisKnowledgeBase();
+ assertNotSame(original, Verifier.verifierKnowledgeBase);
+
+
+ }
+
+}
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -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.Verifier;
+import org.drools.verifier.components.VerifierClass;
+import org.drools.verifier.components.VerifierRule;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.drools.verifier.report.components.VerifierRangeCheckMessage;
+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 VerifierTestStandalone {
+
+ 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();
+ Verifier a = new Verifier();
+
+ for (String s : fileNames) {
+ PackageDescr descr = parser.parse(new InputStreamReader(
+ Verifier.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:/");
+
+ VerifierResult result = a.getResult();
+ Collection<VerifierMessageBase> msgs = result
+ .getBySeverity(Severity.ERROR);
+
+ for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
+ VerifierMessageBase msg = (VerifierMessageBase) iterator
+ .next();
+ System.out.println("ERR: " + msg.getMessage());
+ }
+
+ msgs = result.getBySeverity(Severity.WARNING);
+ for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
+ VerifierMessageBase msg = (VerifierMessageBase) iterator
+ .next();
+ System.out.println("WARN (" + msg.getClass().getSimpleName()
+ + "): " + msg.getMessage());
+ System.out.println("\t FAULT: ["
+ + msg.getClass().getSimpleName() + "] "
+ + msg.getFaulty());
+ if (msg instanceof VerifierMessage) {
+ System.out.println("\t CAUSES (message):");
+ VerifierMessage amsg = (VerifierMessage) 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 VerifierRangeCheckMessage) {
+ System.out.println("\t CAUSES (range):");
+ VerifierRangeCheckMessage amsg = (VerifierRangeCheckMessage) 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();) {
+ VerifierMessageBase msg = (VerifierMessageBase) iterator
+ .next();
+ System.out.println("NOTE: " + msg.getMessage());
+ System.out.println("\t" + msg.getFaulty());
+ }
+
+ Collection<VerifierClass> classes = result.getVerifierData()
+ .getAllClasses();
+ for (Iterator iterator = classes.iterator(); iterator.hasNext();) {
+ VerifierClass c = (VerifierClass) iterator.next();
+
+ Collection<VerifierRule> cr = result.getVerifierData()
+ .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.getVerifierData().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());
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/alwaysFalse/AlwaysFalsePatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/alwaysFalse/AlwaysFalsePatternsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/alwaysFalse/AlwaysFalsePatternsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,95 @@
+package org.drools.verifier.alwaysFalse;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Pattern;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.components.VerifierComponent;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.Incompatibility;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
+
+/**
+ *
+ * @author Toni Rikkola
+ *
+ */
+public class AlwaysFalsePatternsTest extends TestBase {
+
+// public void testPatternsAlwaysFalse() throws Exception {
+// StatelessSession session = getStatelessSession(this.getClass()
+// .getResourceAsStream("Patterns.drl"));
+//
+// session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+// "Pattern that is always false"));
+//
+// VerifierResult result = VerifierResultFactory.createVerifierResult();
+// Collection<Object> data = new ArrayList<Object>();
+//
+// session.setGlobal("result", result);
+//
+// final String ruleName1 = "rule 1";
+// Pattern pattern = new Pattern();
+//
+// Restriction r1 = new LiteralRestriction();
+// Restriction r2 = new LiteralRestriction();
+// Incompatibility i1 = new Incompatibility(r1, r2);
+// PatternPossibility pp1 = new PatternPossibility();
+// pp1.add(r1);
+// pp1.add(r2);
+//
+// Restriction r3 = new VariableRestriction();
+// Restriction r4 = new VariableRestriction();
+// Incompatibility i2 = new Incompatibility(r1, r2);
+// PatternPossibility pp2 = new PatternPossibility();
+// pp2.add(r1);
+// pp2.add(r2);
+//
+// data.add(pattern);
+// data.add(r1);
+// data.add(r2);
+// data.add(r3);
+// data.add(r4);
+// data.add(i1);
+// data.add(i2);
+// data.add(pp1);
+// data.add(pp2);
+//
+// StatelessSessionResult sessionResult = session.executeWithResults(data);
+//
+// Iterator<VerifierMessageBase> iter = result
+// .getBySeverity(Severity.NOTE).iterator();
+//
+// Collection<String> ruleNames = new ArrayList<String>();
+// while (iter.hasNext()) {
+// Object o = (Object) iter.next();
+// if (o instanceof VerifierMessage) {
+// String name = ((VerifierMessage) o).getCauses().toArray(
+// new VerifierComponent[2])[0].getRuleName();
+//
+// ruleNames.add(name);
+// }
+// }
+//
+// assertTrue(ruleNames.remove(ruleName1));
+// // assertFalse(ruleNames.remove(ruleName2));
+//
+// if (!ruleNames.isEmpty()) {
+// for (String string : ruleNames) {
+// fail("Rule " + string + " caused an error.");
+// }
+// }
+// }
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/equivalence/EquivalentRulesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,9 +9,9 @@
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.components.VerifierRule;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.redundancy.RedundancyTestBase;
import org.drools.verifier.report.components.Redundancy;
@@ -29,9 +29,9 @@
String ruleName1 = "Rule 1";
String ruleName2 = "Rule 2";
- AnalyticsRule rule1 = new AnalyticsRule();
+ VerifierRule rule1 = new VerifierRule();
rule1.setRuleName(ruleName1);
- AnalyticsRule rule2 = new AnalyticsRule();
+ VerifierRule rule2 = new VerifierRule();
rule2.setRuleName(ruleName2);
Redundancy r1 = new Redundancy(rule1, rule2);
@@ -40,7 +40,7 @@
data.add(rule2);
data.add(r1);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentPatternsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,17 +8,17 @@
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.components.VerifierRule;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Severity;
/**
- *
+ *
* @author Toni Rikkola
- *
+ *
*/
public class IncoherentPatternsTest extends TestBase {
@@ -29,23 +29,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -70,23 +70,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, variables"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -113,23 +113,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with lesser value"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -154,23 +154,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with greater value"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -195,23 +195,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal value"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -236,23 +236,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal variables"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -276,23 +276,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal value"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
@@ -316,23 +316,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("PatternsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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)
+ if (o instanceof VerifierMessage) {
+ VerifierRule rule = (VerifierRule) ((VerifierMessage) o)
.getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incoherence/IncoherentRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,10 +9,10 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Severity;
/**
@@ -30,23 +30,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions in pattern possibility"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -70,23 +70,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -109,23 +109,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -149,23 +149,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -188,23 +188,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -226,23 +226,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent VariableRestrictions in pattern possibility"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
@@ -267,23 +267,23 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent VariableRestrictions in pattern possibility, impossible range"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("RestrictionsTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Pattern pattern = (Pattern) ((VerifierMessage) o).getFaulty();
rulesThatHadErrors.add(pattern.getRuleName());
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityBase.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -20,13 +20,13 @@
}
/**
- * Creates redundancy map from Redundancy objects, one rule may have several
- * redundancy dependencies.
+ * Creates incompatibility map from Incompatibility objects, one rule may
+ * have several incompatibility dependencies.
*
* @param iter
* @return
*/
- protected Map<Cause, Set<Cause>> createOppositesMap(CauseType type,
+ protected Map<Cause, Set<Cause>> createIncompatibilityMap(CauseType type,
Iterator<Object> iter) {
Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityPatternsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityPatternsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,101 @@
+package org.drools.verifier.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.base.RuleNameMatchesAgendaFilter;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Incompatibility;
+
+public class IncompatibilityPatternsTest extends IncompatibilityBase {
+
+ public void testPatternsPossibilitiesIncompatibility() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incompatible Patterns"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ PatternPossibility pp1 = new PatternPossibility();
+ PatternPossibility pp2 = new PatternPossibility();
+
+ Restriction r1 = new LiteralRestriction();
+ pp1.add(r1);
+
+ Restriction r2 = new LiteralRestriction();
+ pp2.add(r2);
+
+ Restriction r3 = new LiteralRestriction();
+ pp1.add(r3);
+
+ Restriction r4 = new LiteralRestriction();
+ pp2.add(r4);
+
+ Incompatibility o1 = new Incompatibility(r1, r2);
+ Incompatibility o2 = new Incompatibility(r3, r4);
+
+ /*
+ * Another working pair.
+ */
+ PatternPossibility pp3 = new PatternPossibility();
+ PatternPossibility pp4 = new PatternPossibility();
+
+ Restriction r5 = new LiteralRestriction();
+ pp3.add(r5);
+
+ Restriction r6 = new LiteralRestriction();
+ pp4.add(r6);
+
+ Restriction r7 = new LiteralRestriction();
+ pp3.add(r7);
+
+ Restriction r8 = new LiteralRestriction();
+ pp4.add(r8);
+
+ Incompatibility o3 = new Incompatibility(r5, r6);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+ data.add(r5);
+ data.add(r6);
+ data.add(r7);
+ data.add(r8);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(pp3);
+ data.add(pp4);
+ data.add(o1);
+ data.add(o2);
+ data.add(o3);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createIncompatibilityMap(
+ CauseType.PATTERN_POSSIBILITY, sessionResult.iterateObjects());
+
+ assertTrue((TestBase.causeMapContains(map, pp1, pp2) ^ TestBase
+ .causeMapContains(map, pp2, pp1)));
+ assertTrue((TestBase.causeMapContains(map, pp3, pp4) ^ TestBase
+ .causeMapContains(map, pp4, pp3)));
+
+ if (!map.isEmpty()) {
+ fail("More opposites than was expected.");
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/incompatibility/IncompatibilityRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -1,6 +1,265 @@
package org.drools.verifier.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.base.RuleNameMatchesAgendaFilter;
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Variable;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.components.VerifierComponentType;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
public class IncompatibilityRestrictionsTest extends IncompatibilityBase {
+ public void testLiteralRestrictionsIncompatibilityLessOrEqual()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setOperator(Operator.EQUAL);
+ r1.setPatternId(0);
+ r1.setFieldId(0);
+ r1.setValue("10");
+
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setOperator(Operator.LESS);
+ r2.setPatternId(0);
+ r2.setFieldId(0);
+ r2.setValue("1");
+
+ /*
+ * Pair that doesn't work.
+ */
+ LiteralRestriction r3 = new LiteralRestriction();
+ r3.setOperator(Operator.GREATER_OR_EQUAL);
+ r3.setPatternId(1);
+ r3.setFieldId(1);
+ r3.setValue("1");
+
+ LiteralRestriction r4 = new LiteralRestriction();
+ r4.setOperator(Operator.EQUAL);
+ r4.setPatternId(1);
+ r4.setFieldId(1);
+ r4.setValue("10");
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createIncompatibilityMap(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 testLiteralRestrictionsIncompatibilityGreater()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible equality greater"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setOperator(Operator.GREATER);
+ r1.setPatternId(0);
+ r1.setFieldId(0);
+ r1.setValue("10");
+
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setOperator(Operator.EQUAL);
+ r2.setPatternId(0);
+ r2.setFieldId(0);
+ r2.setValue("1");
+
+ /*
+ * Pair that doesn't work.
+ */
+ LiteralRestriction r3 = new LiteralRestriction();
+ r3.setOperator(Operator.GREATER_OR_EQUAL);
+ r3.setPatternId(1);
+ r3.setFieldId(1);
+ r3.setValue("1");
+
+ LiteralRestriction r4 = new LiteralRestriction();
+ r4.setOperator(Operator.EQUAL);
+ r4.setPatternId(1);
+ r4.setFieldId(1);
+ r4.setValue("10");
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createIncompatibilityMap(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 testLiteralRestrictionsIncompatibilityImpossibleRange()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incompatible LiteralRestrictions with ranges in pattern possibility, impossible range"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ LiteralRestriction r1 = new LiteralRestriction();
+ r1.setOperator(Operator.GREATER);
+ r1.setPatternId(0);
+ r1.setFieldId(0);
+ r1.setValue("10");
+
+ LiteralRestriction r2 = new LiteralRestriction();
+ r2.setOperator(Operator.LESS);
+ r2.setPatternId(0);
+ r2.setFieldId(0);
+ r2.setValue("10");
+
+ /*
+ * Pair that doesn't work.
+ */
+ LiteralRestriction r3 = new LiteralRestriction();
+ r3.setOperator(Operator.GREATER_OR_EQUAL);
+ r3.setPatternId(1);
+ r3.setFieldId(1);
+ r3.setValue("1");
+
+ LiteralRestriction r4 = new LiteralRestriction();
+ r4.setOperator(Operator.EQUAL);
+ r4.setPatternId(1);
+ r4.setFieldId(1);
+ r4.setValue("10");
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createIncompatibilityMap(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 testVariableRestrictionsIncompatibilityImpossibleRange()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent VariableRestrictions in pattern possibility, impossible range"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ Variable variable1 = new Variable();
+ variable1.setObjectId(0);
+ variable1.setObjectType(VerifierComponentType.FIELD);
+
+ VariableRestriction r1 = new VariableRestriction();
+ r1.setOperator(Operator.GREATER);
+ r1.setPatternId(0);
+ r1.setFieldId(0);
+ r1.setVariable(variable1);
+
+ VariableRestriction r2 = new VariableRestriction();
+ r2.setOperator(Operator.LESS);
+ r2.setPatternId(0);
+ r2.setFieldId(0);
+ r2.setVariable(variable1);
+
+ /*
+ * Pair that doesn't work.
+ */
+ Variable variable2 = new Variable();
+ variable2.setObjectId(1);
+ variable2.setObjectType(VerifierComponentType.FIELD);
+
+ VariableRestriction r3 = new VariableRestriction();
+ r3.setOperator(Operator.GREATER_OR_EQUAL);
+ r3.setPatternId(1);
+ r3.setFieldId(1);
+ r3.setVariable(variable2);
+
+ VariableRestriction r4 = new VariableRestriction();
+ r4.setOperator(Operator.EQUAL);
+ r4.setPatternId(1);
+ r4.setFieldId(1);
+ r4.setVariable(variable2);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createIncompatibilityMap(CauseType.RESTRICTION,
+ sessionResult.iterateObjects());
+
+ assertTrue((TestBase.causeMapContains(map, r1, r2) ^ TestBase
+ .causeMapContains(map, r2, r1)));
+
+ if (!map.isEmpty()) {
+ fail("More incompatibilities than was expected.");
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/missingEquality/MissingEqualityTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,10 +9,10 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.Severity;
@@ -25,23 +25,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Missing restriction in LiteralRestrictions"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingEqualityTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Cause cause = ((VerifierMessage) o).getFaulty();
String name = ((LiteralRestriction) cause).getRuleName();
ruleNames.add(name);
@@ -65,23 +65,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Missing restriction in VariableRestrictions"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("MissingEqualityTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ Cause cause = ((VerifierMessage) o).getFaulty();
String name = ((VariableRestriction) cause).getRuleName();
ruleNames.add(name);
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositePatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositePatternsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositePatternsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,99 @@
+package org.drools.verifier.opposites;
+
+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.LiteralRestriction;
+import org.drools.verifier.components.PatternPossibility;
+import org.drools.verifier.components.Restriction;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+import org.drools.verifier.report.components.Opposites;
+
+public class OppositePatternsTest extends OppositesBase {
+
+ public void testPatternsPossibilitiesOpposite() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite Patterns"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ PatternPossibility pp1 = new PatternPossibility();
+ PatternPossibility pp2 = new PatternPossibility();
+
+ Restriction r1 = new LiteralRestriction();
+ pp1.add(r1);
+
+ Restriction r2 = new LiteralRestriction();
+ pp2.add(r2);
+
+ Restriction r3 = new LiteralRestriction();
+ pp1.add(r3);
+
+ Restriction r4 = new LiteralRestriction();
+ pp2.add(r4);
+
+ Opposites o1 = new Opposites(r1, r2);
+ Opposites o2 = new Opposites(r3, r4);
+
+ /*
+ * Pair that doesn't work.
+ */
+ PatternPossibility pp3 = new PatternPossibility();
+ PatternPossibility pp4 = new PatternPossibility();
+
+ Restriction r5 = new LiteralRestriction();
+ pp3.add(r5);
+
+ Restriction r6 = new LiteralRestriction();
+ pp4.add(r6);
+
+ Restriction r7 = new LiteralRestriction();
+ pp3.add(r7);
+
+ Restriction r8 = new LiteralRestriction();
+ pp4.add(r8);
+
+ Opposites o3 = new Opposites(r5, r6);
+
+ data.add(r1);
+ data.add(r2);
+ data.add(r3);
+ data.add(r4);
+ data.add(r5);
+ data.add(r6);
+ data.add(r7);
+ data.add(r8);
+ data.add(pp1);
+ data.add(pp2);
+ data.add(pp3);
+ data.add(pp4);
+ data.add(o1);
+ data.add(o2);
+ data.add(o3);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<Cause, Set<Cause>> map = createOppositesMap(
+ CauseType.PATTERN_POSSIBILITY, sessionResult.iterateObjects());
+
+ assertTrue((TestBase.causeMapContains(map, pp1, pp2) ^ TestBase
+ .causeMapContains(map, pp2, pp1)));
+
+ if (!map.isEmpty()) {
+ fail("More opposites than was expected.");
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositeRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositeRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositeRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,320 @@
+package org.drools.verifier.opposites;
+
+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.MatchesEvaluatorsDefinition;
+import org.drools.base.evaluators.Operator;
+import org.drools.verifier.TestBase;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.components.Variable;
+import org.drools.verifier.components.VariableRestriction;
+import org.drools.verifier.components.VerifierComponentType;
+import org.drools.verifier.report.components.Cause;
+import org.drools.verifier.report.components.CauseType;
+
+public class OppositeRestrictionsTest extends OppositesBase {
+
+ public void testLiteralRestrictionOpposite() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite 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 opposites than was expected.");
+ }
+ }
+
+ public void testLiteralRestrictionOppositeWithRangesGreaterOrEqualAndLess()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite 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 opposites than was expected.");
+ }
+ }
+
+ public void testLiteralRestrictionOppositeWithRangesGreaterAndLessOrEqual()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite 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 opposites than was expected.");
+ }
+ }
+
+ public void testLiteralRestrictionOppositeWithRangesLessAndGreaterForIntsAndDates()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite 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 opposites than was expected.");
+ }
+ }
+
+ public void testLiteralRestrictionOppositeWithRangesLessOrEqualAndGreaterOrEqualForIntsAndDates()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite 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 opposites than was expected.");
+ }
+ }
+
+ public void testVariableRestrictionOpposite() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Opposite VariableRestrictions in pattern possibility"));
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * Working pair
+ */
+ Variable variable1 = new Variable();
+ variable1.setObjectId(1);
+ variable1.setObjectType(VerifierComponentType.FIELD);
+
+ VariableRestriction r1 = new VariableRestriction();
+ r1.setPatternId(0);
+ r1.setFieldId(0);
+ r1.setOperator(Operator.GREATER_OR_EQUAL);
+ r1.setVariable(variable1);
+
+ VariableRestriction r2 = new VariableRestriction();
+ r1.setPatternId(0);
+ r2.setFieldId(0);
+ r2.setOperator(Operator.LESS);
+ r2.setVariable(variable1);
+
+ String containsOperator = "contains";
+
+ Variable variable2 = new Variable();
+ variable2.setObjectId(2);
+ variable2.setObjectType(VerifierComponentType.FIELD);
+
+ VariableRestriction r3 = new VariableRestriction();
+ r3.setPatternId(1);
+ r3.setFieldId(1);
+ r3.setOperator(Operator.determineOperator(containsOperator, false));
+ r3.setVariable(variable2);
+
+ VariableRestriction r4 = new VariableRestriction();
+ r4.setPatternId(1);
+ r4.setFieldId(1);
+ r4.setOperator(Operator.determineOperator(containsOperator, true));
+ r4.setVariable(variable2);
+
+ /*
+ * Pair that doesn't work.
+ */
+ Variable variable3 = new Variable();
+ variable3.setObjectId(3);
+ variable3.setObjectType(VerifierComponentType.FIELD);
+
+ VariableRestriction r5 = new VariableRestriction();
+ r5.setPatternId(2);
+ r5.setFieldId(1);
+ r5.setOperator(Operator.GREATER_OR_EQUAL);
+ r5.setVariable(variable3);
+
+ VariableRestriction r6 = new VariableRestriction();
+ r6.setPatternId(2);
+ r6.setFieldId(1);
+ r6.setOperator(Operator.EQUAL);
+ r6.setVariable(variable3);
+
+ 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)));
+
+ if (!map.isEmpty()) {
+ fail("More opposites than was expected.");
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositesBase.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositesBase.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/opposites/OppositesBase.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,56 @@
+package org.drools.verifier.opposites;
+
+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.Opposites;
+
+public class OppositesBase 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 opposites map from Opposites objects, one rule may have several
+ * opposing 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 Opposites) {
+ Opposites r = (Opposites) 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;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/PatternOrderTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,11 +7,11 @@
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.components.VerifierComponent;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Severity;
public class PatternOrderTest extends TestBase {
@@ -23,24 +23,24 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise evals inside pattern"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("OptimisationPatternOrderTest.drl"),
- result.getAnalyticsData());
+ result.getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ String name = ((VerifierMessage) o).getCauses().toArray(
+ new VerifierComponent[2])[0].getRuleName();
ruleNames.add(name);
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/optimisation/RestrictionOrderTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -10,15 +10,15 @@
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.VerifierComponent;
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.Severity;
@@ -31,23 +31,23 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise restrictions inside operator"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
- result.getAnalyticsData());
+ result.getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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(
+ if (o instanceof VerifierMessage) {
+ String name = ((VerifierMessage) o).getCauses().toArray(
new Restriction[2])[0].getRuleName();
ruleNames.add(name);
@@ -130,21 +130,21 @@
r6.setOrderNumber(3);
testData.add(r6);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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(
+ if (o instanceof VerifierMessage) {
+ Cause left = ((VerifierMessage) o).getCauses().toArray(
new Cause[2])[0];
- Cause right = ((AnalyticsMessage) o).getCauses().toArray(
+ Cause right = ((VerifierMessage) o).getCauses().toArray(
new Cause[2])[1];
pairs.put(left, right);
@@ -170,24 +170,24 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise predicates inside operator"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> testData = getTestData(this.getClass()
.getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
- result.getAnalyticsData());
+ result.getVerifierData());
session.setGlobal("result", result);
session.executeWithResults(testData);
- Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+ Iterator<VerifierMessageBase> 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();
+ if (o instanceof VerifierMessage) {
+ String name = ((VerifierMessage) o).getCauses().toArray(
+ new VerifierComponent[2])[0].getRuleName();
ruleNames.add(name);
}
Added: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/overlaps/OverlappingRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/overlaps/OverlappingRestrictionsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/overlaps/OverlappingRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -0,0 +1,117 @@
+package org.drools.verifier.overlaps;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+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.VerifierComponent;
+import org.drools.verifier.components.Field;
+import org.drools.verifier.components.LiteralRestriction;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.Subsumption;
+
+public class OverlappingRestrictionsTest extends TestBase {
+
+ public void testOverlap() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Restrictions.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find overlapping restrictions"));
+
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
+
+ Collection<Object> data = new ArrayList<Object>();
+
+ /*
+ * There restrictions overlap
+ */
+ String ruleName1 = "Rule 1";
+
+ Field field1 = new Field();
+
+ LiteralRestriction lr1 = new LiteralRestriction();
+ lr1.setRuleName(ruleName1);
+ lr1.setFieldId(field1.getId());
+ lr1.setValue("1.0");
+ lr1.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr2 = new LiteralRestriction();
+ lr2.setRuleName(ruleName1);
+ lr2.setFieldId(field1.getId());
+ lr2.setValue("2.0");
+ lr2.setOperator(Operator.GREATER);
+
+ Subsumption s1 = new Subsumption(lr1, lr2);
+
+ /*
+ * There restrictions do not overlap
+ */
+ String ruleName2 = "Rule 2";
+
+ Field field2 = new Field();
+
+ LiteralRestriction lr3 = new LiteralRestriction();
+ lr3.setRuleName(ruleName2);
+ lr3.setFieldId(field2.getId());
+ lr3.setValue("1.0");
+ lr3.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr4 = new LiteralRestriction();
+ lr4.setRuleName(ruleName2);
+ lr4.setFieldId(field2.getId());
+ lr4.setValue("2.0");
+ lr4.setOperator(Operator.GREATER);
+
+ LiteralRestriction lr5 = new LiteralRestriction();
+ lr5.setRuleName(ruleName2);
+ lr5.setFieldId(field2.getId());
+ lr5.setValue("1.5");
+ lr5.setOperator(Operator.LESS);
+
+ Subsumption s2 = new Subsumption(lr3, lr4);
+
+ data.add(lr1);
+ data.add(lr2);
+ data.add(lr3);
+ data.add(lr4);
+ data.add(lr5);
+ data.add(s1);
+ data.add(s2);
+
+ session.setGlobal("result", result);
+
+ session.executeWithResults(data);
+
+ Iterator<VerifierMessageBase> iter = result.getBySeverity(
+ Severity.NOTE).iterator();
+
+ Collection<String> ruleNames = new ArrayList<String>();
+ while (iter.hasNext()) {
+ Object o = (Object) iter.next();
+ if (o instanceof VerifierMessage) {
+ String name = ((VerifierMessage) o).getCauses().toArray(
+ new VerifierComponent[2])[0].getRuleName();
+
+ ruleNames.add(name);
+ }
+ }
+
+ assertTrue(ruleNames.remove(ruleName1));
+ assertFalse(ruleNames.remove(ruleName2));
+
+ if (!ruleNames.isEmpty()) {
+ for (String string : ruleNames) {
+ fail("Rule " + string + " caused an error.");
+ }
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/NotesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/NotesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/NotesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,10 +9,10 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Redundancy;
import org.drools.verifier.report.components.RedundancyType;
import org.drools.verifier.report.components.Severity;
@@ -44,18 +44,18 @@
objects.add(redundancy);
objects.add(possibility);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
- Collection<AnalyticsMessageBase> notes = result
+ Collection<VerifierMessageBase> notes = result
.getBySeverity(Severity.NOTE);
// Has at least one item.
assertEquals(1, notes.size());
- AnalyticsMessageBase note = notes.iterator().next();
+ VerifierMessageBase note = notes.iterator().next();
assertTrue(note.getFaulty().equals(redundancy));
}
@@ -85,18 +85,18 @@
objects.add(redundancy);
objects.add(possibility);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
- Collection<AnalyticsMessageBase> notes = result
+ Collection<VerifierMessageBase> notes = result
.getBySeverity(Severity.NOTE);
// Has at least one item.
assertEquals(1, notes.size());
- AnalyticsMessageBase note = notes.iterator().next();
+ VerifierMessageBase note = notes.iterator().next();
assertTrue(note.getFaulty().equals(redundancy));
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundancyTestBase.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -7,7 +7,7 @@
import java.util.Set;
import org.drools.verifier.TestBase;
-import org.drools.verifier.components.AnalyticsComponent;
+import org.drools.verifier.components.VerifierComponent;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.CauseType;
import org.drools.verifier.report.components.Redundancy;
@@ -33,8 +33,8 @@
Object o = (Object) iter.next();
if (o instanceof Redundancy) {
Redundancy r = (Redundancy) o;
- AnalyticsComponent left = (AnalyticsComponent) r.getLeft();
- AnalyticsComponent right = (AnalyticsComponent) r.getRight();
+ VerifierComponent left = (VerifierComponent) r.getLeft();
+ VerifierComponent right = (VerifierComponent) r.getRight();
if (map.containsKey(left.getRuleName())) {
Set<String> set = map.get(left.getRuleName());
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantConsequencesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,8 +8,8 @@
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;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
public class RedundantConsequencesTest extends RedundancyTestBase {
@@ -20,10 +20,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant TextConsequences"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("ConsequenceRedundancyTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantPossibilitiesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,13 +9,13 @@
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.VerifierRule;
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.CauseType;
import org.drools.verifier.report.components.Redundancy;
@@ -32,7 +32,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
String ruleName1 = "Rule 1";
@@ -92,7 +92,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -101,9 +101,9 @@
String ruleName1 = "Rule 1";
String ruleName2 = "Rule 2";
- AnalyticsRule r1 = new AnalyticsRule();
+ VerifierRule r1 = new VerifierRule();
r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
+ VerifierRule r2 = new VerifierRule();
r2.setRuleName(ruleName2);
PatternPossibility pp1 = new PatternPossibility();
@@ -140,9 +140,9 @@
String ruleName3 = "Rule 3";
String ruleName4 = "Rule 4";
- AnalyticsRule r3 = new AnalyticsRule();
+ VerifierRule r3 = new VerifierRule();
r3.setRuleName(ruleName3);
- AnalyticsRule r4 = new AnalyticsRule();
+ VerifierRule r4 = new VerifierRule();
r4.setRuleName(ruleName4);
PatternPossibility pp3 = new PatternPossibility();
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -8,22 +8,22 @@
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;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
public class RedundantRestrictionsTest extends RedundancyTestBase {
- public void testAnalyticsLiteralRestrictionRedundancy() throws Exception {
+ public void testVerifierLiteralRestrictionRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Restrictions.drl"));
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant LiteralRestriction"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("RedundancyLiteralRestrictionTest.drl"),
- result.getAnalyticsData());
+ result.getVerifierData());
session.setGlobal("result", result);
@@ -50,17 +50,17 @@
}
}
- public void testAnalyticsVariableRestrictionRedundancy() throws Exception {
+ public void testVerifierVariableRestrictionRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Restrictions.drl"));
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant VariableRestriction"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("SubsumptionVariableRestrictionTest.drl"),
- result.getAnalyticsData());
+ result.getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/RedundantRulesAndPatternsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,10 +9,10 @@
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.VerifierRule;
import org.drools.verifier.components.TextConsequence;
-import org.drools.verifier.dao.AnalyticsResult;
-import org.drools.verifier.dao.AnalyticsResultFactory;
+import org.drools.verifier.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Redundancy;
public class RedundantRulesAndPatternsTest extends RedundancyTestBase {
@@ -29,9 +29,9 @@
String ruleName1 = "Rule 1";
String ruleName2 = "Rule 2";
- AnalyticsRule rule1 = new AnalyticsRule();
+ VerifierRule rule1 = new VerifierRule();
rule1.setRuleName(ruleName1);
- AnalyticsRule rule2 = new AnalyticsRule();
+ VerifierRule rule2 = new VerifierRule();
rule2.setRuleName(ruleName2);
TextConsequence c1 = new TextConsequence();
@@ -49,7 +49,7 @@
data.add(r1);
data.add(r2);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
@@ -72,10 +72,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant Patterns with restrictions"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("PatternRedundancyTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
@@ -121,10 +121,10 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant Patterns without restrictions"));
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("PatternRedundancyTest.drl"), result
- .getAnalyticsData());
+ .getVerifierData());
session.setGlobal("result", result);
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/WarningsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/WarningsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/redundancy/WarningsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -6,12 +6,12 @@
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.VerifierRule;
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
+import org.drools.verifier.report.components.VerifierMessage;
+import org.drools.verifier.report.components.VerifierMessageBase;
import org.drools.verifier.report.components.Redundancy;
import org.drools.verifier.report.components.RedundancyType;
import org.drools.verifier.report.components.Severity;
@@ -27,8 +27,8 @@
Collection<Object> objects = new ArrayList<Object>();
- AnalyticsRule rule1 = new AnalyticsRule();
- AnalyticsRule rule2 = new AnalyticsRule();
+ VerifierRule rule1 = new VerifierRule();
+ VerifierRule rule2 = new VerifierRule();
Redundancy ruleRedundancy = new Redundancy(
RedundancyType.STRONG, rule1, rule2);
@@ -53,18 +53,18 @@
objects.add(rulePossibilityRedundancy1);
objects.add(rulePossibilityRedundancy2);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
- Collection<AnalyticsMessageBase> notes = result
+ Collection<VerifierMessageBase> notes = result
.getBySeverity(Severity.WARNING);
// Has at least one item.
assertEquals(1, notes.size());
- AnalyticsMessageBase warning = notes.iterator().next();
+ VerifierMessageBase warning = notes.iterator().next();
assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
}
@@ -77,8 +77,8 @@
Collection<Object> objects = new ArrayList<Object>();
- AnalyticsRule rule1 = new AnalyticsRule();
- AnalyticsRule rule2 = new AnalyticsRule();
+ VerifierRule rule1 = new VerifierRule();
+ VerifierRule rule2 = new VerifierRule();
Redundancy ruleRedundancy = new Redundancy(
RedundancyType.STRONG, rule1, rule2);
@@ -99,18 +99,18 @@
objects.add(rp2);
objects.add(rulePossibilityRedundancy1);
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
- Collection<AnalyticsMessageBase> notes = result
+ Collection<VerifierMessageBase> notes = result
.getBySeverity(Severity.WARNING);
// Has at least one item.
assertEquals(1, notes.size());
- AnalyticsMessageBase warning = notes.iterator().next();
+ VerifierMessageBase warning = notes.iterator().next();
assertTrue(warning.getFaulty().equals(rulePossibilityRedundancy1));
}
}
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantPossibilitiesTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -9,13 +9,13 @@
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.VerifierRule;
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Cause;
import org.drools.verifier.report.components.Redundancy;
import org.drools.verifier.report.components.RedundancyType;
@@ -32,7 +32,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -101,7 +101,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -172,7 +172,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -181,9 +181,9 @@
String ruleName1 = "Rule 1";
String ruleName2 = "Rule 2";
- AnalyticsRule r1 = new AnalyticsRule();
+ VerifierRule r1 = new VerifierRule();
r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
+ VerifierRule r2 = new VerifierRule();
r2.setRuleName(ruleName2);
PatternPossibility pp1 = new PatternPossibility();
@@ -241,7 +241,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -250,9 +250,9 @@
String ruleName1 = "Rule 1";
String ruleName2 = "Rule 2";
- AnalyticsRule r1 = new AnalyticsRule();
+ VerifierRule r1 = new VerifierRule();
r1.setRuleName(ruleName1);
- AnalyticsRule r2 = new AnalyticsRule();
+ VerifierRule r2 = new VerifierRule();
r2.setRuleName(ruleName2);
PatternPossibility pp1 = new PatternPossibility();
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java 2008-06-10 09:51:27 UTC (rev 20397)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/subsumption/SubsumptantRestrictionsTest.java 2008-06-10 11:03:26 UTC (rev 20398)
@@ -12,8 +12,8 @@
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.dao.VerifierResult;
+import org.drools.verifier.dao.VerifierResultFactory;
import org.drools.verifier.report.components.Cause;
public class SubsumptantRestrictionsTest extends SubsumptionTestBase {
@@ -27,7 +27,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
@@ -108,7 +108,7 @@
Collection<Object> data = new ArrayList<Object>();
- AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+ VerifierResult result = VerifierResultFactory.createVerifierResult();
session.setGlobal("result", result);
/*
More information about the jboss-svn-commits
mailing list