[jboss-svn-commits] JBL Code SVN: r32453 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: modeldriven/ui and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 6 14:02:34 EDT 2010


Author: eaa
Date: 2010-04-06 14:02:34 -0400 (Tue, 06 Apr 2010)
New Revision: 32453

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java
Log:
Real-time validation functionality was moved to "Save" button.
Fixed a bug related to working sets and FROM COLLECT widget.

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -2075,4 +2075,5 @@
     String ConstraintsSection();
     String AddNewConstraint();
     String removeConstraint();
+    String theRuleHasErrorsOrWarningsDotDoYouWantToContinue();
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-04-06 18:02:34 UTC (rev 32453)
@@ -1013,5 +1013,6 @@
 AGuidedList=A guide list
 AGuidedListTip=Helps you enter data to a collect/list
 AddElementBelow=Add an element below
-MoveUpList =Move element= in list up
-MoveDownListMove element in list down
+MoveUpList=Move element in list up
+MoveDownList=Move element in list down
+theRuleHasErrorsOrWarningsDotDoYouWantToContinue=The Rule has errors or warnings. Do you want to continue?

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-04-06 18:02:34 UTC (rev 32453)
@@ -920,4 +920,5 @@
 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
+theRuleHasErrorsOrWarningsDotDoYouWantToContinue=La regla contiene errors o advertencias. \u00BFDesea continuar de todas formas?
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -82,14 +82,15 @@
                 }
             });
 
-            tb.addFocusListener(new FocusListenerAdapter() {
-
-                @Override
-                public void onLostFocus(Widget sender) {
-                    getModeller().verifyRule();
-                }
-
-            });
+            
+//            tb.addFocusListener(new FocusListenerAdapter() {
+//
+//                @Override
+//                public void onLostFocus(Widget sender) {
+//                    getModeller().verifyRule();
+//                }
+//
+//            });
         } else {
             tb.setEnabled(false);
         }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -7,6 +7,8 @@
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.Widget;
+import java.util.HashMap;
+import java.util.Map;
 import org.drools.guvnor.client.common.ClickableLabel;
 import org.drools.guvnor.client.common.DirtyableFlexTable;
 import org.drools.guvnor.client.common.FormStylePopup;
