[jboss-svn-commits] JBL Code SVN: r36731 - labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 24 17:45:39 EST 2011
Author: tsurdilovic
Date: 2011-02-24 17:45:38 -0500 (Thu, 24 Feb 2011)
New Revision: 36731
Modified:
labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
Log:
BRMS-536 Enum support in Guvnor is not functional
Modified: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2011-02-24 22:36:26 UTC (rev 36730)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2011-02-24 22:45:38 UTC (rev 36731)
@@ -89,6 +89,7 @@
private String fieldType;
private boolean readOnly;
private Command onValueChangeCommand;
+ private boolean isDropDownDataEnum;
public ConstraintValueEditor(FactPattern pattern, String fieldName,
BaseSingleFieldConstraint con, RuleModeller modeller, String valueType,
@@ -101,15 +102,31 @@
this.model = modeller.getModel();
this.modeller = modeller;
- valueType = sce.getFieldType(pattern.factType, fieldName);
- this.fieldType = valueType;
+ if(con instanceof SingleFieldConstraint){
+ this.fieldType = ((SingleFieldConstraint)con).getFieldType();
+ }else{
+ this.fieldType = sce.getFieldType(pattern.factType, fieldName);
+ }
this.numericValue = SuggestionCompletionEngine.TYPE_NUMERIC.equals(valueType);
this.readOnly = readOnly;
if (SuggestionCompletionEngine.TYPE_BOOLEAN.equals(valueType)) {
+
this.dropDownData = DropDownData.create(new String[]{"true", "false"}); //NON-NLS
- } else {
+ isDropDownDataEnum = false;
+
+ } else if(con instanceof SingleFieldConstraint && ((SingleFieldConstraint)con).getParent() !=null
+ && ((SingleFieldConstraint)con).getParent() instanceof SingleFieldConstraint){
+
+ SingleFieldConstraint subFact =(SingleFieldConstraint) ((SingleFieldConstraint)con).getParent();
+ this.dropDownData = DropDownData.create(sce.getEnumValues(subFact.getFieldType(),fieldName));
+ isDropDownDataEnum = true;
+
+ }else{
+
this.dropDownData = sce.getEnums(pattern, fieldName);
+ isDropDownDataEnum = true;
+
}
refreshEditor();
@@ -131,6 +148,7 @@
} else {
switch (constraint.getConstraintValueType()) {
case SingleFieldConstraint.TYPE_LITERAL:
+ case SingleFieldConstraint.TYPE_ENUM :
if (this.constraint instanceof SingleFieldConstraint) {
final SingleFieldConstraint con = (SingleFieldConstraint) this.constraint;
@@ -344,7 +362,12 @@
lit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
- con.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
+ //it is necessary look for "Comparable" to distinguish java enum of BRMS Enumeration
+ if(isDropDownDataEnum && fieldType.equals("Comparable")){
+ con.setConstraintValueType( SingleFieldConstraint.TYPE_ENUM );
+ }else{
+ con.setConstraintValueType( SingleFieldConstraint.TYPE_LITERAL );
+ }
doTypeChosen(form);
}
});
More information about the jboss-svn-commits
mailing list