[jboss-svn-commits] JBL Code SVN: r17195 - in labs/jbossrules/trunk/drools-analytics/src: main/java/org/drools/analytics/dao and 9 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Dec 12 04:21:02 EST 2007
Author: Rikkola
Date: 2007-12-12 04:21:01 -0500 (Wed, 12 Dec 2007)
New Revision: 17195
Added:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/FindMissingNumber.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/FindMissingNumberTest.java
Removed:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/accumulateFunction/
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataFactory.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/accumulateFunction/
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Analyzer.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PatternSolver.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleSolver.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solvers.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Variables.drl
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckCleanTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDatesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDoublesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckIntegersTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/TestBase.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java
Log:
Changed some classes from public to package private. Changed static result classes to non static classes.
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Analyzer.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Analyzer.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Analyzer.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -5,9 +5,8 @@
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
-import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.report.ReportModeller;
import org.drools.analytics.report.html.ComponentsReportModeller;
import org.drools.lang.descr.PackageDescr;
@@ -19,12 +18,16 @@
*/
public class Analyzer {
+ private AnalyticsResult result = AnalyticsResultFactory
+ .createAnalyticsResult();
+
public void addPackageDescr(PackageDescr descr) {
try {
PackageDescrFlattener ruleFlattener = new PackageDescrFlattener();
- ruleFlattener.insert(descr);
+ ruleFlattener.addPackageDescrToData(descr, result
+ .getAnalyticsData());
} catch (Throwable t) {
t.printStackTrace();
@@ -33,18 +36,13 @@
public void fireAnalysis() {
try {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
- System.setProperty("drools.accumulate.function.validatePattern",
- "org.drools.analytics.accumulateFunction.ValidatePattern");
-
// load up the rule base
RuleBase ruleBase = createRuleBase();
WorkingMemory workingMemory = ruleBase.newStatefulSession();
- Collection<? extends Object> c = data.getAll();
+ Collection<? extends Object> c = result.getAnalyticsData().getAll();
for (Object o : c) {
workingMemory.insert(o);
@@ -65,7 +63,7 @@
* @return Analysis results as plain text.
*/
public String getResultAsPlainText() {
- return ReportModeller.writePlainText();
+ return ReportModeller.writePlainText(result);
}
/**
@@ -74,7 +72,7 @@
* @return Analysis results as XML
*/
public String getResultAsXML() {
- return ReportModeller.writeXML();
+ return ReportModeller.writeXML(result);
}
/**
@@ -83,7 +81,7 @@
* @return Analysis results as HTML
*/
public void writeComponentsHTML(String path) {
- ComponentsReportModeller.writeHTML(path);
+ ComponentsReportModeller.writeHTML(path, result);
}
/**
@@ -92,7 +90,6 @@
* @return Analysis result
*/
public AnalyticsResult getResult() {
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
return result;
}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/FindMissingNumber.java (from rev 17194, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/accumulateFunction/FindMissingNumber.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/FindMissingNumber.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/FindMissingNumber.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -0,0 +1,160 @@
+package org.drools.analytics;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.drools.analytics.components.Field;
+import org.drools.analytics.components.LiteralRestriction;
+
+public class FindMissingNumber {
+
+ public static final int MIN_NUMBER_OF_RESTRICTIONS = 4;
+
+ /**
+ * Test if the values in constraints are in pattern.
+ *
+ * @param restrictions
+ * @return false if can't find a pattern or constraints list is null or size
+ * of the list is under 3.
+ */
+ public static Number testForPattern(
+ Collection<LiteralRestriction> restrictions) {
+
+ if (restrictions == null
+ || restrictions.size() < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+
+ BigDecimal[] numbers = new BigDecimal[restrictions.size()];
+
+ int index = 0;
+ for (LiteralRestriction restriction : restrictions) {
+ if (restriction.getValueType() == Field.FieldType.DOUBLE) {
+ numbers[index++] = BigDecimal.valueOf(restriction
+ .getDoubleValue());
+ } else if (restriction.getValueType() == Field.FieldType.INT) {
+ numbers[index++] = BigDecimal
+ .valueOf(restriction.getIntValue());
+ }
+ }
+
+ Arrays.sort(numbers);
+
+ Number missingNumber = findSumPattern(numbers);
+ if (missingNumber != null) {
+ return missingNumber;
+ } else {
+ missingNumber = findMultiplicationPattern(numbers);
+ if (missingNumber != null) {
+ return missingNumber;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Looks for sum pattern, on each step x is added or removed. -x is the same
+ * as +(-x) so this works for both.
+ *
+ * @param numbers
+ * @return true if pattern is found.
+ */
+ protected static Number findSumPattern(BigDecimal[] numbers) {
+ if (numbers == null || numbers.length < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+ BigDecimal gap = null;
+ Number missingNumber = null;
+
+ BigDecimal a = numbers[0];
+ BigDecimal b = numbers[1];
+ BigDecimal c = numbers[2];
+ BigDecimal d = numbers[3];
+
+ // Uses first four numbers to check if there is a pattern and to
+ // calculate the gap between them. One missing value is allowed.
+ if (b.subtract(a).equals(c.subtract(b))) {
+ gap = b.subtract(a);
+ } else if (c.subtract(b).equals(d.subtract(c))) {
+ gap = c.subtract(b);
+ } else if (b.subtract(a).equals(d.subtract(c))) {
+ gap = b.subtract(a);
+ } else {
+ // No pattern found.
+ return null;
+ }
+
+ for (int i = 0; i < (numbers.length - 1); i++) {
+ BigDecimal first = numbers[i];
+ BigDecimal second = numbers[i + 1];
+
+ if (missingNumber == null && !second.subtract(first).equals(gap)) {
+ missingNumber = second.subtract(gap);
+ } else if (!second.subtract(first).equals(gap)
+ && missingNumber != null) {
+ // Happends if there is no pattern found, or more than 1
+ // missing number.
+ return null;
+ }
+ }
+
+ return missingNumber;
+ }
+
+ /**
+ * Looks for multiplication pattern, on each step x multiplied or divided.
+ * *x is the same as *(1/x) so this works for both.
+ *
+ * @param numbers
+ * @return true if pattern is found.
+ */
+ protected static Number findMultiplicationPattern(BigDecimal[] numbers) {
+ if (numbers == null || numbers.length < MIN_NUMBER_OF_RESTRICTIONS) {
+ return null;
+ }
+ try {
+
+ BigDecimal gap = null;
+ Number missingNumber = null;
+
+ BigDecimal a = numbers[0];
+ BigDecimal b = numbers[1];
+ BigDecimal c = numbers[2];
+ BigDecimal d = numbers[3];
+
+ // Uses first four numbers to check if there is a pattern and to
+ // calculate the gap between them. One missing value is allowed.
+ if (b.divide(a).equals(c.divide(b))) {
+ gap = b.divide(a);
+ } else if (c.divide(b).equals(d.divide(c))) {
+ gap = c.divide(b);
+ } else if (b.divide(a).equals(d.divide(c))) {
+ gap = b.divide(a);
+ } else {
+ // No pattern found.
+ return null;
+ }
+
+ BigDecimal first = null;
+ BigDecimal second = null;
+ for (int i = 0; i < (numbers.length - 1); i++) {
+ first = numbers[i];
+ second = numbers[i + 1];
+
+ if (missingNumber == null && !second.divide(first).equals(gap)) {
+ missingNumber = first.multiply(gap);
+ } else if (!second.divide(first).equals(gap)
+ && missingNumber != null) {
+ // Happends if there is no pattern found, or more than 1
+ // missing number.
+ return null;
+ }
+ }
+ return missingNumber;
+ } catch (Exception e) {
+ return null;
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -30,7 +30,6 @@
import org.drools.analytics.components.Variable;
import org.drools.analytics.components.VariableRestriction;
import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.base.evaluators.Operator;
import org.drools.lang.descr.AccessorDescr;
import org.drools.lang.descr.AccumulateDescr;
@@ -65,10 +64,12 @@
* @author Toni Rikkola
*
*/
-public class PackageDescrFlattener {
+class PackageDescrFlattener {
private Solvers solvers = new Solvers();
+ private AnalyticsData data;
+
private RulePackage currentPackage = null;
private AnalyticsRule currentRule = null;
private Pattern currentPattern = null;
@@ -76,8 +77,19 @@
private AnalyticsClass currentClass = null;
private Field currentField = null;
- public void insert(PackageDescr packageDescr) {
+ /**
+ * Adds packageDescr to given AnalyticsData object
+ *
+ * @param packageDescr
+ * PackageDescr that will be flattened.
+ * @param data
+ * AnalyticsData where the flattened objects are added.
+ */
+ public void addPackageDescrToData(PackageDescr packageDescr,
+ AnalyticsData data) {
+ this.data = data;
+
flatten(packageDescr);
formPossibilities();
@@ -223,7 +235,6 @@
*/
private AnalyticsPredicateDescr flatten(PredicateDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
AnalyticsPredicateDescr predicate = new AnalyticsPredicateDescr();
predicate.setRuleName(currentRule.getRuleName());
@@ -246,7 +257,6 @@
*/
private AnalyticsEvalDescr flatten(EvalDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
AnalyticsEvalDescr eval = new AnalyticsEvalDescr();
eval.setRuleId(currentRule.getId());
@@ -355,7 +365,6 @@
}
private void flatten(PackageDescr descr) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
RulePackage rulePackage = data.getRulePackageByName(descr.getName());
if (rulePackage == null) {
@@ -371,7 +380,6 @@
}
private void flatten(RuleDescr descr, AnalyticsComponent parent) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
AnalyticsRule rule = new AnalyticsRule();
currentRule = rule;
@@ -401,7 +409,6 @@
* @return Analytics object that implements the Consequence interface.
*/
private Consequence flattenConsequence(AnalyticsComponent parent, Object o) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
TextConsequence consequence = new TextConsequence();
@@ -441,7 +448,6 @@
private void flatten(OrDescr descr, AnalyticsComponent parent,
int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.OR);
operatorDescr.setOrderNumber(orderNumber);
operatorDescr.setParent(parent);
@@ -455,7 +461,6 @@
private void flatten(AndDescr descr, AnalyticsComponent parent,
int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
OperatorDescr operatorDescr = new OperatorDescr(OperatorDescr.Type.AND);
operatorDescr.setOrderNumber(orderNumber);
operatorDescr.setParent(parent);
@@ -469,7 +474,6 @@
private int flatten(PatternDescr descr, AnalyticsComponent parent,
int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
AnalyticsClass clazz = data.getClassByPackageAndName(descr
.getObjectType());
@@ -525,7 +529,6 @@
private void flatten(FieldConstraintDescr descr, AnalyticsComponent parent,
int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
Field field = data.getFieldByClassAndFieldName(currentClass.getName(),
descr.getFieldName());
@@ -567,7 +570,6 @@
*/
private void flatten(FieldBindingDescr descr, AnalyticsComponent parent,
int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
Variable variable = new Variable();
variable.setRuleId(currentRule.getId());
@@ -591,7 +593,6 @@
*/
private void flatten(VariableRestrictionDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
Variable variable = data.getVariableByRuleAndVariableName(currentRule
.getRuleName(), descr.getIdentifier());
@@ -603,8 +604,8 @@
restriction.setPatternIsNot(currentPattern.isPatternNot());
restriction.setConstraintId(currentConstraint.getId());
restriction.setFieldId(currentConstraint.getFieldId());
- restriction.setOperator(Operator
- .determineOperator(descr.getEvaluator(), descr.isNegated()));
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
restriction.setVariable(variable);
restriction.setOrderNumber(orderNumber);
restriction.setParent(parent);
@@ -623,7 +624,6 @@
*/
private void flatten(ReturnValueRestrictionDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
ReturnValueRestriction restriction = new ReturnValueRestriction();
@@ -633,8 +633,8 @@
restriction.setPatternIsNot(currentPattern.isPatternNot());
restriction.setConstraintId(currentConstraint.getId());
restriction.setFieldId(currentConstraint.getFieldId());
- restriction.setOperator(Operator
- .determineOperator(descr.getEvaluator(), descr.isNegated()));
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
restriction.setClassMethodName(descr.getClassMethodName());
restriction.setContent(descr.getContent());
restriction.setDeclarations(descr.getDeclarations());
@@ -653,7 +653,6 @@
*/
private void flatten(LiteralRestrictionDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
LiteralRestriction restriction = new LiteralRestriction();
@@ -664,8 +663,8 @@
restriction.setPatternIsNot(currentPattern.isPatternNot());
restriction.setConstraintId(currentConstraint.getId());
restriction.setFieldId(currentConstraint.getFieldId());
- restriction.setOperator(Operator
- .determineOperator(descr.getEvaluator(), descr.isNegated()));
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
restriction.setValue(descr.getText());
restriction.setOrderNumber(orderNumber);
restriction.setParent(parent);
@@ -684,7 +683,6 @@
*/
private void flatten(QualifiedIdentifierRestrictionDescr descr,
AnalyticsComponent parent, int orderNumber) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
String text = descr.getText();
Variable variable = data.getVariableByRuleAndVariableName(currentRule
@@ -697,8 +695,8 @@
restriction.setPatternIsNot(currentPattern.isPatternNot());
restriction.setConstraintId(currentConstraint.getId());
restriction.setFieldId(currentConstraint.getFieldId());
- restriction.setOperator(Operator
- .determineOperator(descr.getEvaluator(), descr.isNegated()));
+ restriction.setOperator(Operator.determineOperator(
+ descr.getEvaluator(), descr.isNegated()));
restriction.setVariableId(variable.getId());
restriction.setVariableName(text.substring(0, text.indexOf(".")));
restriction.setVariablePath(text.substring(text.indexOf(".")));
@@ -727,7 +725,6 @@
}
private void formPossibilities() {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
for (PatternPossibility possibility : solvers.getPatternPossibilities()) {
data.save(possibility);
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PatternSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PatternSolver.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PatternSolver.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
*
* @author Toni Rikkola
*/
-public class PatternSolver extends Solver {
+class PatternSolver extends Solver {
private Pattern pattern;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleSolver.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleSolver.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
*
* @author Toni Rikkola
*/
-public class RuleSolver extends Solver {
+class RuleSolver extends Solver {
private AnalyticsRule rule;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solvers.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solvers.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/Solvers.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -16,7 +16,7 @@
*
* @author Toni Rikkola
*/
-public class Solvers {
+ class Solvers {
private RuleSolver ruleSolver = null;
private PatternSolver patternSolver = null;
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataFactory.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataFactory.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -1,31 +0,0 @@
-package org.drools.analytics.dao;
-
-public class AnalyticsDataFactory {
-
- private static AnalyticsData data;
- private static AnalyticsResult result;
-
- public static AnalyticsData getAnalyticsData() {
- if (data == null) {
- data = new AnalyticsDataMaps();
- }
-
- return data;
- }
-
- public static AnalyticsResult getAnalyticsResult() {
- if (result == null) {
- result = new AnalyticsResultNormal();
- }
-
- return result;
- }
-
- public static void clearAnalyticsResult() {
- result = new AnalyticsResultNormal();
- }
-
- public static void clearAnalyticsData() {
- data = new AnalyticsDataMaps();
- }
-}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -20,6 +20,8 @@
public void save(MissingNumberPattern missingNumberPattern);
+ public AnalyticsData getAnalyticsData();
+
public Collection<RangeCheckCause> getRangeCheckCauses();
public Collection<RangeCheckCause> getRangeCheckCausesByFieldId(int id);
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java (from rev 17194, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataFactory.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultFactory.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -0,0 +1,9 @@
+package org.drools.analytics.dao;
+
+public class AnalyticsResultFactory {
+
+ public static AnalyticsResult createAnalyticsResult() {
+
+ return new AnalyticsResultNormal();
+ }
+}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -27,6 +27,8 @@
private List<AnalyticsMessageBase> messages = new ArrayList<AnalyticsMessageBase>();
private DataTree<AnalyticsMessageBase.Severity, AnalyticsMessageBase> messagesBySeverity = new DataTree<AnalyticsMessageBase.Severity, AnalyticsMessageBase>();
+ private AnalyticsData data = new AnalyticsDataMaps();
+
public void save(AnalyticsMessageBase message) {
messages.add(message);
messagesBySeverity.put(message.getSeverity(), message);
@@ -88,4 +90,8 @@
return result;
}
+
+ public AnalyticsData getAnalyticsData() {
+ return data;
+ }
}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -3,7 +3,6 @@
import java.util.Collection;
import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -18,8 +17,7 @@
*/
public class ReportModeller {
- public static String writeXML() {
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ public static String writeXML(AnalyticsResult result) {
XStream xstream = new XStream();
xstream.alias("result", AnalyticsResult.class);
@@ -35,8 +33,7 @@
return "<?xml version=\"1.0\"?>\n" + xstream.toXML(result);
}
- public static String writePlainText() {
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ public static String writePlainText(AnalyticsResult result) {
StringBuffer str = new StringBuffer();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingRange.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -32,14 +32,21 @@
} else if (e.equals(Operator.LESS_OR_EQUAL)) {
return Operator.GREATER;
} else {
- return Operator.determineOperator( e.getOperatorString(), !e.isNegated() );
- }
+ return Operator.determineOperator(e.getOperatorString(), !e
+ .isNegated());
+ }
}
public int compareTo(MissingRange another) {
- MissingRange anotherMissingRange = ((MissingRange) another);
+ int value = this.id - another.getId();
- return this.id - anotherMissingRange.getId();
+ if (value > 0) {
+ return 1;
+ } else if (value < 0) {
+ return -1;
+ } else {
+ return 0;
+ }
}
public int getId() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/AnalyticsMessagesVisitor.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -5,6 +5,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.drools.analytics.dao.AnalyticsData;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
@@ -15,7 +16,7 @@
*
* @author Toni Rikkola
*/
-public class AnalyticsMessagesVisitor extends ReportVisitor {
+class AnalyticsMessagesVisitor extends ReportVisitor {
private static String ANALYSIS_MESSAGES_TEMPLATE = "analyticsMessages.htm";
private static String ANALYSIS_MESSAGE_TEMPLATE = "analyticsMessage.htm";
@@ -25,13 +26,13 @@
public static String ERRORS = "Errors";
public static String visitAnalyticsMessagesCollection(String title,
- Collection<AnalyticsMessageBase> messages) {
+ Collection<AnalyticsMessageBase> messages, AnalyticsData data) {
Map<String, Object> map = new HashMap<String, Object>();
Collection<String> messageTemplates = new ArrayList<String>();
String myTemplate = readFile(ANALYSIS_MESSAGES_TEMPLATE);
for (AnalyticsMessageBase message : messages) {
- messageTemplates.add(visitAnalyticsMessage(message));
+ messageTemplates.add(visitAnalyticsMessage(message, data));
}
map.put("title", title);
@@ -40,9 +41,11 @@
return TemplateInterpreter.evalToString(myTemplate, map);
}
- public static String visitAnalyticsMessage(AnalyticsMessageBase message) {
+ public static String visitAnalyticsMessage(AnalyticsMessageBase message,
+ AnalyticsData data) {
if (message instanceof AnalyticsRangeCheckMessage) {
- return visitAnalyticsMessage((AnalyticsRangeCheckMessage) message);
+ return visitAnalyticsMessage((AnalyticsRangeCheckMessage) message,
+ data);
} else if (message instanceof AnalyticsMessage) {
return visitAnalyticsMessage((AnalyticsMessage) message);
}
@@ -51,10 +54,10 @@
}
public static String visitAnalyticsMessage(
- AnalyticsRangeCheckMessage message) {
+ AnalyticsRangeCheckMessage message, AnalyticsData data) {
return MissingRangesReportVisitor.visitRangeCheckMessage(
- UrlFactory.THIS_FOLDER, message);
+ UrlFactory.THIS_FOLDER, message, data);
}
public static String visitAnalyticsMessage(AnalyticsMessage message) {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,14 +7,13 @@
import org.drools.analytics.components.AnalyticsRule;
import org.drools.analytics.components.Field;
import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
public class ComponentsReportModeller extends ReportModeller {
- public static void writeHTML(String path) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
+ public static void writeHTML(String path, AnalyticsResult result) {
+ AnalyticsData data = result.getAnalyticsData();
// Source folder
File sourceFolder = new File(path + UrlFactory.SOURCE_FOLDER);
@@ -43,7 +42,7 @@
writeToFile(ruleFolder + File.separator + rule.getId() + ".htm",
formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitRule(
- UrlFactory.PREVIOUS_FOLDER, rule)));
+ UrlFactory.PREVIOUS_FOLDER, rule, data)));
}
// ObjectTypes
@@ -55,7 +54,7 @@
writeToFile(objectTypeFolder + File.separator + objectType.getId()
+ ".htm", formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitObjectType(
- UrlFactory.PREVIOUS_FOLDER, objectType)));
+ UrlFactory.PREVIOUS_FOLDER, objectType, data)));
}
// Fields
@@ -67,11 +66,11 @@
writeToFile(fieldFolder + File.separator + field.getId() + ".htm",
formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitField(
- UrlFactory.PREVIOUS_FOLDER, field)));
+ UrlFactory.PREVIOUS_FOLDER, field, result)));
}
// Analytics messages
- writeMessages(path);
+ writeMessages(path, result);
// css files
String cssFolder = path + UrlFactory.SOURCE_FOLDER + File.separator
@@ -96,20 +95,24 @@
}
}
- private static void writeMessages(String path) {
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ private static void writeMessages(String path, AnalyticsResult result) {
+ AnalyticsData data = result.getAnalyticsData();
+
String errors = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
- AnalyticsMessage.Severity.ERROR.getTuple(), result
- .getBySeverity(AnalyticsMessage.Severity.ERROR));
+ AnalyticsMessage.Severity.ERROR.getTuple(),
+ result.getBySeverity(AnalyticsMessage.Severity.ERROR),
+ data);
String warnings = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
AnalyticsMessage.Severity.WARNING.getTuple(),
- result.getBySeverity(AnalyticsMessage.Severity.WARNING));
+ result.getBySeverity(AnalyticsMessage.Severity.WARNING),
+ data);
String notes = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
AnalyticsMessage.Severity.NOTE.getTuple(), result
- .getBySeverity(AnalyticsMessage.Severity.NOTE));
+ .getBySeverity(AnalyticsMessage.Severity.NOTE),
+ data);
writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
+ UrlFactory.HTML_FILE_ANALYTICS_MESSAGES, formPage(
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportVisitor.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -10,12 +10,11 @@
import org.drools.analytics.components.Restriction;
import org.drools.analytics.components.RulePackage;
import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.RangeCheckCause;
import org.mvel.TemplateInterpreter;
-public class ComponentsReportVisitor extends ReportVisitor {
+class ComponentsReportVisitor extends ReportVisitor {
public static String getCss(String fileName) {
return readFile(fileName);
@@ -50,8 +49,8 @@
return TemplateInterpreter.evalToString(myTemplate, map);
}
- public static String visitRule(String sourceFolder, AnalyticsRule rule) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
+ public static String visitRule(String sourceFolder, AnalyticsRule rule,
+ AnalyticsData data) {
Collection<AnalyticsClass> objectTypes = data.getClassesByRuleName(rule
.getRuleName());
@@ -68,8 +67,7 @@
}
public static String visitObjectType(String sourceFolder,
- AnalyticsClass objectType) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
+ AnalyticsClass objectType, AnalyticsData data) {
Collection<AnalyticsRule> rules = data.getRulesByClassId(objectType
.getId());
@@ -86,9 +84,9 @@
return TemplateInterpreter.evalToString(myTemplate, map);
}
- public static String visitField(String sourceFolder, Field field) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ 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());
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -10,14 +10,13 @@
import org.drools.analytics.components.LiteralRestriction;
import org.drools.analytics.components.Restriction;
import org.drools.analytics.dao.AnalyticsData;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.DataTree;
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
import org.drools.analytics.report.components.RangeCheckCause;
import org.drools.base.evaluators.Operator;
import org.mvel.TemplateInterpreter;
-public class MissingRangesReportVisitor extends ReportVisitor {
+class MissingRangesReportVisitor extends ReportVisitor {
public static Collection<String> visitRestrictionsCollection(
String sourceFolder, Collection<Restriction> restrictions,
@@ -122,8 +121,7 @@
}
public static String visitRangeCheckMessage(String sourceFolder,
- AnalyticsRangeCheckMessage message) {
- AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
+ AnalyticsRangeCheckMessage message, AnalyticsData data) {
Collection<Restriction> restrictions = data
.getRestrictionsByFieldId(message.getFaulty().getId());
Field field = (Field) message.getFaulty();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -13,7 +13,7 @@
import org.mvel.TemplateInterpreter;
-public abstract class ReportModeller {
+abstract class ReportModeller {
protected static String formPage(String sourceFolder, String content) {
Map<String, Object> map = new HashMap<String, Object>();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Patterns.drl 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Patterns.drl 2007-12-12 09:21:01 UTC (rev 17195)
@@ -5,12 +5,10 @@
import org.drools.base.evaluators.Operator;
import org.drools.analytics.components.*;
-import org.drools.analytics.accumulateFunction.ValidatePattern;
-import org.drools.analytics.accumulateFunction.ValidatePatternResult;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.MissingNumberPattern;
import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.accumulateFunction.FindMissingNumber;
+import org.drools.analytics.FindMissingNumber;
import java.util.ArrayList;
import java.util.List;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Variables.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Variables.drl 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/rangeChecks/Variables.drl 2007-12-12 09:21:01 UTC (rev 17195)
@@ -2,8 +2,6 @@
#list any import classes here.
import org.drools.analytics.components.*;
-import org.drools.analytics.accumulateFunction.ValidatePattern;
-import org.drools.analytics.accumulateFunction.ValidatePatternResult;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Gap;
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.StatelessSession;
import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -27,12 +27,12 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"No action - possibly commented out"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
+
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("ConsequenceTest.drl"));
+ .getResourceAsStream("ConsequenceTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
Added: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/FindMissingNumberTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/FindMissingNumberTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/FindMissingNumberTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -0,0 +1,131 @@
+package org.drools.analytics;
+
+import java.math.BigDecimal;
+
+import org.drools.analytics.FindMissingNumber;
+
+import junit.framework.TestCase;
+
+public class FindMissingNumberTest extends TestCase {
+
+ public void testfindSumPattern() {
+ // Sum +2 missing number 4
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(2),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(10) }).doubleValue() == 4);
+ // +10 missing number 50
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10),
+ BigDecimal.valueOf(20), BigDecimal.valueOf(30),
+ BigDecimal.valueOf(40), BigDecimal.valueOf(60),
+ BigDecimal.valueOf(70) }).doubleValue() == 50);
+ // +66 missing number 308
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(110),
+ BigDecimal.valueOf(176), BigDecimal.valueOf(242),
+ BigDecimal.valueOf(374) }).doubleValue() == 308);
+
+ // Deduction -2 missing number 8
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(2) }).doubleValue() == 8);
+ // -337 missing number -11
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(663),
+ BigDecimal.valueOf(326), BigDecimal.valueOf(-348),
+ BigDecimal.valueOf(-685) }).doubleValue() == -11);
+ // -31 missing number 4350
+ assertTrue(FindMissingNumber.findSumPattern(
+ new BigDecimal[] { BigDecimal.valueOf(4443),
+ BigDecimal.valueOf(4412), BigDecimal.valueOf(4381),
+ BigDecimal.valueOf(4319) }).doubleValue() == 4350);
+
+ // Not valid
+ // Not in pattern.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(1), BigDecimal.valueOf(2),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(6),
+ BigDecimal.valueOf(8), BigDecimal.valueOf(11) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(5), BigDecimal.valueOf(3),
+ BigDecimal.valueOf(54353), BigDecimal.valueOf(54554),
+ BigDecimal.valueOf(232), BigDecimal.valueOf(123) }) == null);
+ // No missing values.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(6), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(10), BigDecimal.valueOf(12),
+ BigDecimal.valueOf(14) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(10), BigDecimal.valueOf(20),
+ BigDecimal.valueOf(30), BigDecimal.valueOf(40),
+ BigDecimal.valueOf(50), BigDecimal.valueOf(60) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(-15), BigDecimal.valueOf(-10),
+ BigDecimal.valueOf(-5), BigDecimal.valueOf(0),
+ BigDecimal.valueOf(5), BigDecimal.valueOf(10),
+ BigDecimal.valueOf(15) }) == null);
+ // Under 4 values always returns null.
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(6) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] {
+ BigDecimal.valueOf(2), BigDecimal.valueOf(4) }) == null);
+ assertTrue(FindMissingNumber.findSumPattern(new BigDecimal[] { BigDecimal
+ .valueOf(2) }) == null);
+ }
+
+ public void testFindMultiplicationPattern() {
+
+ // Multiplication
+ // *2 missing number 4
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(2),
+ BigDecimal.valueOf(8), BigDecimal.valueOf(16),
+ BigDecimal.valueOf(32), BigDecimal.valueOf(64) })
+ .doubleValue() == 4);
+ // *17 missing number 383214
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(78),
+ BigDecimal.valueOf(1326), BigDecimal.valueOf(22542),
+ BigDecimal.valueOf(6514638) }).doubleValue() == 383214);
+ // *1,23 missing number 2016.6957
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(1333),
+ BigDecimal.valueOf(1639.59),
+ BigDecimal.valueOf(2480.535711),
+ BigDecimal.valueOf(3051.05892453) }).doubleValue() == 2016.6957);
+
+ // Division
+ // /2 (*0.5) missing number 128
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(256),
+ BigDecimal.valueOf(64), BigDecimal.valueOf(32),
+ BigDecimal.valueOf(16), BigDecimal.valueOf(8),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(2) })
+ .doubleValue() == 128);
+ // /10 (*0.1) missing number 1
+ assertTrue(FindMissingNumber.findMultiplicationPattern(
+ new BigDecimal[] { BigDecimal.valueOf(10000),
+ BigDecimal.valueOf(1000), BigDecimal.valueOf(100),
+ BigDecimal.valueOf(10), BigDecimal.valueOf(0.1),
+ BigDecimal.valueOf(0.01) }).doubleValue() == 1);
+
+ // Not valid
+ // Not in pattern.
+ assertTrue(FindMissingNumber.findMultiplicationPattern(new BigDecimal[] {
+ BigDecimal.valueOf(111.2), BigDecimal.valueOf(3323),
+ BigDecimal.valueOf(234.434), BigDecimal.valueOf(44343),
+ BigDecimal.valueOf(434) }) == null);
+ assertTrue(FindMissingNumber.findMultiplicationPattern(new BigDecimal[] {
+ BigDecimal.valueOf(1), BigDecimal.valueOf(2),
+ BigDecimal.valueOf(3), BigDecimal.valueOf(4),
+ BigDecimal.valueOf(5), BigDecimal.valueOf(6),
+ BigDecimal.valueOf(7), BigDecimal.valueOf(5),
+ BigDecimal.valueOf(4), BigDecimal.valueOf(3),
+ BigDecimal.valueOf(2), BigDecimal.valueOf(1),
+ BigDecimal.valueOf(1), BigDecimal.valueOf(1) }) == null);
+ }
+}
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckCleanTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckCleanTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckCleanTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -11,7 +11,7 @@
import org.drools.analytics.components.AnalyticsComponent;
import org.drools.analytics.components.Field;
import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Gap;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -83,7 +83,7 @@
higher.setValue("100");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -178,7 +178,7 @@
higher.setValue("100");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -273,7 +273,7 @@
higher.setValue("100.0");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -368,7 +368,7 @@
higher.setValue("100.0");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -463,7 +463,7 @@
higher.setValue("20-Oct-2007");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -558,7 +558,7 @@
higher.setValue("20-Oct-2007");
testData.add(higher);
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDatesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDatesTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDatesTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,8 +7,8 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.report.components.Gap;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -30,11 +30,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, if smaller than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDates.drl"));
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -68,11 +68,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, if greater than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDates.drl"));
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -106,11 +106,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, equal and greater than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDates.drl"));
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -145,11 +145,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for dates, equal and smaller than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDates.drl"));
+ .getResourceAsStream("MissingRangesForDates.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDoublesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDoublesTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckDoublesTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,8 +7,8 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
-import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.report.components.Gap;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -27,11 +27,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, if smaller than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDoubles.drl"));
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -66,11 +66,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, if greater than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDoubles.drl"));
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -104,11 +104,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, equal and greater than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDoubles.drl"));
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -144,11 +144,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for doubles, equal and smaller than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForDoubles.drl"));
+ .getResourceAsStream("MissingRangesForDoubles.drl"), result
+ .getAnalyticsData());
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckIntegersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckIntegersTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/RangeCheckIntegersTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Gap;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -27,12 +27,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, if smaller than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForInts.drl"));
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -67,12 +66,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, if greater than or equal is missing"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForInts.drl"));
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -106,12 +104,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, equal and greater than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForInts.drl"));
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
@@ -146,12 +143,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Range check for integers, equal and smaller than"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingRangesForInts.drl"));
+ .getResourceAsStream("MissingRangesForInts.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/TestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/TestBase.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/TestBase.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -12,7 +12,7 @@
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.StatelessSession;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsData;
import org.drools.compiler.DrlParser;
import org.drools.compiler.PackageBuilder;
import org.drools.lang.descr.PackageDescr;
@@ -29,9 +29,6 @@
protected void setUp() throws Exception {
super.setUp();
- System.setProperty("drools.accumulate.function.validatePattern",
- "com.analytics.accumulateFunction.ValidatePattern");
-
System.setProperty("drools.dateformat", "dd-MMM-yyyy");
}
@@ -76,16 +73,16 @@
return false;
}
- public Collection<? extends Object> getTestData(InputStream stream)
- throws Exception {
+ public Collection<? extends Object> getTestData(InputStream stream,
+ AnalyticsData data) throws Exception {
Reader drlReader = new InputStreamReader(stream);
PackageDescr descr = new DrlParser().parse(drlReader);
PackageDescrFlattener ruleFlattener = new PackageDescrFlattener();
- ruleFlattener.insert(descr);
+ ruleFlattener.addPackageDescrToData(descr, data);
// Rules with relations
- return AnalyticsDataFactory.getAnalyticsData().getAll();
+ return data.getAll();
}
}
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
import org.drools.StatelessSession;
import org.drools.analytics.TestBase;
import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -28,12 +28,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -70,12 +69,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, variables"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -114,12 +112,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with lesser value"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -156,12 +153,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with greater value"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -198,12 +194,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal value"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -240,12 +235,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal variables"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -281,12 +275,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent Patterns in rule possibility, ranges when not conflicts with equal value"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -312,41 +305,40 @@
}
}
}
-
+
public void testIncoherentPatternsInRulePossibilityRangesEqualVariable()
- throws Exception {
+ throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Patterns.drl"));
-
+
session
- .setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"));
-
- AnalyticsDataFactory.clearAnalyticsData();
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"));
+
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("PatternsTest.drl"));
-
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ .getResourceAsStream("PatternsTest.drl"), result
+ .getAnalyticsData());
+
session.setGlobal("result", result);
-
+
session.executeWithResults(testData);
-
+
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
AnalyticsMessageBase.Severity.WARNING).iterator();
-
+
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
Object o = (Object) iter.next();
if (o instanceof AnalyticsMessage) {
AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
- .getFaulty();
+ .getFaulty();
rulesThatHadErrors.add(rule.getRuleName());
}
}
-
+
assertTrue(rulesThatHadErrors.remove("Incoherent patterns 13"));
-
+
if (!rulesThatHadErrors.isEmpty()) {
for (String string : rulesThatHadErrors) {
fail("Rule " + string + " caused an error.");
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
import org.drools.StatelessSession;
import org.drools.analytics.TestBase;
import org.drools.analytics.components.Pattern;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -29,12 +29,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions in pattern possibility"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -70,12 +69,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -110,12 +108,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -151,12 +148,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -191,12 +187,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -230,12 +225,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent VariableRestrictions in pattern possibility"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -272,12 +266,11 @@
.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Incoherent VariableRestrictions in pattern possibility, impossible range"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("RestrictionsTest.drl"));
+ .getResourceAsStream("RestrictionsTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
import org.drools.analytics.TestBase;
import org.drools.analytics.components.LiteralRestriction;
import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -24,14 +24,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Missing restriction in LiteralRestrictions"));
- // Clear data so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingEqualityTest.drl"));
+ .getResourceAsStream("MissingEqualityTest.drl"), result
+ .getAnalyticsData());
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -67,14 +64,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Missing restriction in VariableRestrictions"));
- // Clear data so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("MissingEqualityTest.drl"));
+ .getResourceAsStream("MissingEqualityTest.drl"), result
+ .getAnalyticsData());
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.StatelessSession;
import org.drools.analytics.TestBase;
import org.drools.analytics.components.AnalyticsComponent;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -22,14 +22,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise evals inside pattern"));
- // Clear data so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationPatternOrderTest.drl"));
+ .getResourceAsStream("OptimisationPatternOrderTest.drl"),
+ result.getAnalyticsData());
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -13,7 +13,7 @@
import org.drools.analytics.components.OperatorDescr;
import org.drools.analytics.components.Pattern;
import org.drools.analytics.components.Restriction;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -30,14 +30,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise restrictions inside operator"));
- // Clear data so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationRestrictionOrderTest.drl"));
+ .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
+ result.getAnalyticsData());
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -132,9 +129,7 @@
r6.setOrderNumber(3);
testData.add(r6);
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
@@ -174,14 +169,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Optimise predicates inside operator"));
- // Clear data so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> testData = getTestData(this.getClass()
- .getResourceAsStream("OptimisationRestrictionOrderTest.drl"));
+ .getResourceAsStream("OptimisationRestrictionOrderTest.drl"),
+ result.getAnalyticsData());
- // Clear result so that test data doesn't mix.
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(testData);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -8,7 +8,7 @@
import org.drools.analytics.components.LiteralRestriction;
import org.drools.analytics.components.PatternPossibility;
import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -42,8 +42,7 @@
objects.add(redundancy);
objects.add(possibility);
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
@@ -84,8 +83,7 @@
objects.add(redundancy);
objects.add(possibility);
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantConsequencesTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
import org.drools.analytics.TestBase;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -20,12 +20,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant TextConsequences"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("ConsequenceRedundancyTest.drl"));
+ .getResourceAsStream("ConsequenceRedundancyTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -13,7 +13,7 @@
import org.drools.analytics.components.Pattern;
import org.drools.analytics.components.PatternPossibility;
import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Redundancy;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -24,14 +24,12 @@
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Possibilities.drl"));
- AnalyticsDataFactory.clearAnalyticsData();
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find pattern possibility redundancy"));
Collection<Object> data = new ArrayList<Object>();
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
String ruleName1 = "Rule 1";
@@ -86,14 +84,12 @@
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Possibilities.drl"));
- AnalyticsDataFactory.clearAnalyticsData();
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find rule possibility redundancy"));
Collection<Object> data = new ArrayList<Object>();
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
String ruleName1 = "Rule 1";
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRestrictionsTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.StatelessSession;
import org.drools.StatelessSessionResult;
import org.drools.analytics.TestBase;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -20,12 +20,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant LiteralRestriction"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("RedundancyLiteralRestrictionTest.drl"));
+ .getResourceAsStream("RedundancyLiteralRestrictionTest.drl"),
+ result.getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
@@ -58,12 +57,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant VariableRestriction"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("SubsumptionVariableRestrictionTest.drl"));
+ .getResourceAsStream("SubsumptionVariableRestrictionTest.drl"),
+ result.getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantRulesAndPatternsTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -10,7 +10,7 @@
import org.drools.analytics.TestBase;
import org.drools.analytics.components.AnalyticsRule;
import org.drools.analytics.components.TextConsequence;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Redundancy;
import org.drools.base.RuleNameMatchesAgendaFilter;
@@ -24,7 +24,6 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant Rules, weak redundancy"));
- AnalyticsDataFactory.clearAnalyticsData();
Collection<Object> data = new ArrayList<Object>();
String ruleName1 = "Rule 1";
@@ -50,8 +49,7 @@
data.add(r1);
data.add(r2);
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
@@ -74,12 +72,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant Patterns with restrictions"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("PatternRedundancyTest.drl"));
+ .getResourceAsStream("PatternRedundancyTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
@@ -124,12 +121,11 @@
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant Patterns without restrictions"));
- AnalyticsDataFactory.clearAnalyticsData();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
Collection<? extends Object> data = getTestData(this.getClass()
- .getResourceAsStream("PatternRedundancyTest.drl"));
+ .getResourceAsStream("PatternRedundancyTest.drl"), result
+ .getAnalyticsData());
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
StatelessSessionResult sessionResult = session.executeWithResults(data);
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java 2007-12-12 06:20:44 UTC (rev 17194)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java 2007-12-12 09:21:01 UTC (rev 17195)
@@ -7,7 +7,7 @@
import org.drools.analytics.TestBase;
import org.drools.analytics.components.AnalyticsRule;
import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
@@ -51,8 +51,7 @@
objects.add(rulePossibilityRedundancy1);
objects.add(rulePossibilityRedundancy2);
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
@@ -98,8 +97,7 @@
objects.add(rp2);
objects.add(rulePossibilityRedundancy1);
- AnalyticsDataFactory.clearAnalyticsResult();
- AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ AnalyticsResult result = AnalyticsResultFactory.createAnalyticsResult();
session.setGlobal("result", result);
session.executeWithResults(objects);
More information about the jboss-svn-commits
mailing list