@@ -24,6 +26,8 @@
  */
 public class FromCollectCompositeFactPatternWidget extends FromCompositeFactPatternWidget {
 
+    private Map<String,String> extraLeftSidePatternFactTypes = null;
+
     public FromCollectCompositeFactPatternWidget(RuleModeller modeller,
             FromCollectCompositeFactPattern pattern) {
         super(modeller, pattern);
@@ -34,6 +38,14 @@
         super(modeller, pattern, readOnly);
     }
 
+    private void initExtraLeftSidePatternFactTypes(){
+        extraLeftSidePatternFactTypes = new HashMap<String, String>();
+        extraLeftSidePatternFactTypes.put("java.util.ArrayList", "java.util.ArrayList");
+        extraLeftSidePatternFactTypes.put("java.util.LinkedList", "java.util.LinkedArrayList");
+        extraLeftSidePatternFactTypes.put("java.util.HashSet", "java.util.HashSet");
+        extraLeftSidePatternFactTypes.put("java.util.LinkedHashSet", "java.util.LinkedHashSet");
+    }
+
     @Override
     protected Widget getCompositeLabel() {
 
@@ -110,10 +122,9 @@
 
         box.addItem(constants.Choose());
 
-        box.addItem("java.util.ArrayList", "java.util.ArrayList");
-        box.addItem("java.util.LinkedList", "java.util.LinkedArrayList");
-        box.addItem("java.util.HashSet", "java.util.HashSet");
-        box.addItem("java.util.LinkedHashSet", "java.util.LinkedHashSet");
+        for (Map.Entry<String, String> entry : this.getExtraLeftSidePatternFactTypes().entrySet()) {
+            box.addItem(entry.getKey(), entry.getValue());
+        }
         
         //TODO: Add Facts that extedns Collection
 //        box.addItem("...");
@@ -203,4 +214,18 @@
     private FromCollectCompositeFactPattern getFromCollectPattern() {
         return (FromCollectCompositeFactPattern) this.pattern;
     }
+
+    @Override
+    protected void calculateReadOnly() {
+        if (this.pattern.factPattern != null) {
+            this.readOnly = !(this.getExtraLeftSidePatternFactTypes().containsKey(this.pattern.factPattern.factType) || this.getModeller().getSuggestionCompletions().containsFactType(this.pattern.factPattern.factType));
+        }
+    }
+
+    private Map<String,String> getExtraLeftSidePatternFactTypes(){
+        if (this.extraLeftSidePatternFactTypes == null){
+            this.initExtraLeftSidePatternFactTypes();
+        }
+        return this.extraLeftSidePatternFactTypes;
+    }
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -73,7 +73,7 @@
                     this.layout.setWidget(r,
                             0, factPatternWidget);
                 } else {
-                    FactPatternWidget factPatternWidget = new FactPatternWidget(this.getModeller(), fact, true);
+                    FactPatternWidget factPatternWidget = new FactPatternWidget(this.getModeller(), fact, true,false);
                     this.layout.setWidget(r,
                             0,
                             addRemoveButton(factPatternWidget, new ClickListener() {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -233,6 +233,7 @@
         layout.getCellFormatter().setHeight(currentLayoutRow + 1, 1, "100%");
 
 
+        this.verifyRule(null);
     }
 
     private boolean showAttributes() {
@@ -242,6 +243,7 @@
 
     public void refreshWidget() {
         initWidget();
+        showWarningsAndErrors();
         makeDirty();
     }
 
@@ -1213,28 +1215,40 @@
         }
     }
 
-    public void verifyRule(){
-//        LoadingPopup.showMessage( constants.VerifyingItemPleaseWait() );
-//        Set<String> activeWorkingSets = WorkingSetManager.getInstance().getActiveAssetUUIDs(asset.metaData.packageName);
-//        RepositoryServiceFactory.getService().verifyAssetWithoutVerifiersRules( this.asset, activeWorkingSets,
-//                                                                new AsyncCallback<AnalysisReport>() {
-//
-//                                                               public void onSuccess(AnalysisReport report) {
-//                                                                   LoadingPopup.close();
-//                                                                   errors = new ArrayList<AnalysisReportLine>();
-//                                                                   warnings = new ArrayList<AnalysisReportLine>();
-//
-//                                                                   errors = Arrays.asList(report.errors);
-//                                                                   warnings = Arrays.asList(report.warnings);
-//
-//                                                                   showWarningsAndErrors();
-//                                                               }
-//
-//                                                               public void onFailure(Throwable arg0) {
-//                                                                   // TODO Auto-generated method stub
-//
-//                                                               }
-//                                                           }  );
+    public void verifyRule(final Command cmd){
+        LoadingPopup.showMessage( constants.VerifyingItemPleaseWait() );
+        Set<String> activeWorkingSets = WorkingSetManager.getInstance().getActiveAssetUUIDs(asset.metaData.packageName);
+        RepositoryServiceFactory.getService().verifyAssetWithoutVerifiersRules( this.asset, activeWorkingSets,
+                                                                new AsyncCallback<AnalysisReport>() {
 
+                                                               public void onSuccess(AnalysisReport report) {
+                                                                   LoadingPopup.close();
+                                                                   errors = new ArrayList<AnalysisReportLine>();
+                                                                   warnings = new ArrayList<AnalysisReportLine>();
+
+                                                                   errors = Arrays.asList(report.errors);
+                                                                   warnings = Arrays.asList(report.warnings);
+
+                                                                   showWarningsAndErrors();
+                                                                   
+                                                                   if (cmd != null){
+                                                                       cmd.execute();
+                                                                   }
+                                                               }
+
+                                                               public void onFailure(Throwable arg0) {
+                                                                   // TODO Auto-generated method stub
+
+                                                               }
+                                                           }  );
+
     }
+
+    public boolean hasVerifierErrors(){
+        return this.errors != null && this.errors.size() > 0;
+    }
+
+    public boolean hasVerifierWarnings(){
+        return this.warnings != null && this.warnings.size() > 0;
+    }
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java	2010-04-06 14:58:51 UTC (rev 32452)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java	2010-04-06 18:02:34 UTC (rev 32453)
@@ -135,7 +135,7 @@
         save.addListener( new ButtonListenerAdapter() {
             public void onClick(com.gwtext.client.widgets.Button button,
                                 EventObject e) {
-                doCheckinConfirm( button,
+                verifyAndDoCheckinConfirm( button,
                                   false );
             }
         } );
@@ -147,7 +147,7 @@
         saveAndClose.addListener( new ButtonListenerAdapter() {
             public void onClick(com.gwtext.client.widgets.Button button,
                                 EventObject e) {
-                doCheckinConfirm( button,
+                verifyAndDoCheckinConfirm( button,
                                   true );
             }
         } );
@@ -371,6 +371,27 @@
         };
     }
 
+
+
+    protected void verifyAndDoCheckinConfirm(final Widget w,
+                                    final boolean closeAfter){
+        if (editor instanceof RuleModeller){
+            ((RuleModeller)editor).verifyRule(new Command() {
+
+                public void execute() {
+                    if (((RuleModeller)editor).hasVerifierErrors() || ((RuleModeller)editor).hasVerifierWarnings()){
+                        if (!Window.confirm(constants.theRuleHasErrorsOrWarningsDotDoYouWantToContinue())){
+                            return;
+                        }
+                    }
+                    doCheckinConfirm(w, closeAfter);
+                }
+            });
+        }else{
+            doCheckinConfirm(w, closeAfter);
+        }
+    }
+
     /**
      * Called when user wants to checkin.
      * set closeAfter to true if it should close this whole thing after saving it.



More information about the jboss-svn-commits mailing list