[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