[jboss-svn-commits] JBL Code SVN: r31148 - in labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor: server/rules and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 19 14:43:17 EST 2010
Author: eaa
Date: 2010-01-19 14:43:17 -0500 (Tue, 19 Jan 2010)
New Revision: 31148
Modified:
labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/ModelField.java
labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
Log:
SuggestionCompletionEngine refactor:
Fixed a bug related to Type Declaration Types.
Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/ModelField.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/ModelField.java 2010-01-19 19:39:42 UTC (rev 31147)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/ModelField.java 2010-01-19 19:43:17 UTC (rev 31148)
@@ -4,6 +4,11 @@
public class ModelField implements PortableObject {
+ public static enum FIELD_CLASS_TYPE{
+ REGULAR_CLASS,
+ TYPE_DECLARATION_CLASS
+ }
+
private String name;
private String className;
/**
@@ -11,14 +16,30 @@
*/
private String type;
+ private FIELD_CLASS_TYPE classType;
+
public ModelField() {
}
-
+ /**
+ * Creates a new ModelField instance
+ * @param name field's name
+ * @param clazz the class of the field. For fields defined as a type declaration
+ * this clazz should be null.
+ * @param type the type of the clazz.
+ */
public ModelField(String name, Class clazz, String type) {
this.name = name;
- this.className = clazz.getName();
+
+ //if clazz==null it is considered as a Type Declaration
+ if (clazz == null){
+ this.classType = FIELD_CLASS_TYPE.TYPE_DECLARATION_CLASS;
+ }else{
+ this.classType = FIELD_CLASS_TYPE.REGULAR_CLASS;
+ this.className = clazz.getName();
+ }
+
this.type = type;
}
@@ -33,4 +54,10 @@
public String getType() {
return type;
}
+
+ public FIELD_CLASS_TYPE getClassType() {
+ return classType;
+ }
+
+
}
Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java 2010-01-19 19:39:42 UTC (rev 31147)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java 2010-01-19 19:43:17 UTC (rev 31148)
@@ -634,6 +634,8 @@
if (!this.modelFields.containsKey(modelClassName)){
return null;
}
+
+ System.out.println("ASSA");
ModelField[] fields = this.modelFields.get(modelClassName);
Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2010-01-19 19:39:42 UTC (rev 31147)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2010-01-19 19:43:17 UTC (rev 31148)
@@ -303,25 +303,20 @@
}
/** now we do the dynamic facts - the declared types */
- Map<String,Class> declaredTypes = new HashMap<String,Class>();
+ Set<String> declaredTypes = new HashSet<String>();
for (final Iterator<TypeDeclarationDescr> it = pkgDescr.getTypeDeclarations().iterator(); it.hasNext();) {
TypeDeclarationDescr td = it.next();
+ declaredTypes.add(td.getTypeName());
+ }
+ for (final Iterator<TypeDeclarationDescr> it = pkgDescr.getTypeDeclarations().iterator(); it.hasNext();) {
+ TypeDeclarationDescr td = it.next();
+
if (td.getFields().size() > 0) {
//add the type to the map
String declaredType = td.getTypeName();
- Class clz;
- try {
- clz = resolver.resolveType(declaredType);
- } catch (ClassNotFoundException ex) {
- this.errors.add("Class not found: " + declaredType);
- continue;
- }
- declaredTypes.put(declaredType,clz);
-
-
this.builder.addFactType(declaredType);
List<String> fieldNames = new ArrayList<String>();
for (Map.Entry<String, TypeFieldDescr> f : td.getFields().entrySet()) {
@@ -330,14 +325,12 @@
String fieldClass = f.getValue().getPattern().getObjectType();
- if (declaredTypes.containsKey(fieldClass)) {
- this.builder.addFieldType(declaredType + "." + fieldName, fieldClass,declaredTypes.get(fieldClass));//SuggestionCompletionEngine.TYPE_OBJECT );
+ if (declaredTypes.contains(fieldClass)) {
+ this.builder.addFieldType(declaredType + "." + fieldName, fieldClass,null);//SuggestionCompletionEngine.TYPE_OBJECT );
} else {
try {
- clz = resolver.resolveType(fieldClass);
+ Class clz = resolver.resolveType(fieldClass);
this.builder.addFieldType(declaredType + "." + fieldName, getFieldType(clz),clz);
-
- declaredTypes.put(declaredType,clz);
} catch (ClassNotFoundException e) {
this.errors.add("Class of field not found: " + fieldClass);
}
More information about the jboss-svn-commits
mailing list