[jboss-svn-commits] JBL Code SVN: r17585 - in labs/jbossrules/trunk/drools-analytics/src: main/java/org/drools/analytics/components and 16 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jan 7 00:34:15 EST 2008
Author: michael.neale at jboss.com
Date: 2008-01-07 00:34:15 -0500 (Mon, 07 Jan 2008)
New Revision: 17585
Added:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.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/AnalyticsMessageBase.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence/Rules.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality/MissingEquality.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/PatternOrder.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/RestrictionOrder.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Consequence.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Rules.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Warnings.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports/RangeCheckReports.drl
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyzerTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.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/RedundancyTestBase.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/WarningsTest.java
Log:
JBRULES-1407 Analytics to use janino compiler
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -4,9 +4,11 @@
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Properties;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.rule.Package;
class RuleLoader {
@@ -63,8 +65,12 @@
private static Package loadPackage(InputStreamReader reader)
throws DroolsParserException, IOException {
- PackageBuilder builder = new PackageBuilder();
+ Properties properties = new Properties();
+ properties.setProperty( "drools.dialect.java.compiler",
+ "JANINO" );
+ PackageBuilder builder = new PackageBuilder(new PackageBuilderConfiguration( properties ));
+
builder.addPackageFromDrl(reader);
return builder.getPackage();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsEvalDescr.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class AnalyticsEvalDescr extends AnalyticsComponent implements Cause {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsPredicateDescr.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class AnalyticsPredicateDescr extends AnalyticsComponent implements
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class AnalyticsRule extends AnalyticsComponent implements Cause {
@@ -28,7 +29,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.RULE;
+ return CauseType.RULE;
}
public String getRuleAgendaGroup() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Constraint.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class Constraint extends AnalyticsComponent implements Cause {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Field.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class Field extends AnalyticsComponent implements Cause {
@@ -48,7 +49,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.FIELD;
+ return CauseType.FIELD;
}
public String getName() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Pattern.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,9 +1,10 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class Pattern extends AnalyticsComponent implements Cause {
@@ -32,7 +33,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.PATTERN;
+ return CauseType.PATTERN;
}
public boolean isPatternNot() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -4,12 +4,13 @@
import java.util.Set;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
* Instance of this class represents a possible combination of Constraints under
* one Pattern. Each possibility returns true if all the Constraints in the
* combination are true.
- *
+ *
* @author Toni Rikkola
*/
public class PatternPossibility extends AnalyticsComponent implements
@@ -32,7 +33,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.PATTERN_POSSIBILITY;
+ return CauseType.PATTERN_POSSIBILITY;
}
public Set<Cause> getItems() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Restriction.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,10 +1,11 @@
package org.drools.analytics.components;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
import org.drools.base.evaluators.Operator;
/**
- *
+ *
* @author Toni Rikkola
*/
public abstract class Restriction extends AnalyticsComponent implements Cause {
@@ -45,7 +46,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.RESTRICTION;
+ return CauseType.RESTRICTION;
}
public abstract RestrictionType getRestrictionType();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -5,12 +5,13 @@
import java.util.Set;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
/**
* Instance of this class represents a possible combination of
* PatternPosibilities under one Rule. Each possibility returns true if all the
* PatternPosibilities in the combination are true.
- *
+ *
* @author Toni Rikkola
*/
public class RulePossibility extends AnalyticsComponent implements
@@ -32,7 +33,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.RULE_POSSIBILITY;
+ return CauseType.RULE_POSSIBILITY;
}
public Set<Cause> getItems() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,5 +1,7 @@
package org.drools.analytics.components;
+import org.drools.analytics.report.components.CauseType;
+
public class TextConsequence extends AnalyticsComponent implements Consequence {
private static int index = 0;
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResult.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -6,10 +6,10 @@
import org.drools.analytics.report.components.Gap;
import org.drools.analytics.report.components.MissingNumberPattern;
import org.drools.analytics.report.components.RangeCheckCause;
-import org.drools.analytics.report.components.AnalyticsMessageBase.Severity;
+import org.drools.analytics.report.components.Severity;
/**
- *
+ *
* @author Toni Rikkola
*/
public interface AnalyticsResult {
@@ -32,7 +32,7 @@
/**
* Return all the items that have given severity value.
- *
+ *
* @param severity
* Severity level of item.
* @return Collection of items or an empty list if none was found.
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsResultNormal.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -11,9 +11,10 @@
import org.drools.analytics.report.components.Gap;
import org.drools.analytics.report.components.MissingNumberPattern;
import org.drools.analytics.report.components.RangeCheckCause;
+import org.drools.analytics.report.components.Severity;
/**
- *
+ *
* @author Toni Rikkola
*/
class AnalyticsResultNormal implements AnalyticsResult {
@@ -25,7 +26,7 @@
private DataTree<Integer, MissingNumberPattern> missingNumberPatternsByFieldId = new DataTree<Integer, MissingNumberPattern>();
private List<AnalyticsMessageBase> messages = new ArrayList<AnalyticsMessageBase>();
- private DataTree<AnalyticsMessageBase.Severity, AnalyticsMessageBase> messagesBySeverity = new DataTree<AnalyticsMessageBase.Severity, AnalyticsMessageBase>();
+ private DataTree<Severity, AnalyticsMessageBase> messagesBySeverity = new DataTree<Severity, AnalyticsMessageBase>();
private AnalyticsData data = new AnalyticsDataMaps();
@@ -35,7 +36,7 @@
}
public Collection<AnalyticsMessageBase> getBySeverity(
- AnalyticsMessageBase.Severity severity) {
+ Severity severity) {
Collection<AnalyticsMessageBase> result = messagesBySeverity
.getBranch(severity);
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/ReportModeller.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -8,11 +8,12 @@
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.Gap;
import org.drools.analytics.report.components.MissingNumberPattern;
+import org.drools.analytics.report.components.Severity;
import com.thoughtworks.xstream.XStream;
/**
- *
+ *
* @author Toni Rikkola
*/
public class ReportModeller {
@@ -37,7 +38,7 @@
StringBuffer str = new StringBuffer();
- for (AnalyticsMessage.Severity severity : AnalyticsMessage.Severity
+ for (Severity severity : Severity
.values()) {
Collection<AnalyticsMessageBase> messages = result
.getBySeverity(severity);
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -5,7 +5,7 @@
import java.util.Collection;
/**
- *
+ *
* @author Toni Rikkola
*/
abstract public class AnalyticsMessageBase implements Serializable,
@@ -14,76 +14,6 @@
private static int index = 0;
- public static class Severity implements Comparable<Severity> {
- public static final Severity NOTE = new Severity(0, "Note", "Notes");
- public static final Severity WARNING = new Severity(1, "Warning",
- "Warnings");
- public static final Severity ERROR = new Severity(2, "Error", "Errors");
-
- private final int index;
- private final String singular;
- private final String tuple;
-
- private Severity(int i, String singular, String tuple) {
- this.index = i;
- this.singular = singular;
- this.tuple = tuple;
- }
-
- private int getIndex() {
- return index;
- }
-
- public String getSingular() {
- return singular;
- }
-
- public String getTuple() {
- return tuple;
- }
-
- public static Collection<Severity> values() {
- Collection<Severity> all = new ArrayList<Severity>();
-
- all.add(NOTE);
- all.add(WARNING);
- all.add(ERROR);
-
- return all;
- }
-
- @Override
- public String toString() {
- return singular;
- }
-
- public int compareTo(Severity s) {
-
- if (s.getIndex() == this.index) {
- return 0;
- }
-
- return (s.getIndex() < this.index ? -1 : 1);
- }
- }
-
- public static class MessageType {
- public static final MessageType NOT_SPECIFIED = new MessageType(0);
- public static final MessageType RANGE_CHECK = new MessageType(1);
- public static final MessageType MISSING_EQUALITY = new MessageType(2);
- public static final MessageType REDUNDANCY = new MessageType(3);
- public static final MessageType SUBSUMPTION = new MessageType(4);
- public static final MessageType MISSING_COMPONENT = new MessageType(5);
- public static final MessageType OPTIMISATION = new MessageType(6);
- public static final MessageType INCOHERENCE = new MessageType(7);
-
- private final int index;
-
- private MessageType(int i) {
- index = i;
- }
- }
-
protected Severity severity;
protected MessageType messageType;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -1,32 +1,12 @@
package org.drools.analytics.report.components;
/**
- *
+ *
* @author Toni Rikkola
*/
public interface Cause {
- public class CauseType {
- public static final CauseType RULE = new CauseType(0);
- public static final CauseType FIELD = new CauseType(1);
- public static final CauseType GAP = new CauseType(2);
- public static final CauseType PATTERN = new CauseType(3);
- public static final CauseType RESTRICTION = new CauseType(4);
- public static final CauseType PATTERN_POSSIBILITY = new CauseType(5);
- public static final CauseType RULE_POSSIBILITY = new CauseType(6);
- public static final CauseType RANGE_CHECK_CAUSE = new CauseType(7);
- public static final CauseType REDUNDANCY = new CauseType(8);
- public static final CauseType EVAL = new CauseType(9);
- public static final CauseType PREDICATE = new CauseType(10);
- public static final CauseType CONSTRAINT = new CauseType(11);
- public static final CauseType CONSEQUENCE = new CauseType(12);
- private final int index;
- private CauseType(int i) {
- index = i;
- }
- }
-
public int getId();
public CauseType getCauseType();
Added: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -0,0 +1,25 @@
+package org.drools.analytics.report.components;
+
+
+public class CauseType {
+
+ public static final CauseType RULE = new CauseType(0);
+ public static final CauseType FIELD = new CauseType(1);
+ public static final CauseType GAP = new CauseType(2);
+ public static final CauseType PATTERN = new CauseType(3);
+ public static final CauseType RESTRICTION = new CauseType(4);
+ public static final CauseType PATTERN_POSSIBILITY = new CauseType(5);
+ public static final CauseType RULE_POSSIBILITY = new CauseType(6);
+ public static final CauseType RANGE_CHECK_CAUSE = new CauseType(7);
+ public static final CauseType REDUNDANCY = new CauseType(8);
+ public static final CauseType EVAL = new CauseType(9);
+ public static final CauseType PREDICATE = new CauseType(10);
+ public static final CauseType CONSTRAINT = new CauseType(11);
+ public static final CauseType CONSEQUENCE = new CauseType(12);
+
+ public final int index;
+
+ public CauseType(int i) {
+ index = i;
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/CauseType.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Gap.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -18,7 +18,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.GAP;
+ return CauseType.GAP;
}
/**
Added: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -0,0 +1,20 @@
+package org.drools.analytics.report.components;
+
+
+public class MessageType {
+ public static final MessageType NOT_SPECIFIED = new MessageType(0);
+ public static final MessageType RANGE_CHECK = new MessageType(1);
+ public static final MessageType MISSING_EQUALITY = new MessageType(2);
+ public static final MessageType REDUNDANCY = new MessageType(3);
+ public static final MessageType SUBSUMPTION = new MessageType(4);
+ public static final MessageType MISSING_COMPONENT = new MessageType(5);
+ public static final MessageType OPTIMISATION = new MessageType(6);
+ public static final MessageType INCOHERENCE = new MessageType(7);
+
+ public final int index;
+
+ public MessageType(int i) {
+ index = i;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MessageType.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/MissingNumberPattern.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -8,7 +8,7 @@
import org.drools.base.evaluators.Operator;
/**
- *
+ *
* @author Toni Rikkola
*/
public class MissingNumberPattern extends MissingRange implements
@@ -23,7 +23,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.RANGE_CHECK_CAUSE;
+ return CauseType.RANGE_CHECK_CAUSE;
}
public MissingNumberPattern(Field field, Operator operator,
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,25 +3,16 @@
/**
* Presents a redundancy between two Causes. The link between them can be WEAK
* or STRONG.
- *
+ *
* WEAK redundancy is for example two AnalyticsRules, but not theyr's rule
* possibilities. STRONG redundancy includes possibilities.
- *
+ *
* @author Toni Rikkola
*/
public class Redundancy implements Cause {
- public static class RedundancyType {
- public static final RedundancyType WEAK = new RedundancyType(0);
- public static final RedundancyType STRONG = new RedundancyType(0);
- private final int index;
- private RedundancyType(int i) {
- index = i;
- }
- }
-
private static int index = 0;
private int id = index++;
Added: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -0,0 +1,13 @@
+package org.drools.analytics.report.components;
+
+
+public class RedundancyType {
+ public static final RedundancyType WEAK = new RedundancyType(0);
+ public static final RedundancyType STRONG = new RedundancyType(0);
+
+ public final int index;
+
+ public RedundancyType(int i) {
+ index = i;
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/RedundancyType.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -0,0 +1,59 @@
+package org.drools.analytics.report.components;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+
+public class Severity implements Comparable<Severity> {
+ public static final Severity NOTE = new Severity(0, "Note", "Notes");
+ public static final Severity WARNING = new Severity(1, "Warning",
+ "Warnings");
+ public static final Severity ERROR = new Severity(2, "Error", "Errors");
+
+ private final int index;
+ public final String singular;
+ private final String tuple;
+
+ private Severity(int i, String singular, String tuple) {
+ this.index = i;
+ this.singular = singular;
+ this.tuple = tuple;
+ }
+
+ private int getIndex() {
+ return index;
+ }
+
+ public String getSingular() {
+ return singular;
+ }
+
+ public String getTuple() {
+ return tuple;
+ }
+
+ public static Collection<Severity> values() {
+ Collection<Severity> all = new ArrayList<Severity>();
+
+ all.add(NOTE);
+ all.add(WARNING);
+ all.add(ERROR);
+
+ return all;
+ }
+
+ @Override
+ public String toString() {
+ return singular;
+ }
+
+ public int compareTo(Severity s) {
+
+ if (s.getIndex() == this.index) {
+ return 0;
+ }
+
+ return (s.getIndex() < this.index ? -1 : 1);
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Severity.java
___________________________________________________________________
Name: svn:eol-style
+ native
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -9,6 +9,7 @@
import org.drools.analytics.dao.AnalyticsData;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
public class ComponentsReportModeller extends ReportModeller {
@@ -100,18 +101,18 @@
String errors = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
- AnalyticsMessage.Severity.ERROR.getTuple(),
- result.getBySeverity(AnalyticsMessage.Severity.ERROR),
+ Severity.ERROR.getTuple(),
+ result.getBySeverity(Severity.ERROR),
data);
String warnings = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
- AnalyticsMessage.Severity.WARNING.getTuple(),
- result.getBySeverity(AnalyticsMessage.Severity.WARNING),
+ Severity.WARNING.getTuple(),
+ result.getBySeverity(Severity.WARNING),
data);
String notes = AnalyticsMessagesVisitor
.visitAnalyticsMessagesCollection(
- AnalyticsMessage.Severity.NOTE.getTuple(), result
- .getBySeverity(AnalyticsMessage.Severity.NOTE),
+ Severity.NOTE.getTuple(), result
+ .getBySeverity(Severity.NOTE),
data);
writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -2,10 +2,12 @@
package org.drools.analytics.consequence
#list any import classes here.
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.TextConsequence;
-import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.components.AnalyticsRule;
+import org.drools.analytics.components.TextConsequence;
+import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
#declare any global variables here
global AnalyticsResult result;
@@ -16,14 +18,14 @@
$c :TextConsequence(
( text == null || text matches "" )
)
-
+
$r :AnalyticsRule(
id == $c.ruleId
)
- then
- result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.MISSING_COMPONENT,
- $r,
+ then
+ result.add( new AnalyticsMessage(
+ Severity.WARNING,
+ MessageType.MISSING_COMPONENT,
+ $r,
$r + " has no RHS." ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence/Rules.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/equivalence/Rules.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,6 +3,7 @@
import org.drools.analytics.components.AnalyticsRule;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
#
# Only checks for redundant rule specifications where consequences are not redundant,
@@ -30,6 +31,6 @@
right == $right
)
then
- insert( new Redundancy( Redundancy.RedundancyType.WEAK, $left, $right ) );
+ insert( new Redundancy( RedundancyType.WEAK, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Patterns.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Patterns.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -2,15 +2,18 @@
package org.drools.analytics.incoherence
#list any import classes here.
-import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.RulePossibility;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.VariableRestriction;
+import org.drools.analytics.components.AnalyticsRule;
+import org.drools.analytics.components.LiteralRestriction;
+import org.drools.analytics.components.PatternPossibility;
+import org.drools.analytics.components.RulePossibility;
+import org.drools.analytics.components.Pattern;
+import org.drools.analytics.components.VariableRestriction;
import org.drools.analytics.report.components.Cause;
import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
+
import org.drools.analytics.dao.AnalyticsResult;
import java.util.Collection;
@@ -23,20 +26,20 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncorencePattern( a == 1 )
-# not IncorencePattern( a == 1 )
+# Example:
+# IncorencePattern( a == 1 )
+# not IncorencePattern( a == 1 )
#
rule "Incoherent Patterns in rule possibility"
when
$r1 :LiteralRestriction(
patternIsNot == true
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
restrictionType == $r1.restrictionType,
@@ -44,44 +47,44 @@
valueType == $r1.valueType,
operator == $r1.operator
)
-
+
eval( $r1.compareValues( $r2 ) == 0 )
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
- then
+ then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -89,21 +92,21 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
+# Example:
# $var :Object()
-# IncorencePattern( a == $var )
-# not IncorencePattern( a == $var )
+# IncorencePattern( a == $var )
+# not IncorencePattern( a == $var )
#
rule "Incoherent Patterns in rule possibility, variables"
when
$r1 :VariableRestriction(
patternIsNot == true
)
-
- $r2 :VariableRestriction(
+
+ $r2 :VariableRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
fieldId == $r1.fieldId,
@@ -111,43 +114,43 @@
variable.objectType == $r1.variable.objectType,
operator == $r1.operator
)
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
-
+
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
- then
+ then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -155,12 +158,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncorencePattern8( a > 11 )
-# not IncorencePattern8( a > 1 )
+# Example:
+# IncorencePattern8( a > 11 )
+# not IncorencePattern8( a > 1 )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with lesser value"
when
@@ -168,51 +171,51 @@
patternIsNot == true,
( operator == Operator.GREATER || == Operator.GREATER_OR_EQUAL )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
( operator == Operator.GREATER || == Operator.GREATER_OR_EQUAL || == Operator.EQUAL ),
fieldId == $r1.fieldId
)
-
+
eval( $r1.compareValues( $r2 ) == -1 )
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
- then
+ then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -220,12 +223,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncorencePattern( a < 1 )
-# not IncorencePattern( a < 11 )
+# Example:
+# IncorencePattern( a < 1 )
+# not IncorencePattern( a < 11 )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with greater value"
when
@@ -233,51 +236,51 @@
patternIsNot == true,
( operator == Operator.LESS || == Operator.LESS_OR_EQUAL )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
( operator == Operator.LESS || == Operator.LESS_OR_EQUAL || == Operator.EQUAL ),
fieldId == $r1.fieldId
)
-
+
eval( $r1.compareValues( $r2 ) == 1 )
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
- then
+ then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -285,12 +288,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncoherencePattern( a >= 1 )
-# not IncoherencePattern( a != 1 )
+# Example:
+# IncoherencePattern( a >= 1 )
+# not IncoherencePattern( a != 1 )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal value"
when
@@ -298,52 +301,52 @@
patternIsNot == true,
operator == Operator.NOT_EQUAL
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
# It is also a problem if the value is NOT_EQUAL, but there is already a rule for that.
( operator != Operator.EQUAL && != Operator.NOT_EQUAL ),
fieldId == $r1.fieldId
)
-
+
eval( $r1.compareValues( $r2 ) == 0 )
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
-then
+then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -351,12 +354,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncoherencePattern15( a >= $var )
-# not IncoherencePattern15( a != $var )
+# Example:
+# IncoherencePattern15( a >= $var )
+# not IncoherencePattern15( a != $var )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with equal or unequal variables"
when
@@ -364,8 +367,8 @@
patternIsNot == true,
operator == Operator.NOT_EQUAL
)
-
- $r2 :VariableRestriction(
+
+ $r2 :VariableRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
fieldId == $r1.fieldId,
@@ -374,42 +377,42 @@
# It is also a problem if the value is NOT_EQUAL, but there is already a rule for that.
( operator != Operator.EQUAL && != Operator.NOT_EQUAL )
)
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
-then
+then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -417,12 +420,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncoherencePattern13( a == $var )
-# not IncoherencePattern13( a >= $var )
+# Example:
+# IncoherencePattern13( a == $var )
+# not IncoherencePattern13( a >= $var )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with equal value"
when
@@ -430,51 +433,51 @@
patternIsNot == true,
( operator == Operator.LESS_OR_EQUAL || == Operator.GREATER_OR_EQUAL )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
operator == Operator.EQUAL,
fieldId == $r1.fieldId
)
-
+
eval( $r1.compareValues( $r2 ) == 0 )
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
-then
+then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
@@ -482,12 +485,12 @@
#
# If two Patterns are in conflict.
-#
+#
# Type: Warning
# Depandencies: None
-# Example:
-# IncoherencePattern13( a == $var )
-# not IncoherencePattern13( a >= $var )
+# Example:
+# IncoherencePattern13( a == $var )
+# not IncoherencePattern13( a >= $var )
#
rule "Incoherent Patterns in rule possibility, ranges when not conflicts with equal variable"
when
@@ -496,8 +499,8 @@
# Equal is also a problem, but there is already a rule for that.
( operator == Operator.LESS_OR_EQUAL || == Operator.GREATER_OR_EQUAL )
)
-
- $r2 :VariableRestriction(
+
+ $r2 :VariableRestriction(
ruleId == $r1.ruleId,
patternIsNot == false,
fieldId == $r1.fieldId,
@@ -505,42 +508,42 @@
variable.objectType == $r1.variable.objectType,
operator == Operator.EQUAL
)
-
+
$pp1 :PatternPossibility(
- patternId == $r1.patternId
+ patternId == $r1.patternId
)
-
+
$pp2 :PatternPossibility(
patternId == $r2.patternId
)
-
+
# There is a problem if both of these are in the same RulePossibility.
$rp :RulePossibility(
items contains $pp1,
items contains $pp2
)
-
+
$p1 :Pattern(
- id == $r1.patternId
+ id == $r1.patternId
)
-
+
$p2 :Pattern(
id == $r2.patternId
)
-
+
$r :AnalyticsRule(
id == $rp.ruleId
)
-then
+then
Collection list = new ArrayList();
list.add( $p1 );
list.add( $p2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $r,
- "Pattern " + $p1 + " and " + $p2 +
+ Severity.WARNING,
+ MessageType.INCOHERENCE,
+ $r,
+ "Pattern " + $p1 + " and " + $p2 +
" are in conflict. Because of this, it is possible that the rule that contains them can never be satisfied.",
list
) );
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Restrictions.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/incoherence/Restrictions.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -2,13 +2,15 @@
package org.drools.analytics.incoherence
#list any import classes here.
-import org.drools.analytics.components.LiteralRestriction;
-import org.drools.analytics.components.PatternPossibility;
-import org.drools.analytics.components.Pattern;
-import org.drools.analytics.components.VariableRestriction;
+import org.drools.analytics.components.LiteralRestriction;
+import org.drools.analytics.components.PatternPossibility;
+import org.drools.analytics.components.Pattern;
+import org.drools.analytics.components.VariableRestriction;
import org.drools.analytics.report.components.Cause;
import org.drools.analytics.report.components.MissingRange;
-import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
import org.drools.analytics.dao.AnalyticsResult;
import java.util.Collection;
@@ -21,7 +23,7 @@
#
# If two LiteralRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
# Example: IncorencePattern1( a == "b", a != "b" )
@@ -30,11 +32,11 @@
when
$r1 :LiteralRestriction(
# Not >= and <=, because ( a <=, a >= ) works.
- # And not < or > because they are handled in a separate rule.
- ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
+ # And not < or > because they are handled in a separate rule.
+ ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
patternId == $r1.patternId,
restrictionType == $r1.restrictionType,
fieldId == $r1.fieldId,
@@ -43,26 +45,26 @@
# Operator needs to be reversed to what the other one has.
eval( operator == MissingRange.getReversedOperator( $r1.getOperator() ))
)
-
+
eval( $r1.compareValues( $r2 ) == 0 )
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
items contains $r2
)
-
+
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -70,18 +72,18 @@
#
# If two LiteralRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
# Example: IncorencePattern( a > 10 && a < -10 )
#
rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible ranges"
when
- $r1 :LiteralRestriction(
- ( operator == Operator.GREATER_OR_EQUAL || == Operator.GREATER )
+ $r1 :LiteralRestriction(
+ ( operator == Operator.GREATER_OR_EQUAL || == Operator.GREATER )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
patternId == $r1.patternId,
restrictionType == $r1.restrictionType,
fieldId == $r1.fieldId,
@@ -91,7 +93,7 @@
)
eval( $r1.compareValues( $r2 ) == 1 )
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
@@ -99,16 +101,16 @@
)
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -116,18 +118,18 @@
#
# If two LiteralRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
# Example: IncorencePattern( a < 1 && a == 10 )
#
rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality less or equal"
when
- $r1 :LiteralRestriction(
- operator == Operator.EQUAL
+ $r1 :LiteralRestriction(
+ operator == Operator.EQUAL
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
patternId == $r1.patternId,
restrictionType == $r1.restrictionType,
fieldId == $r1.fieldId,
@@ -135,26 +137,26 @@
( operator == Operator.LESS_OR_EQUAL || == Operator.LESS || == Operator.EQUAL ),
id != $r1.id
)
-
+
eval( $r1.compareValues( $r2 ) == 1 )
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
items contains $r2
)
-
+
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -162,18 +164,18 @@
#
# If two LiteralRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
# Example: IncorencePattern( a > 10 && a == 1 )
#
rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible equality greater"
when
- $r1 :LiteralRestriction(
- ( operator == Operator.GREATER || == Operator.GREATER_OR_EQUAL )
+ $r1 :LiteralRestriction(
+ ( operator == Operator.GREATER || == Operator.GREATER_OR_EQUAL )
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
patternId == $r1.patternId,
restrictionType == $r1.restrictionType,
fieldId == $r1.fieldId,
@@ -181,7 +183,7 @@
operator == Operator.EQUAL,
id != $r1.id
)
-
+
eval( $r1.compareValues( $r2 ) == 1 )
# There is a problem if both of these are in the same PatternPossibility.
@@ -191,16 +193,16 @@
)
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -208,18 +210,18 @@
#
# If two LiteralRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
-# Example: IncorencePattern( a < "12-Dec-2007", a > "12-Dec-2007" )
+# Example: IncorencePattern( a < "12-Dec-2007", a > "12-Dec-2007" )
#
rule "Incoherent LiteralRestrictions with ranges in pattern possibility, impossible range"
when
- $r1 :LiteralRestriction(
+ $r1 :LiteralRestriction(
operator == Operator.LESS
)
-
- $r2 :LiteralRestriction(
+
+ $r2 :LiteralRestriction(
patternId == $r1.patternId,
restrictionType == $r1.restrictionType,
fieldId == $r1.fieldId,
@@ -227,26 +229,26 @@
operator == Operator.GREATER,
id != $r1.id
)
-
+
eval( $r1.compareValues( $r2 ) == 0 )
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
items contains $r2
)
-
+
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -254,20 +256,20 @@
#
# If two VariableRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
-# Example: IncorencePattern( a contains $o, a not contains $o )
+# Example: IncorencePattern( a contains $o, a not contains $o )
#
rule "Incoherent VariableRestrictions in pattern possibility"
when
$r1 :VariableRestriction(
# Not >= and <=, because ( a <=, a >= ) works.
- # And not < or > because they are handled in a separete rule.
- ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
+ # And not < or > because they are handled in a separete rule.
+ ( operator != Operator.GREATER_OR_EQUAL || != Operator.LESS_OR_EQUAL || != Operator.LESS || != Operator.GREATER )
)
-
- $r2 :VariableRestriction(
+
+ $r2 :VariableRestriction(
patternId == $r1.patternId,
fieldId == $r1.fieldId,
id != $r1.id,
@@ -276,24 +278,24 @@
# Operator needs to be reversed to what the other one has.
eval( operator == MissingRange.getReversedOperator( $r1.getOperator() ))
)
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
items contains $r2
)
-
+
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
@@ -301,18 +303,18 @@
#
# If two VariableRestrictions are in conflict.
-#
+#
# Type: Error
# Depandencies: None
-# Example: IncorencePattern( a > $var, a < $var )
+# Example: IncorencePattern( a > $var, a < $var )
#
rule "Incoherent VariableRestrictions in pattern possibility, impossible range"
when
- $r1 :VariableRestriction(
+ $r1 :VariableRestriction(
operator == Operator.LESS
)
-
- $r2 :VariableRestriction(
+
+ $r2 :VariableRestriction(
patternId == $r1.patternId,
fieldId == $r1.fieldId,
operator == Operator.GREATER,
@@ -320,24 +322,24 @@
variable.objectType == $r1.variable.objectType,
id != $r1.id
)
-
+
# There is a problem if both of these are in the same PatternPossibility.
$pp :PatternPossibility(
items contains $r1,
items contains $r2
)
-
+
$p :Pattern( id == $pp.patternId )
- then
+ then
Collection list = new ArrayList();
list.add( $r1 );
list.add( $r2 );
-
+
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.ERROR,
- AnalyticsMessage.MessageType.INCOHERENCE,
- $p,
- "Restriction " + $r1 + " and " + $r2 +
+ Severity.ERROR,
+ MessageType.INCOHERENCE,
+ $p,
+ "Restriction " + $r1 + " and " + $r2 +
"are in conflict. Because of this, pattern that contains them can never be satisfied.",
list
) );
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality/MissingEquality.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality/MissingEquality.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/missingEquality/MissingEquality.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -7,9 +7,11 @@
import org.drools.base.evaluators.SetEvaluatorsDefinition;
import org.drools.analytics.components.VariableRestriction;
-import org.drools.analytics.components.LiteralRestriction;
+import org.drools.analytics.components.LiteralRestriction;
import org.drools.analytics.report.components.MissingRange;
import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
import org.drools.analytics.dao.AnalyticsResult;
@@ -19,10 +21,10 @@
#
# Informs that there are inequalities, but not equality being catered for.
-#
+#
# Type: Warning
# Dependencies: None
-# Example: val != 10 when val == 10 is missing.
+# Example: val != 10 when val == 10 is missing.
#
rule "Missing restriction in LiteralRestrictions"
when
@@ -81,22 +83,22 @@
)
then
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.MISSING_EQUALITY,
- $r,
- "Rule base covers " +
+ Severity.WARNING,
+ MessageType.MISSING_EQUALITY,
+ $r,
+ "Rule base covers " +
$r.getOperator().getOperatorString() + " " + $r.getValueAsString() +
", but it is missing " + MissingRange.getReversedOperator( $r.getOperator() ).getOperatorString() +
" " + $r.getValueAsString()
- ) );
+ ) );
end
#
# Informs that there are inequalities, but not equality being catered for.
-#
+#
# Type: Warning
# Dependencies: None
-# Example: val != $var when val == $var is missing.
+# Example: val != $var when val == $var is missing.
#
rule "Missing restriction in VariableRestrictions"
when
@@ -125,14 +127,14 @@
operator == Operator.EQUAL,
patternIsNot == $r.patternIsNot,
variable.objectId == $r.variable.objectId,
- variable.objectType == $r.variable.objectType
+ variable.objectType == $r.variable.objectType
)
#
# matches and not matches
#
) or (
$r :VariableRestriction(
- operator == MatchesEvaluatorsDefinition.MATCHES
+ operator == MatchesEvaluatorsDefinition.MATCHES
)
and
not VariableRestriction(
@@ -152,7 +154,7 @@
operator == MatchesEvaluatorsDefinition.MATCHES,
patternIsNot == $r.patternIsNot,
variable.objectId == $r.variable.objectId,
- variable.objectType == $r.variable.objectType
+ variable.objectType == $r.variable.objectType
)
#
# memberof and not memberof
@@ -211,12 +213,12 @@
)
then
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING,
- AnalyticsMessage.MessageType.MISSING_EQUALITY,
- $r,
- "Rule base covers " +
+ Severity.WARNING,
+ MessageType.MISSING_EQUALITY,
+ $r,
+ "Rule base covers " +
$r.getOperator().getOperatorString() + " " + $r.getVariable().getName() +
", but it is missing " + MissingRange.getReversedOperator( $r.getOperator() ).getOperatorString() +
" " + $r.getVariable().getName()
- ) );
+ ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/PatternOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/PatternOrder.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/PatternOrder.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -12,6 +12,8 @@
import org.drools.analytics.components.AnalyticsComponent;
import org.drools.analytics.components.AnalyticsComponentType;
import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
import org.drools.analytics.dao.AnalyticsResult;
@@ -23,41 +25,41 @@
# Informs that rule would be more effective if eval
# was after fact patterns.
-#
+#
# Type: Note
# Dependencies: None
-# Example: eval(function( $something )) Pattern()
+# Example: eval(function( $something )) Pattern()
#
rule "Optimise evals inside pattern"
when
$operator :OperatorDescr()
-
- $eval :AnalyticsEvalDescr(
- parent == $operator
+
+ $eval :AnalyticsEvalDescr(
+ parent == $operator
)
-
- # Any other AnalyticsComponent that is not predicate or operator
+
+ # Any other AnalyticsComponent that is not predicate or operator
$other :AnalyticsComponent(
parent == $operator,
orderNumber > $eval.orderNumber,
( componentType != AnalyticsComponentType.OPERATOR && != AnalyticsComponentType.EVAL )
)
- $rule :AnalyticsRule(
- id == $eval.ruleId
+ $rule :AnalyticsRule(
+ id == $eval.ruleId
)
- then
+ then
Collection list = new ArrayList();
list.add( $eval );
list.add( $other );
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE,
- AnalyticsMessage.MessageType.OPTIMISATION,
- $rule,
- "Rule \"" + $eval.getRuleName() +
- "\" would be more effective if the less expensive component, (" +
+ Severity.NOTE,
+ MessageType.OPTIMISATION,
+ $rule,
+ "Rule \"" + $eval.getRuleName() +
+ "\" would be more effective if the less expensive component, (" +
$other +
- "), could be before (" +
- $eval + ").",
+ "), could be before (" +
+ $eval + ").",
list ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/RestrictionOrder.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/RestrictionOrder.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/optimisation/RestrictionOrder.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -16,6 +16,8 @@
import org.drools.analytics.components.AnalyticsComponent;
import org.drools.analytics.components.AnalyticsComponentType;
import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
import org.drools.analytics.dao.AnalyticsResult;
#declare any global variables here
@@ -24,7 +26,7 @@
# Informs that rule would be more effective if the less expensive
# component was on the left side.
-#
+#
# Type: Note
# Dependencies: None
# Example: { a:bar } < { baz == 1 } < { baz > 1 || < 1 } < { baz != 1 }
@@ -32,7 +34,7 @@
rule "Optimise restrictions inside operator"
when
$operator :OperatorDescr()
-
+
(
$r1 :Restriction(
parent.parent == $operator,
@@ -43,16 +45,16 @@
# if this one has a restriction that is more expensive.
not Restriction(
parent == $r1.parent,
- ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
$r2 :Restriction(
parent.parent == $operator,
parent.orderNumber < $r1.parent.orderNumber,
- ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
- # The other restriction should not have any less expensive restrictions.
+ # The other restriction should not have any less expensive restrictions.
not Restriction(
parent == $r2.parent,
( operator == Operator.EQUAL || == MatchesEvaluatorsDefinition.MATCHES )
@@ -67,16 +69,16 @@
# if this one has a restriction that is more expensive.
not Restriction(
parent == $r1.parent,
- ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
$r2 :Restriction(
parent.parent == $operator,
parent.orderNumber < $r1.parent.orderNumber,
- ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
- # The other restriction should not have any less expensive restrictions.
+ # The other restriction should not have any less expensive restrictions.
not Restriction(
parent == $r2.parent,
( operator == Operator.EQUAL || == MatchesEvaluatorsDefinition.MATCHES || == Operator.GREATER || == Operator.LESS )
@@ -91,44 +93,44 @@
# if this one has a restriction that is more expensive.
not Restriction(
parent == $r1.parent,
- ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
$r2 :Restriction(
parent.parent == $operator,
parent.orderNumber < $r1.parent.orderNumber,
- ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
and
- # The other restriction should not have any less expensive restrictions.
+ # The other restriction should not have any less expensive restrictions.
not Restriction(
parent == $r2.parent,
( operator == Operator.EQUAL || == MatchesEvaluatorsDefinition.MATCHES || == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL )
)
)
-
- $pattern :Pattern(
- id == $r1.patternId
+
+ $pattern :Pattern(
+ id == $r1.patternId
)
then
Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
- result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE,
- AnalyticsMessage.MessageType.OPTIMISATION,
- $pattern,
- "Rule \"" + $r1.getRuleName() +
- "\" would be more effective if the more restrictive component (" +
+ list.add( $r1 );
+ list.add( $r2 );
+ result.add( new AnalyticsMessage(
+ Severity.NOTE,
+ MessageType.OPTIMISATION,
+ $pattern,
+ "Rule \"" + $r1.getRuleName() +
+ "\" would be more effective if the more restrictive component (" +
$r2 +
- ") could be before (" +
- $r1 + ").",
+ ") could be before (" +
+ $r1 + ").",
list ) );
end
# Informs that rule would be more effective if the less expensive
# component was on the left side.
-#
+#
# Type: Note
# Dependencies: None
# Example: { a:bar } < { baz == 1 } < { baz > 1 || < 1 } < { baz != 1 }
@@ -143,7 +145,7 @@
$r2 :Restriction(
parent == $r1.parent,
orderNumber < $r1.orderNumber,
- ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER || == Operator.LESS || == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
) or (
$r1 :Restriction(
@@ -153,7 +155,7 @@
$r2 :Restriction(
parent == $r1.parent,
orderNumber < $r1.orderNumber,
- ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == Operator.GREATER_OR_EQUAL || == Operator.LESS_OR_EQUAL || == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
) or (
$r1 :Restriction(
@@ -163,65 +165,65 @@
$r2 :Restriction(
parent == $r1.parent,
orderNumber < $r1.orderNumber,
- ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
+ ( operator == MatchesEvaluatorsDefinition.NOT_MATCHES || == Operator.NOT_EQUAL )
)
)
-
- $pattern :Pattern(
- id == $r1.patternId
+
+ $pattern :Pattern(
+ id == $r1.patternId
)
then
Collection list = new ArrayList();
- list.add( $r1 );
- list.add( $r2 );
- result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE,
- AnalyticsMessage.MessageType.OPTIMISATION,
- $pattern,
- "Rule \"" + $r1.getRuleName() +
- "\" would be more effective if the more restrictive component (" +
+ list.add( $r1 );
+ list.add( $r2 );
+ result.add( new AnalyticsMessage(
+ Severity.NOTE,
+ MessageType.OPTIMISATION,
+ $pattern,
+ "Rule \"" + $r1.getRuleName() +
+ "\" would be more effective if the more restrictive component (" +
$r2 +
- ") could be before (" +
- $r1 + ").",
+ ") could be before (" +
+ $r1 + ").",
list ) );
end
# AnalyticsPredicateDescr should be last.
-#
+#
# Type: Note
# Dependencies: None
-# Example: Foo( eval( bar == 1), bar == 1 )
+# Example: Foo( eval( bar == 1), bar == 1 )
#
rule "Optimise predicates inside operator"
when
$operator :OperatorDescr()
-
- $predicate :AnalyticsPredicateDescr(
- parent == $operator
+
+ $predicate :AnalyticsPredicateDescr(
+ parent == $operator
)
-
- # Any other AnalyticsComponent that is not predicate or operator
+
+ # Any other AnalyticsComponent that is not predicate or operator
$other :AnalyticsComponent(
parent == $operator,
orderNumber > $predicate.orderNumber,
( componentType != AnalyticsComponentType.OPERATOR && != AnalyticsComponentType.PREDICATE )
)
- $rule :AnalyticsRule(
- id == $predicate.ruleId
+ $rule :AnalyticsRule(
+ id == $predicate.ruleId
)
then
Collection list = new ArrayList();
list.add( $predicate );
list.add( $other );
result.add( new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE,
- AnalyticsMessage.MessageType.OPTIMISATION,
- $rule,
- "Rule \"" + $predicate.getRuleName() +
- "\" would be more effective if the less expensive component, (" +
+ Severity.NOTE,
+ MessageType.OPTIMISATION,
+ $rule,
+ "Rule \"" + $predicate.getRuleName() +
+ "\" would be more effective if the less expensive component, (" +
$other +
- "), could be before (" +
- $predicate + ").",
+ "), could be before (" +
+ $predicate + ").",
list ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Consequence.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Consequence.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -4,6 +4,7 @@
#list any import classes here.
import org.drools.analytics.components.TextConsequence;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
#declare any global variables here
@@ -16,16 +17,16 @@
when
# Check that AnalyticsRule $left and $right have redundant fields.
$left :TextConsequence()
- $right :TextConsequence(
- id != $left.id,
+ $right :TextConsequence(
+ id != $left.id,
text == $left.text
)
-
+
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
+ insert( new Redundancy( RedundancyType.STRONG, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -16,11 +16,13 @@
import org.drools.analytics.report.components.Redundancy;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Cause.CauseType;
+import org.drools.analytics.report.components.CauseType;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
#
-# Dependencies:
+# Dependencies:
#
# Needs at least one rule from following rules:
# package org.drools.analytics.redundancy.restrictions
@@ -31,25 +33,25 @@
salience -100
when
$r :Redundancy(
- left.causeType == Cause.CauseType.RESTRICTION
+ left.causeType == CauseType.RESTRICTION
)
-
+
$pp :PatternPossibility(
- items contains $r.left,
- items contains $r.right
+ items contains $r.left,
+ items contains $r.right
)
then
Collection causes = new ArrayList();
causes.add( $r.getLeft() );
causes.add( $r.getRight() );
-
- result.add(new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE, AnalyticsMessage.MessageType.REDUNDANCY,
+
+ result.add(new AnalyticsMessage(
+ Severity.NOTE, MessageType.REDUNDANCY,
$r, "Same restriction exists twice.", causes ) );
end
#
-# Dependencies:
+# Dependencies:
#
# package org.drools.analytics.redundancy.possibilities
# rule "Find pattern possibility redundancy"
@@ -58,20 +60,20 @@
salience -100
when
$r :Redundancy(
- left.causeType == Cause.CauseType.PATTERN_POSSIBILITY
+ left.causeType == CauseType.PATTERN_POSSIBILITY
)
-
+
RulePossibility(
- items contains $r.left,
- items contains $r.right
+ items contains $r.left,
+ items contains $r.right
)
then
Collection causes = new ArrayList();
causes.add( $r.getLeft() );
causes.add( $r.getRight() );
-
- result.add(new AnalyticsMessage(
- AnalyticsMessage.Severity.NOTE, AnalyticsMessage.MessageType.REDUNDANCY,
+
+ result.add(new AnalyticsMessage(
+ Severity.NOTE, MessageType.REDUNDANCY,
$r, "Two pattern possibilities with redundant restrictions exists twice in the same rule.", causes ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,9 +3,10 @@
import org.drools.analytics.components.*;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
#
-# Only checks for redundant pattern specifications,
+# Only checks for redundant pattern specifications,
# does not include actual restriction checks.
#
# Depandencies: None
@@ -14,34 +15,34 @@
when
# Check that Patterns $left and $right have redundant fields.
$left :Pattern()
- $right :Pattern(
- id != $left.id,
+ $right :Pattern(
+ id != $left.id,
classId == $left.classId,
# TODO: In some cases the source might be redundant with different sources.
- sourceType == $left.sourceType,
+ sourceType == $left.sourceType,
sourceId == $left.sourceId,
patternNot == $left.patternNot,
patternExists == $left.patternExists,
patternForall == $left.patternForall
)
-
- # Has possibilities, if the there is no possibilities,
+
+ # Has possibilities, if the there is no possibilities,
# then the Redundancy type is STRONG.
# Because these patterns have no restrictions.
exists PatternPossibility( patternId == $left.id )
exists PatternPossibility( patternId == $right.id )
-
+
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
- not Redundancy(
- left == $right,
+ not Redundancy(
+ left == $right,
right == $left
)
then
- insert( new Redundancy( Redundancy.RedundancyType.WEAK, $left, $right ) );
+ insert( new Redundancy( RedundancyType.WEAK, $left, $right ) );
end
#
@@ -53,30 +54,30 @@
when
# Check that Patterns $left and $right have redundant fields.
$left :Pattern()
- $right :Pattern(
- id != $left.id,
+ $right :Pattern(
+ id != $left.id,
classId == $left.classId,
# TODO: In some cases the source might be redundant with different sources.
- sourceType == $left.sourceType,
+ sourceType == $left.sourceType,
sourceId == $left.sourceId,
patternNot == $left.patternNot,
patternExists == $left.patternExists,
patternForall == $left.patternForall
)
-
+
# Not possibilities
not PatternPossibility( patternId == $left.id )
not PatternPossibility( patternId == $right.id )
-
+
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
- not Redundancy(
- left == $right,
+ not Redundancy(
+ left == $right,
right == $left
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
+ insert( new Redundancy( RedundancyType.STRONG, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,20 +3,20 @@
import org.drools.analytics.components.*;
import org.drools.analytics.report.components.Redundancy;
-import org.drools.analytics.report.components.Redundancy.RedundancyType;
+import org.drools.analytics.report.components.RedundancyType;
import org.drools.analytics.report.components.PartialRedundancy;
import org.drools.analytics.report.components.Subsumption;
import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Cause.CauseType;
+import org.drools.analytics.report.components.CauseType;
import java.util.ArrayList;
#
# Fires when two PatternPossibilities are redundant.
# Marks these possibilities as redundant.
-#
+#
# Depandencies: Needs at least one rule from both packages.
-#
+#
# package org.drools.analytics.redundancy.patterns
# rule "Find redundant Patterns with restrictions"
# rule "Find redundant Patterns without restrictions"
@@ -29,8 +29,8 @@
#
rule "Find pattern possibility redundancy"
when
- $redundancy :Redundancy(
- left.causeType == Cause.CauseType.PATTERN
+ $redundancy :Redundancy(
+ left.causeType == CauseType.PATTERN
)
# Find two PatternPossibilities.
@@ -51,14 +51,14 @@
eval( patternId == $redundancy.getLeft().getId() )
)
)
-
- # For every restriction in $pp1 there is a redundancy to $pp2.
+
+ # For every restriction in $pp1 there is a redundancy to $pp2.
forall(
$r :Restriction(
patternId == $pp1.patternId,
this memberOf $pp1.items
)
-
+
Redundancy(
(
left == $r
@@ -69,18 +69,18 @@
&&
right == $r
)
-
+
)
)
-
- # For every restriction in $pp2 there is a redundancy to $pp1.
+
+ # For every restriction in $pp2 there is a redundancy to $pp1.
forall(
$r :Restriction(
patternId == $pp2.patternId,
this memberOf $pp2.items
)
-
- Redundancy(
+
+ Redundancy(
(
left == $r
&&
@@ -93,15 +93,15 @@
)
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $pp1, $pp2 ) );
+ insert( new Redundancy( RedundancyType.STRONG, $pp1, $pp2 ) );
end
#
# Fires when two PatternPossibilities are redundant.
# Marks these possibilities as redundant.
-#
-# Depandencies:
#
+# Depandencies:
+#
# Needs at least one rule from these packages:
# package org.drools.analytics.equivalency.rules
# rule "Find equivalent Rules"
@@ -117,8 +117,8 @@
#
rule "Find rule possibility redundancy"
when
- $redundancy :Redundancy(
- left.causeType == Cause.CauseType.RULE
+ $redundancy :Redundancy(
+ left.causeType == CauseType.RULE
)
# Find two RulePossibilities.
@@ -128,35 +128,35 @@
$rp2 :RulePossibility(
eval( ruleId == $redundancy.getRight().getId() )
)
-
- # For every pattern possibility in $rp1 there is a redundant pattern possibility in $rp2.
+
+ # For every pattern possibility in $rp1 there is a redundant pattern possibility in $rp2.
forall(
$pp :PatternPossibility(
ruleId == $rp1.ruleId,
this memberOf $rp1.items
)
-
+
Redundancy(
- type == Redundancy.RedundancyType.STRONG,
+ type == RedundancyType.STRONG,
left == $pp,
right memberOf $rp2.items
)
-
+
)
-
- # For every pattern possibility in $rp2 there is a redundant pattern possibility in $rp1.
+
+ # For every pattern possibility in $rp2 there is a redundant pattern possibility in $rp1.
forall(
$pp :PatternPossibility(
ruleId == $rp2.ruleId,
this memberOf $rp2.items
)
-
+
Redundancy(
- type == Redundancy.RedundancyType.STRONG,
+ type == RedundancyType.STRONG,
left == $pp,
right memberOf $rp1.items
)
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $rp1, $rp2 ) );
+ insert( new Redundancy( RedundancyType.STRONG, $rp1, $rp2 ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,6 +3,7 @@
import org.drools.analytics.components.*;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
#
# Depandencies: None
@@ -11,23 +12,23 @@
when
# Check that Restrictions $left and $right have redundant fields.
$left :VariableRestriction()
- $right :VariableRestriction(
- id != $left.id,
+ $right :VariableRestriction(
+ id != $left.id,
operator == $left.operator,
variable.objectType == $left.variable.objectType,
- variable.objectId == $left.variable.objectId
+ variable.objectId == $left.variable.objectId
)
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
not Redundancy(
- left == $right,
- right == $left
+ left == $right,
+ right == $left
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
+ insert( new Redundancy( RedundancyType.STRONG, $left, $right ) );
end
#
@@ -39,40 +40,40 @@
$left :LiteralRestriction()
and
(
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.BOOLEAN,
booleanValue == $left.booleanValue
)
or
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.STRING,
valueAsString matches $left.valueAsString
)
or
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.INT,
intValue == $left.intValue
)
or
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.DOUBLE,
doubleValue == $left.doubleValue
)
or
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.DATE,
@@ -80,19 +81,19 @@
)
or
(
- $right :LiteralRestriction(
- id != $left.id,
+ $right :LiteralRestriction(
+ id != $left.id,
operator == $left.operator,
valueType == $left.valueType,
valueType == Field.FieldType.VARIABLE
)
and
- $v :Variable(
+ $v :Variable(
objectType == AnalyticsComponentType.FIELD,
objectId == $left.id
)
and
- Variable(
+ Variable(
objectType == AnalyticsComponentType.FIELD,
objectId == $right.id,
objectName == $v.objectName,
@@ -101,14 +102,14 @@
)
)
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
not Redundancy(
- left == $right,
- right == $left
+ left == $right,
+ right == $left
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
+ insert( new Redundancy( RedundancyType.STRONG, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Rules.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Rules.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -3,9 +3,10 @@
import org.drools.analytics.components.AnalyticsRule;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
#
-# Only checks for redundant rule specifications,
+# Only checks for redundant rule specifications,
# does not include actual pattern and restriction checks.
#
# Depandencies:
@@ -17,22 +18,22 @@
when
# Check that AnalyticsRule $left and $right have redundant fields.
$left :AnalyticsRule()
- $right :AnalyticsRule(
- id != $left.id,
+ $right :AnalyticsRule(
+ id != $left.id,
ruleAgendaGroup == $left.ruleAgendaGroup
)
-
+
exists Redundancy(
left == $left.consequence,
right == $right.consequence
)
-
+
# Check that there is not already a pair with these values.
- not Redundancy(
- left == $left,
- right == $right
+ not Redundancy(
+ left == $left,
+ right == $right
)
then
- insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
+ insert( new Redundancy( RedundancyType.STRONG, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Warnings.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Warnings.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Warnings.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -13,12 +13,15 @@
import org.drools.analytics.components.RulePossibility;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.Cause;
-import org.drools.analytics.report.components.Cause.CauseType;
+import org.drools.analytics.report.components.CauseType;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
#
-# Dependencies:
+# Dependencies:
#
# Needs at least one rule from these packages:
# package org.drools.analytics.equivalency.rules
@@ -34,50 +37,50 @@
salience -100
when
$ruleRedundancy :Redundancy(
- left.causeType == Cause.CauseType.RULE
+ left.causeType == CauseType.RULE
)
-
+
$rulePossibilityRedundancy :Redundancy(
- left.causeType == Cause.CauseType.RULE_POSSIBILITY
+ left.causeType == CauseType.RULE_POSSIBILITY
)
-
+
# Check that redundant possibilities are from redundant rules
exists RulePossibility(
this == $rulePossibilityRedundancy.left,
eval( ruleId == $ruleRedundancy.getLeft().getId() )
)
-
+
exists RulePossibility(
this == $rulePossibilityRedundancy.right,
eval( ruleId == $ruleRedundancy.getRight().getId() )
)
-
- # Check that the possibilties are redundant to each other.
+
+ # Check that the possibilties are redundant to each other.
exists Redundancy(
- left.causeType == Cause.CauseType.RULE_POSSIBILITY,
+ left.causeType == CauseType.RULE_POSSIBILITY,
left == $rulePossibilityRedundancy.right,
right == $rulePossibilityRedundancy.left
)
-
+
then
Collection causes = new ArrayList();
causes.add( $rulePossibilityRedundancy.getLeft() );
causes.add( $rulePossibilityRedundancy.getRight() );
-
+
String message;
- if( $ruleRedundancy.getType() == Redundancy.RedundancyType.WEAK ) {
+ if( $ruleRedundancy.getType() == RedundancyType.WEAK ) {
message = "Rules are equivalent.";
} else {
message = "Rules are redundant.";
}
-
- result.add(new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING, AnalyticsMessage.MessageType.REDUNDANCY,
+
+ result.add(new AnalyticsMessage(
+ Severity.WARNING, MessageType.REDUNDANCY,
$rulePossibilityRedundancy, message, causes ) );
end
#
-# Dependencies:
+# Dependencies:
#
# Needs at least one rule from these packages:
# package org.drools.analytics.equivalency.rules
@@ -93,37 +96,37 @@
salience -100
when
$ruleRedundancy :Redundancy(
- left.causeType == Cause.CauseType.RULE
+ left.causeType == CauseType.RULE
)
-
+
$rulePossibilityRedundancy :Redundancy(
- left.causeType == Cause.CauseType.RULE_POSSIBILITY
+ left.causeType == CauseType.RULE_POSSIBILITY
)
-
+
# Check that redundant possibilities are from redundant rules
exists RulePossibility(
this == $rulePossibilityRedundancy.left,
eval( ruleId == $ruleRedundancy.getLeft().getId() )
)
-
+
exists RulePossibility(
this == $rulePossibilityRedundancy.right,
eval( ruleId == $ruleRedundancy.getRight().getId() )
)
-
- # Check that the left side is redundant to right, but the right side is not redudant to left.
+
+ # Check that the left side is redundant to right, but the right side is not redudant to left.
not Redundancy(
- left.causeType == Cause.CauseType.RULE_POSSIBILITY,
+ left.causeType == CauseType.RULE_POSSIBILITY,
left == $rulePossibilityRedundancy.right,
right == $rulePossibilityRedundancy.left
)
-
+
then
Collection causes = new ArrayList();
causes.add( $rulePossibilityRedundancy.getLeft() );
causes.add( $rulePossibilityRedundancy.getRight() );
-
- result.add(new AnalyticsMessage(
- AnalyticsMessage.Severity.WARNING, AnalyticsMessage.MessageType.REDUNDANCY,
+
+ result.add(new AnalyticsMessage(
+ Severity.WARNING, MessageType.REDUNDANCY,
$rulePossibilityRedundancy, "Rules are subsumptant.", causes ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports/RangeCheckReports.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports/RangeCheckReports.drl 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/reports/RangeCheckReports.drl 2008-01-07 05:34:15 UTC (rev 17585)
@@ -6,6 +6,8 @@
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.MissingRange;
+import org.drools.analytics.report.components.Severity;
+import org.drools.analytics.report.components.MessageType;
import java.util.ArrayList;
@@ -14,7 +16,7 @@
#
-# Dependencies:
+# Dependencies:
#
# Needs at least one of the following packages or rules to fire:
# package org.drools.analytics.rangeChecks.patterns;
@@ -36,7 +38,7 @@
# rule "Range check for dates, equal and greater than"
# rule "Range check for dates, equal and smaller than"
#
-# The following rules are used to clean up the data that this rule uses,
+# The following rules are used to clean up the data that this rule uses,
# but they are not always necessary:
# package org.drools.analytics.rangeChecks.cleanUp
# rule "Merge gaps"
@@ -56,7 +58,7 @@
MissingRange( field == $f )
)
then
- result.add( new AnalyticsRangeCheckMessage(
- AnalyticsRangeCheckMessage.Severity.WARNING, $f,
+ result.add( new AnalyticsRangeCheckMessage(
+ Severity.WARNING, $f,
$f + " has one or more gaps.", $list ) );
end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -16,6 +16,7 @@
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.AnalyticsRangeCheckMessage;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.Severity;
import org.drools.compiler.DrlParser;
import org.drools.compiler.Dialect.AnalysisResult;
import org.drools.lang.descr.PackageDescr;
@@ -60,7 +61,7 @@
AnalyticsResult result = a.getResult();
Collection<AnalyticsMessageBase> msgs = result
- .getBySeverity(AnalyticsMessageBase.Severity.ERROR);
+ .getBySeverity(Severity.ERROR);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
@@ -68,7 +69,7 @@
System.out.println("ERR: " + msg.getMessage());
}
- msgs = result.getBySeverity(AnalyticsMessageBase.Severity.WARNING);
+ msgs = result.getBySeverity(Severity.WARNING);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
.next();
@@ -101,7 +102,7 @@
}
}
- msgs = result.getBySeverity(AnalyticsMessageBase.Severity.NOTE);
+ msgs = result.getBySeverity(Severity.NOTE);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
AnalyticsMessageBase msg = (AnalyticsMessageBase) iterator
.next();
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyzerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyzerTest.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyzerTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -5,6 +5,7 @@
import org.drools.RuleBase;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Severity;
import org.drools.compiler.DrlParser;
import org.drools.lang.descr.PackageDescr;
@@ -25,9 +26,9 @@
AnalyticsResult result = anal.getResult();
assertNotNull(result);
- assertEquals(0, result.getBySeverity(AnalyticsMessageBase.Severity.ERROR).size());
- assertEquals(10, result.getBySeverity(AnalyticsMessageBase.Severity.WARNING).size());
- assertEquals(1, result.getBySeverity(AnalyticsMessageBase.Severity.NOTE).size());
+ assertEquals(0, result.getBySeverity(Severity.ERROR).size());
+ assertEquals(10, result.getBySeverity(Severity.WARNING).size());
+ assertEquals(1, result.getBySeverity(Severity.NOTE).size());
//check it again
@@ -43,9 +44,9 @@
result = anal.getResult();
assertNotNull(result);
- assertEquals(0, result.getBySeverity(AnalyticsMessageBase.Severity.ERROR).size());
- assertEquals(10, result.getBySeverity(AnalyticsMessageBase.Severity.WARNING).size());
- assertEquals(1, result.getBySeverity(AnalyticsMessageBase.Severity.NOTE).size());
+ assertEquals(0, result.getBySeverity(Severity.ERROR).size());
+ assertEquals(10, result.getBySeverity(Severity.WARNING).size());
+ assertEquals(1, result.getBySeverity(Severity.NOTE).size());
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -11,12 +11,13 @@
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
/**
- *
+ *
* @author Toni Rikkola
- *
+ *
*/
public class ConsequenceTest extends TestBase {
@@ -38,7 +39,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentPatternsTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -12,12 +12,13 @@
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
/**
- *
+ *
* @author Toni Rikkola
- *
+ *
*/
public class IncoherentPatternsTest extends TestBase {
@@ -38,7 +39,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -79,7 +80,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -122,7 +123,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -163,7 +164,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -204,7 +205,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -245,7 +246,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -285,7 +286,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -325,7 +326,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/incoherence/IncoherentRestrictionsTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -12,12 +12,13 @@
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
/**
- *
+ *
* @author Toni Rikkola
- *
+ *
*/
public class IncoherentRestrictionsTest extends TestBase {
@@ -39,7 +40,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -79,7 +80,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -118,7 +119,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -158,7 +159,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -197,7 +198,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -235,7 +236,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
@@ -276,7 +277,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.ERROR).iterator();
+ Severity.ERROR).iterator();
Set<String> rulesThatHadErrors = new HashSet<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/missingEquality/MissingEqualityTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -13,6 +13,7 @@
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
public class MissingEqualityTest extends TestBase {
@@ -34,7 +35,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Collection<String> ruleNames = new ArrayList<String>();
while (iter.hasNext()) {
@@ -74,7 +75,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.WARNING).iterator();
+ Severity.WARNING).iterator();
Collection<String> ruleNames = new ArrayList<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/PatternOrderTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -11,6 +11,7 @@
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
public class PatternOrderTest extends TestBase {
@@ -32,7 +33,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.NOTE).iterator();
+ Severity.NOTE).iterator();
Collection<String> ruleNames = new ArrayList<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/optimisation/RestrictionOrderTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -18,6 +18,7 @@
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
import org.drools.base.evaluators.Operator;
@@ -40,7 +41,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.NOTE).iterator();
+ Severity.NOTE).iterator();
Collection<String> ruleNames = new ArrayList<String>();
while (iter.hasNext()) {
@@ -135,7 +136,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.NOTE).iterator();
+ Severity.NOTE).iterator();
Map<Cause, Cause> pairs = new HashMap<Cause, Cause>();
while (iter.hasNext()) {
@@ -179,7 +180,7 @@
session.executeWithResults(testData);
Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
- AnalyticsMessageBase.Severity.NOTE).iterator();
+ Severity.NOTE).iterator();
Collection<String> ruleNames = new ArrayList<String>();
while (iter.hasNext()) {
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -13,6 +13,8 @@
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
public class NotesTest extends TestBase {
@@ -31,7 +33,7 @@
LiteralRestriction right = new LiteralRestriction();
Redundancy redundancy = new Redundancy(
- Redundancy.RedundancyType.STRONG, left, right);
+ RedundancyType.STRONG, left, right);
PatternPossibility possibility = new PatternPossibility();
possibility.add(left);
@@ -48,7 +50,7 @@
session.executeWithResults(objects);
Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(AnalyticsMessage.Severity.NOTE);
+ .getBySeverity(Severity.NOTE);
// Has at least one item.
assertEquals(1, notes.size());
@@ -72,7 +74,7 @@
PatternPossibility right = new PatternPossibility();
Redundancy redundancy = new Redundancy(
- Redundancy.RedundancyType.STRONG, left, right);
+ RedundancyType.STRONG, left, right);
RulePossibility possibility = new RulePossibility();
possibility.add(left);
@@ -89,7 +91,7 @@
session.executeWithResults(objects);
Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(AnalyticsMessage.Severity.NOTE);
+ .getBySeverity(Severity.NOTE);
// Has at least one item.
assertEquals(1, notes.size());
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTestBase.java 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTestBase.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -9,19 +9,20 @@
import org.drools.analytics.TestBase;
import org.drools.analytics.components.AnalyticsComponent;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
import org.drools.analytics.report.components.Redundancy;
/**
- *
+ *
* @author Toni Rikkola
- *
+ *
*/
public class RedundancyTestBase extends TestBase {
/**
* Creates redundancy map from Redundancy objects, one rule may have several
* redundancy dependencies.
- *
+ *
* @param iter
* @return
*/
@@ -52,12 +53,12 @@
/**
* Creates redundancy map from Redundancy objects, one rule may have several
* redundancy dependencies.
- *
+ *
* @param iter
* @return
*/
protected Map<Cause, Set<Cause>> createRedundancyCauseMap(
- Cause.CauseType type, Iterator<Object> iter) {
+ CauseType type, Iterator<Object> iter) {
Map<Cause, Set<Cause>> map = new HashMap<Cause, Set<Cause>>();
while (iter.hasNext()) {
@@ -91,7 +92,7 @@
/**
* Returns true if map contains redundancy where key is redundant to value.
- *
+ *
* @param map
* @param key
* @param value
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundantPossibilitiesTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -16,7 +16,9 @@
import org.drools.analytics.dao.AnalyticsResultFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.CauseType;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
import org.drools.base.RuleNameMatchesAgendaFilter;
public class RedundantPossibilitiesTest extends RedundancyTestBase {
@@ -120,7 +122,7 @@
rp2.add(pp2);
Redundancy possibilityredundancy = new Redundancy(
- Redundancy.RedundancyType.STRONG, pp1, pp2);
+ RedundancyType.STRONG, pp1, pp2);
Redundancy ruleRedundancy = new Redundancy(r1, r2);
data.add(r1);
@@ -166,7 +168,7 @@
rp4.add(pp5);
Redundancy possibilityredundancy2 = new Redundancy(
- Redundancy.RedundancyType.STRONG, pp3, pp4);
+ RedundancyType.STRONG, pp3, pp4);
Redundancy ruleRedundancy2 = new Redundancy(r3, r4);
data.add(r3);
@@ -182,7 +184,7 @@
StatelessSessionResult sessionResult = session.executeWithResults(data);
Map<Cause, Set<Cause>> map = createRedundancyCauseMap(
- Cause.CauseType.RULE_POSSIBILITY, sessionResult
+ CauseType.RULE_POSSIBILITY, sessionResult
.iterateObjects());
assertTrue(TestBase.causeMapContains(map, rp1, rp2));
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 2008-01-07 03:55:44 UTC (rev 17584)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/WarningsTest.java 2008-01-07 05:34:15 UTC (rev 17585)
@@ -12,6 +12,8 @@
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.AnalyticsMessageBase;
import org.drools.analytics.report.components.Redundancy;
+import org.drools.analytics.report.components.RedundancyType;
+import org.drools.analytics.report.components.Severity;
import org.drools.base.RuleNameMatchesAgendaFilter;
public class WarningsTest extends TestBase {
@@ -29,7 +31,7 @@
AnalyticsRule rule2 = new AnalyticsRule();
Redundancy ruleRedundancy = new Redundancy(
- Redundancy.RedundancyType.STRONG, rule1, rule2);
+ RedundancyType.STRONG, rule1, rule2);
RulePossibility rp1 = new RulePossibility();
rp1.setRuleId(rule1.getId());
@@ -38,10 +40,10 @@
rp2.setRuleId(rule2.getId());
Redundancy rulePossibilityRedundancy1 = new Redundancy(
- Redundancy.RedundancyType.STRONG, rp1, rp2);
+ RedundancyType.STRONG, rp1, rp2);
Redundancy rulePossibilityRedundancy2 = new Redundancy(
- Redundancy.RedundancyType.STRONG, rp2, rp1);
+ RedundancyType.STRONG, rp2, rp1);
objects.add(rule1);
objects.add(rule2);
@@ -57,7 +59,7 @@
session.executeWithResults(objects);
Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(AnalyticsMessage.Severity.WARNING);
+ .getBySeverity(Severity.WARNING);
// Has at least one item.
assertEquals(1, notes.size());
@@ -79,7 +81,7 @@
AnalyticsRule rule2 = new AnalyticsRule();
Redundancy ruleRedundancy = new Redundancy(
- Redundancy.RedundancyType.STRONG, rule1, rule2);
+ RedundancyType.STRONG, rule1, rule2);
RulePossibility rp1 = new RulePossibility();
rp1.setRuleId(rule1.getId());
@@ -88,7 +90,7 @@
rp2.setRuleId(rule2.getId());
Redundancy rulePossibilityRedundancy1 = new Redundancy(
- Redundancy.RedundancyType.STRONG, rp1, rp2);
+ RedundancyType.STRONG, rp1, rp2);
objects.add(rule1);
objects.add(rule2);
@@ -103,7 +105,7 @@
session.executeWithResults(objects);
Collection<AnalyticsMessageBase> notes = result
- .getBySeverity(AnalyticsMessage.Severity.WARNING);
+ .getBySeverity(Severity.WARNING);
// Has at least one item.
assertEquals(1, notes.size());
More information about the jboss-svn-commits
mailing list