[jboss-svn-commits] JBL Code SVN: r32187 - in labs/jbossrules/trunk: drools-guvnor/src/test/java/org/drools/guvnor/server/rules and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 24 04:51:04 EDT 2010
Author: Rikkola
Date: 2010-03-24 04:51:03 -0400 (Wed, 24 Mar 2010)
New Revision: 32187
Added:
labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/Agent.java
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/BRMSSuggestionCompletionLoaderTest.java
Log:
JBRULES-2456 : Field completion in guided rule editor doesn't show camel-case 'multi-words' java beans properties
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2010-03-24 08:12:46 UTC (rev 32186)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2010-03-24 08:51:03 UTC (rev 32187)
@@ -1,5 +1,6 @@
package org.drools.guvnor.server.rules;
+import java.beans.Introspector;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
@@ -455,7 +456,7 @@
if ( method.getParameterTypes().length > 0 ) {
String name = method.getName();
if ( name.startsWith( "set" ) ) {
- name = name.substring( 3 ).toLowerCase();
+ name = Introspector.decapitalize(name.substring(3));
}
String factField = shortTypeName + "." + name;
@@ -470,9 +471,9 @@
} else if ( !method.getReturnType().equals( "void" ) ) {
String name = method.getName();
if ( name.startsWith( "get" ) ) {
- name = name.substring( 3 ).toLowerCase();
+ name = Introspector.decapitalize(name.substring(3));
} else if ( name.startsWith( "is" ) ) {
- name = name.substring( 2 ).toLowerCase();
+ name = Introspector.decapitalize(name.substring(2));
}
String factField = shortTypeName + "." + name;
Added: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/Agent.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/Agent.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/Agent.java 2010-03-24 08:51:03 UTC (rev 32187)
@@ -0,0 +1,86 @@
+package org.drools.guvnor.server.rules;
+
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: Guillaume
+ * Date: 18 mars 2010
+ * Time: 11:05:26
+ * To change this template use File | Settings | File Templates.
+ */
+class Agent {
+ private Integer numeroAgent;
+ private String nom;
+ private String prenom;
+ private Date dateDeNaissance;
+ private String sexe;
+ private String numeroINSEE;
+ private String cleINSEE;
+
+ private boolean stagiaire;
+
+ public boolean isStagiaire() {
+ return stagiaire;
+ }
+
+ public void setStagiaire(boolean stagiaire) {
+ this.stagiaire = stagiaire;
+ }
+
+ public String getCleINSEE() {
+ return cleINSEE;
+ }
+
+ public void setCleINSEE(String cleINSEE) {
+ this.cleINSEE = cleINSEE;
+ }
+
+ public Date getDateDeNaissance() {
+ return dateDeNaissance;
+ }
+
+ public void setDateDeNaissance(Date dateDeNaissance) {
+ this.dateDeNaissance = dateDeNaissance;
+ }
+
+ public String getNom() {
+ return nom;
+ }
+
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+
+ public Integer getNumeroAgent() {
+ return numeroAgent;
+ }
+
+ public void setNumeroAgent(Integer numeroAgent) {
+ this.numeroAgent = numeroAgent;
+ }
+
+ public String getNumeroINSEE() {
+ return numeroINSEE;
+ }
+
+ public void setNumeroINSEE(String numeroINSEE) {
+ this.numeroINSEE = numeroINSEE;
+ }
+
+ public String getPrenom() {
+ return prenom;
+ }
+
+ public void setPrenom(String prenom) {
+ this.prenom = prenom;
+ }
+
+ public String getSexe() {
+ return sexe;
+ }
+
+ public void setSexe(String sexe) {
+ this.sexe = sexe;
+ }
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/BRMSSuggestionCompletionLoaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/BRMSSuggestionCompletionLoaderTest.java 2010-03-24 08:12:46 UTC (rev 32186)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/rules/BRMSSuggestionCompletionLoaderTest.java 2010-03-24 08:51:03 UTC (rev 32187)
@@ -24,6 +24,7 @@
import junit.framework.TestCase;
import org.drools.guvnor.client.common.AssetFormats;
+import org.drools.guvnor.client.modeldriven.FieldAccessorsAndMutators;
import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
import org.drools.guvnor.server.ServiceImplementation;
import org.drools.guvnor.server.util.BRMSSuggestionCompletionLoader;
@@ -50,6 +51,44 @@
}
+ public void testLoaderWithComplexFields() throws Exception {
+
+ RulesRepository repo = new RulesRepository(TestEnvironmentSessionHelper.getSession());
+ PackageItem item = repo.createPackage( "testLoaderWithComplexFields", "to test the loader" );
+ ServiceImplementation.updateDroolsHeader("import org.drools.guvnor.server.rules.Agent", item );
+ repo.save();
+
+ BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();
+ String header = ServiceImplementation.getDroolsHeader(item);
+
+
+ SuggestionCompletionEngine engine = loader.getSuggestionEngine( item );
+ assertNotNull(engine);
+
+ String[] modelFields = engine.getModelFields("Agent");
+ System.out.println("modelFields: "+Arrays.asList(modelFields));
+ assertNotNull(modelFields);
+ assertEquals(9, modelFields.length );
+
+ modelFields = engine.getModelFields(FieldAccessorsAndMutators.BOTH, "Agent");
+ assertNotNull(modelFields);
+ System.out.println("modelFields: "+Arrays.asList(modelFields));
+ assertEquals(10, modelFields.length );
+
+ modelFields = engine.getModelFields(FieldAccessorsAndMutators.ACCESSOR, "Agent");
+ assertNotNull(modelFields);
+ System.out.println("modelFields: "+Arrays.asList(modelFields));
+ assertEquals(9, modelFields.length );
+
+ modelFields = engine.getModelFields(FieldAccessorsAndMutators.MUTATOR, "Agent");
+ assertNotNull(modelFields);
+ System.out.println("modelFields: "+Arrays.asList(modelFields));
+ assertEquals(9, modelFields.length );
+
+ }
+
+
+
public void testStripUnNeededFields() {
SuggestionCompletionLoader loader = new SuggestionCompletionLoader();
String[] result = loader.removeIrrelevantFields( Arrays.asList(new String[] {"foo", "toString", "class", "hashCode"} ));
More information about the jboss-svn-commits
mailing list