[jboss-svn-commits] JBL Code SVN: r31157 - in labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src: main/java/org/drools/guvnor/server/rules and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 20 08:19:27 EST 2010


Author: eaa
Date: 2010-01-20 08:19:27 -0500 (Wed, 20 Jan 2010)
New Revision: 31157

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/server/rules/SuggestionCompletionLoader.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/test/java/org/drools/guvnor/server/rules/SuggestionCompletionLoaderTest.java
Log:
SuggestionCompletionEngine refactor:
	Fixed a bug related to Fact Type order returned by getFactTypes().
	Added a test case for nested type declarations 

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-20 12:57:55 UTC (rev 31156)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2010-01-20 13:19:27 UTC (rev 31157)
@@ -6,6 +6,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeMap;
 
 import org.drools.guvnor.client.modeldriven.brl.ActionFieldValue;
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
@@ -152,7 +153,7 @@
     private Map<String, List<MethodInfo>> methodInfos            = new HashMap<String, List<MethodInfo>>();
 
 
-    private Map<String,ModelField[]> modelFields = new HashMap<String, ModelField[]>();
+    private Map<String,ModelField[]> modelFields = new TreeMap<String, ModelField[]>();
 
 
 
@@ -635,8 +636,6 @@
             return null;
         }
 
-        System.out.println("ASSA");
-        
         ModelField[] fields = this.modelFields.get(modelClassName);
 
         String[] fieldNames = new String[fields.length];
@@ -666,6 +665,11 @@
         return field==null?null:field.getClassName();
     }
 
+    public ModelField.FIELD_CLASS_TYPE getFieldClassType(String modelClassName, String fieldName){
+        ModelField field = this.getField(modelClassName, fieldName);
+        return field==null?null:field.getClassType();
+    }
+
     public String getFieldType(String propertyName){
         String[] split = propertyName.split("\\.");
         if (split.length!=2){

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-20 12:57:55 UTC (rev 31156)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java	2010-01-20 13:19:27 UTC (rev 31157)
@@ -141,8 +141,6 @@
 
         populateDateEnums(dataEnums, sce);
 
-        Arrays.sort(sce.getFactTypes());
-
         return sce;
     }
 

Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/test/java/org/drools/guvnor/server/rules/SuggestionCompletionLoaderTest.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/test/java/org/drools/guvnor/server/rules/SuggestionCompletionLoaderTest.java	2010-01-20 12:57:55 UTC (rev 31156)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/test/java/org/drools/guvnor/server/rules/SuggestionCompletionLoaderTest.java	2010-01-20 13:19:27 UTC (rev 31157)
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 
 import junit.framework.TestCase;
+import org.drools.guvnor.client.modeldriven.ModelField.FIELD_CLASS_TYPE;
 
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
 
@@ -142,7 +143,48 @@
 
     }
 
+    public void testTypeDeclarations() throws Exception {
+        SuggestionCompletionLoader loader = new SuggestionCompletionLoader();
 
+        String header ="";
+        header += "package foo\n";
+
+        header += "declare Applicant\n";
+	header += "     creditRating: String\n";
+	header += "     approved: Boolean\n";
+	header += "     applicationDate: java.util.Date\n";
+	header += "     age: Integer\n";
+	header += "     name: String\n";
+        header += "end\n";
+
+        header += "declare LoanApplication\n";
+	header += "     amount: Integer\n";
+	header += "     approved: Boolean\n";
+	header += "     deposit: Integer\n";
+	header += "     approvedRate: Integer\n";
+	header += "     lengthYears: Integer\n";
+	header += "     explanation: String\n";
+	header += "     insuranceCost: Integer\n";
+	header += "     applicant: Applicant\n";
+        header += "end\n";
+
+        SuggestionCompletionEngine eng = loader.getSuggestionEngine( header, new ArrayList(), new ArrayList() );
+        assertNotNull(eng);
+
+        assertEquals(SuggestionCompletionEngine.TYPE_STRING, eng.getFieldType( "Applicant", "creditRating" ));
+        assertEquals("java.lang.String", eng.getFieldClassName( "Applicant", "creditRating" ));
+        assertEquals(FIELD_CLASS_TYPE.REGULAR_CLASS, eng.getFieldClassType( "Applicant", "creditRating" ));
+
+        assertEquals(SuggestionCompletionEngine.TYPE_NUMERIC, eng.getFieldType( "LoanApplication", "deposit" ));
+        assertEquals("java.lang.Integer", eng.getFieldClassName( "LoanApplication", "deposit" ));
+        assertEquals(FIELD_CLASS_TYPE.REGULAR_CLASS, eng.getFieldClassType( "LoanApplication", "deposit" ));
+
+        assertEquals("Applicant", eng.getFieldType( "LoanApplication", "applicant" ));
+        assertNull(eng.getFieldClassName( "LoanApplication", "applicant" ));
+        assertEquals(FIELD_CLASS_TYPE.TYPE_DECLARATION_CLASS, eng.getFieldClassType( "LoanApplication", "applicant" ));
+    }
+
+
     public void testLoaderWithExistingClassloader() throws Exception {
         MockClassLoader mcl = new MockClassLoader();
         SuggestionCompletionLoader loader = new SuggestionCompletionLoader(mcl);



More information about the jboss-svn-commits mailing list