[jboss-svn-commits] JBL Code SVN: r32424 - in labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega: drools-guvnor/src/main/java/org/drools/guvnor/client/common and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 5 15:51:59 EDT 2010


Author: baunax
Date: 2010-04-05 15:51:59 -0400 (Mon, 05 Apr 2010)
New Revision: 32424

Modified:
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ActionFieldValue.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ISingleFieldConstraint.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/FieldDataConstraintEditor.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/resources/contenthandler.properties
Log:
changed RuleModeller to be able to create rule templates usable with drool-templates

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ActionFieldValue.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ActionFieldValue.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ActionFieldValue.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -46,6 +46,11 @@
     public static final int TYPE_PREDICATE = 5;
 
     /**
+     * This is for a field to be a placeholder for a template
+     */
+    public static final int TYPE_TEMPLATE = 7;
+    
+    /**
      * This is the datatype archectype (eg String, Numeric etc).
      */
     public String type;

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ISingleFieldConstraint.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ISingleFieldConstraint.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ISingleFieldConstraint.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -46,6 +46,11 @@
      * The fieldName and fieldBinding is not used in the case of a predicate.
      */
     public static final int TYPE_PREDICATE = 5;
+    
+    /**
+     * This is for a field to be a placeholder for a template
+     */
+    public static final int TYPE_TEMPLATE = 7;
 
     public String           value;
     public int              constraintValueType;

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -76,6 +76,8 @@
 
     public static final String WORKING_SET = "workingset";
     
+    public static final String RULE_TEMPLATE = "template";
+    
     /**
      * The following group the assets together for lists, helpers etc...
      */

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -201,6 +201,13 @@
             }
         }, "images/refresh.gif")); //NON-NLS
 
+        m.addItem(new Item(constants.NewRuleTemplate(), new BaseItemListenerAdapter() {
+            @Override
+            public void onClick(BaseItem item, EventObject e) {
+                launchWizard(null, constants.NewRuleTemplate(), true);
+            }
+        }, "images/new_template.gif")); //NON-NLS
+        
         return m;
     }
 

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -2075,4 +2075,7 @@
     String ConstraintsSection();
     String AddNewConstraint();
     String removeConstraint();
+    
+    String NewRuleTemplate();
+    String TemplateKey();
 }

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-04-05 19:51:59 UTC (rev 32424)
@@ -1015,3 +1015,5 @@
 AddElementBelow=Add an element below
 MoveUpList =Move element= in list up
 MoveDownListMove element in list down
+NewRuleTemplate=New rule template
+TemplateKey=Template key
\ No newline at end of file

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-04-05 19:51:59 UTC (rev 32424)
@@ -920,4 +920,6 @@
 ErrorLoadingRules=Error al cargar las reglas.
 ConstraintsSection=Secci\u00F3n de Restricciones
 AddNewConstraint=Agregar nueva Restricci\u00F3n 
-removeConstraint=Borrar Restricci\u00F3n
\ No newline at end of file
+removeConstraint=Borrar Restricci\u00F3n
+NewRuleTemplate=Nueva plantilla de regla
+TemplateKey=Clave en plantilla
\ No newline at end of file

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -1,9 +1,13 @@
 package org.drools.guvnor.client.modeldriven.ui;
 
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.*;
-import org.drools.guvnor.client.common.*;
+import java.util.List;
+
+import org.drools.guvnor.client.common.DirtyableComposite;
+import org.drools.guvnor.client.common.DropDownValueChanged;
+import org.drools.guvnor.client.common.FieldEditListener;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.InfoPopup;
+import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.DropDownData;
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
@@ -11,7 +15,19 @@
 import org.drools.guvnor.client.modeldriven.brl.ActionInsertFact;
 import org.drools.guvnor.client.modeldriven.brl.FactPattern;
 
