[jboss-svn-commits] JBL Code SVN: r20937 - in labs/jbossrules/trunk/drools-verifier/src: main/java/org/drools/verifier/components and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jul 7 07:28:08 EDT 2008
Author: Rikkola
Date: 2008-07-07 07:28:08 -0400 (Mon, 07 Jul 2008)
New Revision: 20937
Added:
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumField.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumRestriction.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldObjectTypeLink.java
Removed:
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java
Modified:
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Patterns.drl
labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java
labs/jbossrules/trunk/drools-verifier/src/test/resources/org/drools/verifier/Misc.drl
Log:
1. JBRULES-1341: Analytics fails on Inner Class Enums.
2. Changed ObjectTypes from Class to ObjectType.
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/PackageDescrFlattener.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -31,6 +31,8 @@
import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.lang.descr.VariableRestrictionDescr;
+import org.drools.verifier.components.EnumField;
+import org.drools.verifier.components.EnumRestriction;
import org.drools.verifier.components.VerifierAccessorDescr;
import org.drools.verifier.components.VerifierAccumulateDescr;
import org.drools.verifier.components.ObjectType;
@@ -74,7 +76,7 @@
private VerifierRule currentRule = null;
private Pattern currentPattern = null;
private Constraint currentConstraint = null;
- private ObjectType currentClass = null;
+ private ObjectType currentObjectType = null;
private Field currentField = null;
/**
@@ -153,7 +155,7 @@
return flatten((CollectDescr) descr, parent);
} else if (descr instanceof FromDescr) {
return flatten((FromDescr) descr, parent);
- }else {
+ } else {
throw new UnknownDescriptionException(descr);
}
}
@@ -168,7 +170,7 @@
return flatten((FunctionCallDescr) descr, parent);
} else if (descr instanceof MethodAccessDescr) {
return flatten((MethodAccessDescr) descr, parent);
- }else {
+ } else {
throw new UnknownDescriptionException(descr);
}
}
@@ -283,9 +285,10 @@
*
* @param descr
* @return
- * @throws UnknownDescriptionException
+ * @throws UnknownDescriptionException
*/
- private VerifierFromDescr flatten(FromDescr descr, VerifierComponent parent) throws UnknownDescriptionException {
+ private VerifierFromDescr flatten(FromDescr descr, VerifierComponent parent)
+ throws UnknownDescriptionException {
VerifierFromDescr from = new VerifierFromDescr();
VerifierComponent ds = flatten(descr.getDataSource(), from);
@@ -483,14 +486,8 @@
private int flatten(PatternDescr descr, VerifierComponent parent,
int orderNumber) throws UnknownDescriptionException {
- ObjectType objectType = data.getClassByPackageAndName(descr
- .getObjectType());
- if (objectType == null) {
- objectType = new ObjectType();
- objectType.setName(descr.getObjectType());
- data.add(objectType);
- }
- currentClass = objectType;
+ ObjectType objectType = findOrCreateNewObjectType(descr.getObjectType());
+ currentObjectType = objectType;
Pattern pattern = new Pattern();
pattern.setRuleId(currentRule.getId());
@@ -538,11 +535,11 @@
private void flatten(FieldConstraintDescr descr, VerifierComponent parent,
int orderNumber) throws UnknownDescriptionException {
- Field field = data.getFieldByClassAndFieldName(currentClass.getName(),
- descr.getFieldName());
+ Field field = data.getFieldByObjectTypeAndFieldName(currentObjectType
+ .getName(), descr.getFieldName());
if (field == null) {
- field = createField(descr.getFieldName(), descr.getLine(),
- currentClass.getId(), currentClass.getName());
+ field = createField(descr.getFieldName(),
+ currentObjectType.getId(), currentObjectType.getName());
data.add(field);
}
currentField = field;
@@ -708,42 +705,94 @@
VerifierComponent parent, int orderNumber) {
String text = descr.getText();
+
+ String base = text.substring(0, text.indexOf("."));
+ String fieldName = text.substring(text.indexOf("."));
+
Variable variable = data.getVariableByRuleAndVariableName(currentRule
- .getRuleName(), text.substring(0, text.indexOf(".")));
+ .getRuleName(), base);
- QualifiedIdentifierRestriction restriction = new QualifiedIdentifierRestriction();
+ if (variable != null) {
- restriction.setRuleId(currentRule.getId());
- restriction.setPatternId(currentPattern.getId());
- restriction.setPatternIsNot(currentPattern.isPatternNot());
- restriction.setConstraintId(currentConstraint.getId());
- restriction.setFieldId(currentConstraint.getFieldId());
- restriction.setOperator(Operator.determineOperator(
- descr.getEvaluator(), descr.isNegated()));
- restriction.setVariableId(variable.getId());
- restriction.setVariableName(text.substring(0, text.indexOf(".")));
- restriction.setVariablePath(text.substring(text.indexOf(".")));
- restriction.setOrderNumber(orderNumber);
- restriction.setParent(parent);
+ QualifiedIdentifierRestriction restriction = new QualifiedIdentifierRestriction();
- // Set field value, if it is unset.
- currentField.setFieldType(Field.FieldType.VARIABLE);
+ restriction.setRuleId(currentRule.getId());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(descr
+ .getEvaluator(), descr.isNegated()));
+ restriction.setVariableId(variable.getId());
+ restriction.setVariableName(base);
+ restriction.setVariablePath(fieldName);
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
- variable.setObjectType(VerifierComponentType.FIELD);
+ // Set field value, if it is not set.
+ currentField.setFieldType(Field.FieldType.VARIABLE);
- data.add(restriction);
- solvers.addRestriction(restriction);
+ variable.setObjectType(VerifierComponentType.FIELD);
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+ } else {
+
+ EnumField enumField = (EnumField) data
+ .getFieldByObjectTypeAndFieldName(base, fieldName);
+ if (enumField == null) {
+ ObjectType objectType = findOrCreateNewObjectType(base);
+
+ enumField = new EnumField();
+ enumField.setObjectTypeId(objectType.getId());
+ enumField.setClassName(objectType.getName());
+ enumField.setName(fieldName);
+
+ objectType.getFields().add(enumField);
+
+ data.add(enumField);
+ }
+
+ EnumRestriction restriction = new EnumRestriction();
+
+ restriction.setRuleId(currentRule.getId());
+ restriction.setPatternId(currentPattern.getId());
+ restriction.setPatternIsNot(currentPattern.isPatternNot());
+ restriction.setConstraintId(currentConstraint.getId());
+ restriction.setFieldId(currentConstraint.getFieldId());
+ restriction.setOperator(Operator.determineOperator(descr
+ .getEvaluator(), descr.isNegated()));
+ restriction.setEnumBaseId(enumField.getId());
+ restriction.setEnumBase(base);
+ restriction.setEnumName(fieldName);
+ restriction.setOrderNumber(orderNumber);
+ restriction.setParent(parent);
+
+ // Set field value, if it is not set.
+ currentField.setFieldType(Field.FieldType.ENUM);
+
+ data.add(restriction);
+ solvers.addRestriction(restriction);
+ }
}
- private Field createField(String fieldName, int line, int classId,
- String className) {
+ private ObjectType findOrCreateNewObjectType(String name) {
+ ObjectType objectType = data.getObjectTypeByName(name);
+ if (objectType == null) {
+ objectType = new ObjectType();
+ objectType.setName(name);
+ data.add(objectType);
+ }
+ return objectType;
+ }
+
+ private Field createField(String fieldName, int classId, String className) {
Field field = new Field();
- field.setClassId(classId);
+ field.setObjectTypeId(classId);
field.setClassName(className);
field.setName(fieldName);
- field.setLineNumber(line);
- currentClass.getFields().add(field);
+ currentObjectType.getFields().add(field);
return field;
}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumField.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumField.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumField.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -0,0 +1,10 @@
+package org.drools.verifier.components;
+
+public class EnumField extends Field {
+ private static final long serialVersionUID = 7617431515074762479L;
+
+ @Override
+ public String toString() {
+ return "Enum: " + objectTypeName + "." + name;
+ }
+}
Added: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumRestriction.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/EnumRestriction.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -0,0 +1,43 @@
+package org.drools.verifier.components;
+
+public class EnumRestriction extends Restriction {
+
+ private int enumBaseId;
+ private String enumBase;
+ private String enumName;
+
+ @Override
+ public RestrictionType getRestrictionType() {
+ return RestrictionType.ENUM;
+ }
+
+ public int getEnumBaseId() {
+ return enumBaseId;
+ }
+
+ public void setEnumBaseId(int enumBaseId) {
+ this.enumBaseId = enumBaseId;
+ }
+
+ public String getEnumBase() {
+ return enumBase;
+ }
+
+ public void setEnumBase(String enumBase) {
+ this.enumBase = enumBase;
+ }
+
+ public String getEnumName() {
+ return enumName;
+ }
+
+ public void setEnumName(String enumName) {
+ this.enumName = enumName;
+ }
+
+ @Override
+ public String toString() {
+ return "QualifiedIdentifierRestrictionDescr enum: " + enumBase + "."
+ + enumName;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Field.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -4,19 +4,20 @@
import org.drools.verifier.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public class Field extends VerifierComponent implements Cause {
public static class FieldType {
public static final FieldType BOOLEAN = new FieldType("boolean");
- public static final FieldType STRING = new FieldType( "String");
- public static final FieldType INT = new FieldType( "int");
- public static final FieldType DOUBLE = new FieldType( "double");
- public static final FieldType DATE = new FieldType( "Date");
- public static final FieldType VARIABLE = new FieldType( "Variable");
- public static final FieldType OBJECT = new FieldType( "Object");
+ public static final FieldType STRING = new FieldType("String");
+ public static final FieldType INT = new FieldType("int");
+ public static final FieldType DOUBLE = new FieldType("double");
+ public static final FieldType DATE = new FieldType("Date");
+ public static final FieldType VARIABLE = new FieldType("Variable");
+ public static final FieldType OBJECT = new FieldType("Object");
+ public static final FieldType ENUM = new FieldType("Enum");
private final String string;
@@ -25,20 +26,18 @@
}
@Override
- public String toString() {
+ public String toString() {
return string;
}
}
private static int index = 0;
- private int classId;
- private String className;
- private String name;
+ private int objectTypeId;
+ protected String objectTypeName;
+ protected String name;
private FieldType fieldType;
- private int lineNumber;
-
public Field() {
super(index++);
}
@@ -73,32 +72,24 @@
}
}
- public int getClassId() {
- return classId;
+ public int getObjectTypeId() {
+ return objectTypeId;
}
- public void setClassId(int classId) {
- this.classId = classId;
+ public void setObjectTypeId(int objectTypeId) {
+ this.objectTypeId = objectTypeId;
}
- public int getLineNumber() {
- return lineNumber;
+ public String getObjectTypeName() {
+ return objectTypeName;
}
- public void setLineNumber(int lineNumber) {
- this.lineNumber = lineNumber;
+ public void setClassName(String objectTypeName) {
+ this.objectTypeName = objectTypeName;
}
- public String getClassName() {
- return className;
- }
-
- public void setClassName(String className) {
- this.className = className;
- }
-
@Override
public String toString() {
- return "Field '" + name + "' from class '" + className + "'";
+ return "Field '" + name + "' from object type '" + objectTypeName + "'";
}
}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -1,38 +0,0 @@
-package org.drools.verifier.components;
-
-/**
- *
- * @author Toni Rikkola
- */
-public class FieldClassLink extends VerifierComponent {
-
- private static int index = 0;
-
- private int fieldId;
- private int classId;
-
- public FieldClassLink() {
- super(index++);
- }
-
- @Override
- public VerifierComponentType getComponentType() {
- return VerifierComponentType.FIELD_CLASS_LINK;
- }
-
- public int getClassId() {
- return classId;
- }
-
- public void setClassId(int classId) {
- this.classId = classId;
- }
-
- public int getFieldId() {
- return fieldId;
- }
-
- public void setFieldId(int fieldId) {
- this.fieldId = fieldId;
- }
-}
Copied: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldObjectTypeLink.java (from rev 20912, labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldClassLink.java)
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldObjectTypeLink.java (rev 0)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/FieldObjectTypeLink.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -0,0 +1,38 @@
+package org.drools.verifier.components;
+
+/**
+ *
+ * @author Toni Rikkola
+ */
+public class FieldObjectTypeLink extends VerifierComponent {
+
+ private static int index = 0;
+
+ private int fieldId;
+ private int objectTypeId;
+
+ public FieldObjectTypeLink() {
+ super(index++);
+ }
+
+ @Override
+ public VerifierComponentType getComponentType() {
+ return VerifierComponentType.FIELD_CLASS_LINK;
+ }
+
+ public int getObjectTypeId() {
+ return objectTypeId;
+ }
+
+ public void setClassId(int classId) {
+ this.objectTypeId = classId;
+ }
+
+ public int getFieldId() {
+ return fieldId;
+ }
+
+ public void setFieldId(int fieldId) {
+ this.fieldId = fieldId;
+ }
+}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Pattern.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -14,7 +14,7 @@
private static int index = 0;
private int ruleId;
- private int classId;
+ private int objectTypeId;
private String name;
private VerifierComponentType sourceType = VerifierComponentType.NOTHING;
private int sourceId = -1;
@@ -60,12 +60,12 @@
this.isPatternExists = isExists;
}
- public int getClassId() {
- return classId;
+ public int getObjectTypeId() {
+ return objectTypeId;
}
public void setClassId(int classId) {
- this.classId = classId;
+ this.objectTypeId = classId;
}
public boolean isPatternForall() {
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/components/Restriction.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -5,7 +5,7 @@
import org.drools.verifier.report.components.CauseType;
/**
- *
+ *
* @author Toni Rikkola
*/
public abstract class Restriction extends VerifierComponent implements Cause {
@@ -17,6 +17,7 @@
2);
public static final RestrictionType RETURN_VALUE_RESTRICTION = new RestrictionType(
3);
+ public static final RestrictionType ENUM = new RestrictionType(4);
private final int index;
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierData.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -9,7 +9,7 @@
import org.drools.verifier.components.Consequence;
import org.drools.verifier.components.Constraint;
import org.drools.verifier.components.Field;
-import org.drools.verifier.components.FieldClassLink;
+import org.drools.verifier.components.FieldObjectTypeLink;
import org.drools.verifier.components.OperatorDescr;
import org.drools.verifier.components.Pattern;
import org.drools.verifier.components.PatternPossibility;
@@ -40,7 +40,7 @@
public void add(Restriction restriction);
- public void add(FieldClassLink link);
+ public void add(FieldObjectTypeLink link);
public void add(PatternPossibility possibility);
@@ -48,30 +48,30 @@
public void add(RulePackage rulePackage);
- public ObjectType getClassByPackageAndName(String name);
+ public ObjectType getObjectTypeByName(String name);
- public ObjectType getClassById(int id);
+ public ObjectType getObjectTypeById(int id);
- public Field getFieldByClassAndFieldName(String className, String fieldName);
+ public Field getFieldByObjectTypeAndFieldName(String className, String fieldName);
public Variable getVariableByRuleAndVariableName(String ruleName,
String variableName);
public Collection<? extends Object> getAll();
- public FieldClassLink getFieldClassLink(int id, int id2);
+ public FieldObjectTypeLink getFieldObjectTypeLink(int id, int id2);
public Collection<VerifierRule> getAllRules();
- public Collection<ObjectType> getClassesByRuleName(String ruleName);
+ public Collection<ObjectType> getObjectTypesByRuleName(String ruleName);
- public Collection<ObjectType> getAllClasses();
+ public Collection<ObjectType> getAllObjectTypes();
public Collection<RulePackage> getAllRulePackages();
- public Collection<Field> getFieldsByClassId(int id);
+ public Collection<Field> getFieldsByObjectTypeId(int id);
- public Collection<VerifierRule> getRulesByClassId(int id);
+ public Collection<VerifierRule> getRulesByObjectTypeId(int id);
public Collection<Field> getAllFields();
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/dao/VerifierDataMaps.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -15,7 +15,7 @@
import org.drools.verifier.components.Consequence;
import org.drools.verifier.components.Constraint;
import org.drools.verifier.components.Field;
-import org.drools.verifier.components.FieldClassLink;
+import org.drools.verifier.components.FieldObjectTypeLink;
import org.drools.verifier.components.OperatorDescr;
import org.drools.verifier.components.Pattern;
import org.drools.verifier.components.PatternPossibility;
@@ -33,16 +33,16 @@
private Map<Integer, RulePackage> packagesById = new TreeMap<Integer, RulePackage>();
private Map<String, RulePackage> packagesByName = new TreeMap<String, RulePackage>();
- private Map<Integer, ObjectType> classesById = new TreeMap<Integer, ObjectType>();
- private Map<String, ObjectType> classesByName = new TreeMap<String, ObjectType>();
- private Map<String, Field> fieldsByClassAndFieldName = new TreeMap<String, Field>();
+ private Map<Integer, ObjectType> objectTypesById = new TreeMap<Integer, ObjectType>();
+ private Map<String, ObjectType> objectTypesByName = new TreeMap<String, ObjectType>();
+ private Map<String, Field> fieldsByObjectTypeAndFieldName = new TreeMap<String, Field>();
private Map<Integer, Field> fieldsById = new TreeMap<Integer, Field>();
- private DataTree<Integer, Field> fieldsByClassId = new DataTree<Integer, Field>();
- private Map<String, FieldClassLink> fieldClassLinkByIds = new TreeMap<String, FieldClassLink>();
+ private DataTree<Integer, Field> fieldsByObjectTypeId = new DataTree<Integer, Field>();
+ private Map<String, FieldObjectTypeLink> fieldObjectTypeLinkByIds = new TreeMap<String, FieldObjectTypeLink>();
private Map<Integer, VerifierRule> rulesById = new TreeMap<Integer, VerifierRule>();
private Map<Integer, Pattern> patternsById = new TreeMap<Integer, Pattern>();
- private DataTree<Integer, Pattern> patternsByClassId = new DataTree<Integer, Pattern>();
+ private DataTree<Integer, Pattern> patternsByObjectTypeId = new DataTree<Integer, Pattern>();
private DataTree<String, Pattern> patternsByRuleName = new DataTree<String, Pattern>();
private Map<Integer, Constraint> constraintsById = new TreeMap<Integer, Constraint>();
private Map<Integer, Restriction> restrictionsById = new TreeMap<Integer, Restriction>();
@@ -58,19 +58,19 @@
private Map<Integer, RulePossibility> rulePossibilitiesById = new TreeMap<Integer, RulePossibility>();
public void add(ObjectType objectType) {
- classesById.put(Integer.valueOf(objectType.getId()), objectType);
- classesByName.put(objectType.getName(), objectType);
+ objectTypesById.put(Integer.valueOf(objectType.getId()), objectType);
+ objectTypesByName.put(objectType.getName(), objectType);
}
public void add(Field field) {
- ObjectType objectType = classesById.get(Integer.valueOf(field
- .getClassId()));
- fieldsByClassAndFieldName.put(objectType.getName() + "." + field.getName(),
- field);
+ ObjectType objectType = objectTypesById.get(Integer.valueOf(field
+ .getObjectTypeId()));
+ fieldsByObjectTypeAndFieldName.put(objectType.getName() + "."
+ + field.getName(), field);
fieldsById.put(field.getId(), field);
- fieldsByClassId.put(field.getClassId(), field);
+ fieldsByObjectTypeId.put(field.getObjectTypeId(), field);
}
public void add(Variable variable) {
@@ -85,7 +85,7 @@
public void add(Pattern pattern) {
patternsById.put(Integer.valueOf(pattern.getId()), pattern);
- patternsByClassId.put(pattern.getClassId(), pattern);
+ patternsByObjectTypeId.put(pattern.getObjectTypeId(), pattern);
patternsByRuleName.put(pattern.getRuleName(), pattern);
}
@@ -99,17 +99,19 @@
restrictionsByFieldId.put(restriction.getFieldId(), restriction);
}
- public void add(FieldClassLink link) {
- fieldClassLinkByIds.put(link.getFieldId() + "." + link.getClassId(),
- link);
+ public void add(FieldObjectTypeLink link) {
+ fieldObjectTypeLinkByIds.put(link.getFieldId() + "."
+ + link.getObjectTypeId(), link);
}
- public ObjectType getClassByPackageAndName(String name) {
- return classesByName.get(name);
+ public ObjectType getObjectTypeByName(String name) {
+ return objectTypesByName.get(name);
}
- public Field getFieldByClassAndFieldName(String className, String fieldName) {
- return fieldsByClassAndFieldName.get(className + "." + fieldName);
+ public Field getFieldByObjectTypeAndFieldName(String objectTypeName,
+ String fieldName) {
+ return fieldsByObjectTypeAndFieldName.get(objectTypeName + "."
+ + fieldName);
}
public Variable getVariableByRuleAndVariableName(String ruleName,
@@ -118,8 +120,8 @@
.get(ruleName + "." + variableName);
}
- public FieldClassLink getFieldClassLink(int id, int id2) {
- return fieldClassLinkByIds.get(id + "." + id2);
+ public FieldObjectTypeLink getFieldObjectTypeLink(int id, int id2) {
+ return fieldObjectTypeLinkByIds.get(id + "." + id2);
}
public Collection<VerifierRule> getAllRules() {
@@ -134,19 +136,19 @@
rulePossibilitiesById.put(possibility.getId(), possibility);
}
- public Collection<ObjectType> getClassesByRuleName(String ruleName) {
+ public Collection<ObjectType> getObjectTypesByRuleName(String ruleName) {
Set<ObjectType> set = new HashSet<ObjectType>();
for (Pattern pattern : patternsByRuleName.getBranch(ruleName)) {
- ObjectType objectType = getClassById(pattern.getClassId());
+ ObjectType objectType = getObjectTypeById(pattern.getObjectTypeId());
set.add(objectType);
}
return set;
}
- public ObjectType getClassById(int id) {
- return classesById.get(id);
+ public ObjectType getObjectTypeById(int id) {
+ return objectTypesById.get(id);
}
public Collection<? extends Object> getAll() {
@@ -166,25 +168,25 @@
objects.addAll(patternPossibilitiesById.values());
objects.addAll(rulePossibilitiesById.values());
- objects.addAll(classesByName.values());
- objects.addAll(fieldsByClassAndFieldName.values());
+ objects.addAll(objectTypesByName.values());
+ objects.addAll(fieldsByObjectTypeAndFieldName.values());
objects.addAll(variablesByRuleAndVariableName.values());
return objects;
}
- public Collection<ObjectType> getAllClasses() {
- return classesById.values();
+ public Collection<ObjectType> getAllObjectTypes() {
+ return objectTypesById.values();
}
- public Collection<Field> getFieldsByClassId(int id) {
- return fieldsByClassId.getBranch(id);
+ public Collection<Field> getFieldsByObjectTypeId(int id) {
+ return fieldsByObjectTypeId.getBranch(id);
}
- public Collection<VerifierRule> getRulesByClassId(int id) {
+ public Collection<VerifierRule> getRulesByObjectTypeId(int id) {
Set<VerifierRule> rules = new HashSet<VerifierRule>();
- for (Pattern pattern : patternsByClassId.getBranch(id)) {
+ for (Pattern pattern : patternsByObjectTypeId.getBranch(id)) {
rules.add(rulesById.get(pattern.getRuleId()));
}
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportModeller.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -24,7 +24,7 @@
writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
+ UrlFactory.HTML_FILE_INDEX, formPage(UrlFactory.THIS_FOLDER,
ComponentsReportVisitor.visitObjectTypeCollection(
- UrlFactory.THIS_FOLDER, data.getAllClasses())));
+ UrlFactory.THIS_FOLDER, data.getAllObjectTypes())));
// packages.htm
writeToFile(path + UrlFactory.SOURCE_FOLDER + File.separator
@@ -50,7 +50,7 @@
+ File.separator + UrlFactory.OBJECT_TYPE_FOLDER;
File objectTypesFolder = new File(objectTypeFolder);
objectTypesFolder.mkdir();
- for (ObjectType objectType : data.getAllClasses()) {
+ for (ObjectType objectType : data.getAllObjectTypes()) {
writeToFile(objectTypeFolder + File.separator + objectType.getId()
+ ".htm", formPage(UrlFactory.PREVIOUS_FOLDER,
ComponentsReportVisitor.visitObjectType(
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/ComponentsReportVisitor.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -51,7 +51,7 @@
public static String visitRule(String sourceFolder, VerifierRule rule,
VerifierData data) {
- Collection<ObjectType> objectTypes = data.getClassesByRuleName(rule
+ Collection<ObjectType> objectTypes = data.getObjectTypesByRuleName(rule
.getRuleName());
Map<String, Object> map = new HashMap<String, Object>();
@@ -68,7 +68,7 @@
public static String visitObjectType(String sourceFolder,
ObjectType objectType, VerifierData data) {
- Collection<VerifierRule> rules = data.getRulesByClassId(objectType
+ Collection<VerifierRule> rules = data.getRulesByObjectTypeId(objectType
.getId());
Map<String, Object> map = new HashMap<String, Object>();
@@ -87,7 +87,7 @@
public static String visitField(String sourceFolder, Field field,
VerifierResult result) {
VerifierData data = result.getVerifierData();
- ObjectType objectType = data.getClassById(field.getClassId());
+ ObjectType objectType = data.getObjectTypeById(field.getObjectTypeId());
Collection<VerifierRule> rules = data.getRulesByFieldId(field.getId());
Map<String, Object> map = new HashMap<String, Object>();
Modified: labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/java/org/drools/verifier/report/html/MissingRangesReportVisitor.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -139,7 +139,7 @@
+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
map.put("field", field);
- map.put("objectType", data.getClassById(field.getClassId()));
+ map.put("objectType", data.getObjectTypeById(field.getObjectTypeId()));
map.put("ranges", visitRanges(UrlFactory.THIS_FOLDER, restrictions,
message.getCauses()));
Modified: labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Patterns.drl 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/main/resources/org/drools/verifier/redundancy/Patterns.drl 2008-07-07 11:28:08 UTC (rev 20937)
@@ -17,7 +17,7 @@
$left :Pattern()
$right :Pattern(
id != $left.id,
- classId == $left.classId,
+ objectTypeId == $left.objectTypeId,
# TODO: In some cases the source might be redundant with different sources.
sourceType == $left.sourceType,
sourceId == $left.sourceId,
@@ -56,7 +56,7 @@
$left :Pattern()
$right :Pattern(
id != $left.id,
- classId == $left.classId,
+ objectTypeId == $left.objectTypeId,
# TODO: In some cases the source might be redundant with different sources.
sourceType == $left.sourceType,
sourceId == $left.sourceId,
Modified: labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/test/java/org/drools/verifier/VerifierTestStandalone.java 2008-07-07 11:28:08 UTC (rev 20937)
@@ -37,7 +37,8 @@
// fileNames.add("MissingRangesForVariables.drl");
// fileNames.add("Misc.drl");
// fileNames.add("Misc2.drl");
- fileNames.add("Misc3.drl");
+ // fileNames.add("Misc3.drl");
+ fileNames.add("Enums.drl");
// fileNames.add("ConsequenceTest.drl");
// fileNames.add("optimisation/OptimisationRestrictionOrderTest.drl");
// fileNames.add("optimisation/OptimisationPatternOrderTest.drl");
@@ -54,25 +55,23 @@
a.fireAnalysis();
// System.out.print(a.getResultAsPlainText());
// System.out.print(a.getResultAsXML());
-// a.writeComponentsHTML("/stash/");
-// a.writeComponentsHTML("/Users/michaelneale/foo.html");
- a.writeComponentsHTML("/home/trikkola/");
-// a.writeComponentsHTML("c:/");
+ // a.writeComponentsHTML("/stash/");
+ // a.writeComponentsHTML("/Users/michaelneale/foo.html");
+ a.writeComponentsHTML("/home/trikkola/");
+ // a.writeComponentsHTML("c:/");
VerifierResult result = a.getResult();
Collection<VerifierMessageBase> msgs = result
.getBySeverity(Severity.ERROR);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
- VerifierMessageBase msg = (VerifierMessageBase) iterator
- .next();
+ VerifierMessageBase msg = (VerifierMessageBase) iterator.next();
System.out.println("ERR: " + msg.getMessage());
}
msgs = result.getBySeverity(Severity.WARNING);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
- VerifierMessageBase msg = (VerifierMessageBase) iterator
- .next();
+ VerifierMessageBase msg = (VerifierMessageBase) iterator.next();
System.out.println("WARN (" + msg.getClass().getSimpleName()
+ "): " + msg.getMessage());
System.out.println("\t FAULT: ["
@@ -104,19 +103,18 @@
msgs = result.getBySeverity(Severity.NOTE);
for (Iterator iterator = msgs.iterator(); iterator.hasNext();) {
- VerifierMessageBase msg = (VerifierMessageBase) iterator
- .next();
+ VerifierMessageBase msg = (VerifierMessageBase) iterator.next();
System.out.println("NOTE: " + msg.getMessage());
System.out.println("\t" + msg.getFaulty());
}
Collection<ObjectType> classes = result.getVerifierData()
- .getAllClasses();
+ .getAllObjectTypes();
for (Iterator iterator = classes.iterator(); iterator.hasNext();) {
ObjectType c = (ObjectType) iterator.next();
Collection<VerifierRule> cr = result.getVerifierData()
- .getRulesByClassId(c.getId());
+ .getRulesByObjectTypeId(c.getId());
System.err.println("Class rules:" + cr);
Set<Field> flds = c.getFields();
for (Iterator iterator2 = flds.iterator(); iterator2.hasNext();) {
Modified: labs/jbossrules/trunk/drools-verifier/src/test/resources/org/drools/verifier/Misc.drl
===================================================================
--- labs/jbossrules/trunk/drools-verifier/src/test/resources/org/drools/verifier/Misc.drl 2008-07-07 10:04:41 UTC (rev 20936)
+++ labs/jbossrules/trunk/drools-verifier/src/test/resources/org/drools/verifier/Misc.drl 2008-07-07 11:28:08 UTC (rev 20937)
@@ -2,7 +2,6 @@
import com.sample.DroolsTest.Message;
-
rule "nro 1."
when
Foo( bar > 10 )
@@ -76,4 +75,4 @@
NumbersInPattern( x == 60 )
then
System.out.println( "Test" );
-end
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list