-import java.util.List;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.KeyboardListener;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
 
 /**
  * This provides for editing of fields in the RHS of a rule.
@@ -301,6 +317,22 @@
                 widgets(lit,
                 new InfoPopup(constants.Literal(),
                 constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation())));
+        
+        
+        Button templateButton = new Button(constants.TemplateKey(), new ClickListener() {
+            public void onClick(Widget arg0) {
+                value.nature = ActionFieldValue.TYPE_TEMPLATE;
+                value.value = " ";
+                makeDirty();
+                refresh();
+                form.hide();
+            }
+        });
+        form.addAttribute(constants.TemplateKey() + ":",
+                widgets(templateButton,
+                new InfoPopup(constants.Literal(),
+                constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation())));
+        
         form.addRow(new HTML("<hr/>"));
         form.addRow(new SmallLabel(constants.AdvancedSection()));
 

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -42,7 +42,6 @@
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
-import org.drools.guvnor.client.modeldriven.brl.ExpressionFormLine;
 
 /**
  * This is an editor for constraint values.
@@ -162,6 +161,9 @@
                 case SingleFieldConstraint.TYPE_VARIABLE:
                     panel.add(variableEditor());
                     break;
+                case ISingleFieldConstraint.TYPE_TEMPLATE:
+                    panel.add(new DefaultLiteralEditor(this.constraint, false));
+                    break;
                 default:
                     break;
             }
@@ -263,6 +265,22 @@
                 new InfoPopup(constants.LiteralValue(),
                 constants.LiteralValTip())));
 
+        //only for template
+        String templateKeyLabel = constants.TemplateKey();
+        Button templateKeyButton = new Button(templateKeyLabel);
+        templateKeyButton.addClickListener(new ClickListener() {
+            public void onClick(Widget arg0) {
+                con.constraintValueType = ISingleFieldConstraint.TYPE_TEMPLATE;
+                doTypeChosen(form);
+            }
+        });
+
+        form.addAttribute(templateKeyLabel + ":",
+                widgets(templateKeyButton,
+                new InfoPopup(templateKeyLabel,
+                constants.LiteralValTip())));
+        //end only for template
+        
         form.addRow(new HTML("<hr/>"));
         form.addRow(new SmallLabel(constants.AdvancedOptions()));
 

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/FieldDataConstraintEditor.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/FieldDataConstraintEditor.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/FieldDataConstraintEditor.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -1,9 +1,16 @@
 package org.drools.guvnor.client.qa;
 
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.ui.*;
-import com.gwtext.client.util.Format;
-import org.drools.guvnor.client.common.*;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.guvnor.client.common.DirtyableComposite;
+import org.drools.guvnor.client.common.DirtyableHorizontalPane;
+import org.drools.guvnor.client.common.DropDownValueChanged;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.ImageButton;
+import org.drools.guvnor.client.common.InfoPopup;
+import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.DropDownData;
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
@@ -14,8 +21,20 @@
 import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
 import org.drools.guvnor.client.modeldriven.ui.EnumDropDown;
 
-import java.util.List;
-import java.util.Map;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.util.Format;
 
 /**
  * Constraint editor for the FieldData in the Given Section
@@ -281,26 +300,18 @@
     }
 
     private void calculateValueFromList() {
+        if (this.field.collectionFieldList == null || this.field.collectionFieldList.isEmpty()) {
+            this.field.value = "=[]";
+            return;
+        }
         StringBuffer listContent = new StringBuffer();
-        listContent.append("=[");
-        boolean isFirst = true;
         for (final FieldData f : this.field.collectionFieldList) {
-            if (isFirst == true){
-                isFirst = false;
-                 if (f.value!=null){
-                    listContent.append(f.value.substring(1));
-                 }
-            } else{
-                if (f.value==null){
-                    listContent.append(",");
-                }else{
-                    listContent.append(","+f.value.substring(1));
-                }
+            listContent.append(',');
+            if (f.value != null) {
+                listContent.append(f.value.substring(1));
             }
         }
-        listContent.append("]");
-        this.field.value = listContent.toString();
-
+        this.field.value = "=[" + listContent.substring(1) + "]";
     }
 
     private void showTypeChoice(Widget w,

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-04-05 19:51:59 UTC (rev 32424)
@@ -90,6 +90,8 @@
 			return new FunctionEditor(asset);
 		} else if (asset.metaData.format.equals(AssetFormats.WORKING_SET)) {
 			return new WorkingSetEditor(asset);
+        } else if (asset.metaData.format.equals(AssetFormats.RULE_TEMPLATE)) {
+            return new RuleModeller(asset);
 		} else {
 			return new DefaultContentUploadEditor(asset, viewer);
 		}

Modified: labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/resources/contenthandler.properties
===================================================================
--- labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/resources/contenthandler.properties	2010-04-05 19:21:44 UTC (rev 32423)
+++ labs/jbossrules/branches/guvnor_rules_templates_baunax_esteban_diega/drools-guvnor/src/main/resources/contenthandler.properties	2010-04-05 19:51:59 UTC (rev 32424)
@@ -36,4 +36,5 @@
 xml=org.drools.guvnor.server.contenthandler.XmlFileHandler
 #Working_Set
 workingset=org.drools.guvnor.server.contenthandler.WorkingSetHandler
-
+#Rule Template
+template=org.drools.guvnor.server.contenthandler.BRLContentHandler
\ No newline at end of file



More information about the jboss-svn-commits mailing list