[jboss-svn-commits] JBL Code SVN: r32467 - in labs/jbossrules/trunk: drools-guvnor/src/main/java/org/drools/guvnor/client/admin and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 7 12:03:21 EDT 2010


Author: eaa
Date: 2010-04-07 12:03:18 -0400 (Wed, 07 Apr 2010)
New Revision: 32467

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/admin/RuleVerifierManager.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/rule_verification.png
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
   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/RuleModeller.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
Log:
Added config window for enable automatic rules verifier.
Automatic rules verifier now runs when saving the rule.

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2010-04-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -684,6 +684,9 @@
     }
 
     public boolean containsFactType(String modelClassName){
+        if (modelClassName.contains(".")){
+            modelClassName = modelClassName.substring(modelClassName.lastIndexOf(".")+1);
+        }
         return this.getModelFields().containsKey(modelClassName);
     }
 

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/admin/RuleVerifierManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/admin/RuleVerifierManager.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/admin/RuleVerifierManager.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -0,0 +1,73 @@
+package org.drools.guvnor.client.admin;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+
+import org.drools.guvnor.client.common.PrettyFormLayout;
+import org.drools.guvnor.client.messages.Constants;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.CheckBox;
+import org.drools.guvnor.client.packages.WorkingSetManager;
+
+/**
+ * This controls category administration.
+ * @author Michael Neale
+ */
+public class RuleVerifierManager extends Composite {
+
+    public VerticalPanel layout = new VerticalPanel();
+    private Constants constants = ((Constants) GWT.create(Constants.class));
+
+    public RuleVerifierManager() {
+
+        PrettyFormLayout form = new PrettyFormLayout();
+        form.addHeader("images/rule_verification.png", new HTML(constants.EditRulesVerificationConfiguration())); //NON-NLS
+        form.startSection(constants.AutomaticVerification());
+
+        final CheckBox enableOnlineValidator = new CheckBox();
+        enableOnlineValidator.setChecked(WorkingSetManager.getInstance().isAutoVerifierEnabled());
+        form.addAttribute(constants.Enabled(), enableOnlineValidator  );
+
+        HorizontalPanel actions = new HorizontalPanel();
+
+        form.addAttribute("", actions);
+
+        Button btnSave = new Button(constants.SaveChanges());
+        btnSave.setTitle(constants.SaveAllChanges());
+        btnSave.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                WorkingSetManager.getInstance().setAutoVerifierEnabled(enableOnlineValidator.isChecked());
+            }
+        } );
+
+        actions.add(btnSave);
+
+        form.endSection();
+
+        initWidget( form );
+
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java	2010-04-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -17,6 +17,7 @@
 import com.gwtext.client.widgets.tree.TreeNode;
 import com.gwtext.client.widgets.tree.TreePanel;
 import com.gwtext.client.widgets.tree.event.TreePanelListenerAdapter;
+import org.drools.guvnor.client.admin.RuleVerifierManager;
 
 /**
  * @author Anton Arhipov
@@ -80,7 +81,12 @@
 					aboutPop.addAttribute(constants.Version() + ":", aboutFrame);
 					aboutPop.show();
 					break;
-
+                                    case 7:
+                                        if (!centertabbedPanel.showIfOpen("ruleVerifierManager"))
+						centertabbedPanel.addTab(constants.RulesVerificationManager(),
+								true, new RuleVerifierManager(),
+								"ruleVerifierManager");
+                                        break;
 				}
 			}
 		});

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-04-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -112,6 +112,7 @@
                 { constants.EventLog(), "images/error.gif", "4" },
                 { constants.UserPermission(), "images/icoUsers.gif", "5" },
 				{ constants.ImportExport(), "images/save_edit.gif", "3" },
+				{ constants.RulesVerification(), "images/rule_verification.png", "7" },
 				{ constants.About(), "images/information.gif", "6" }};
 
         for ( int i = 0; i < adminStructure.length; i++ ) {

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-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -2076,4 +2076,9 @@
     String AddNewConstraint();
     String removeConstraint();
     String theRuleHasErrorsOrWarningsDotDoYouWantToContinue();
+    String RulesVerification();
+    String RulesVerificationManager();
+    String EditRulesVerificationConfiguration();
+    String AutomaticVerification();
+    String Enabled();
 }

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-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-04-07 16:03:18 UTC (rev 32467)
@@ -1014,5 +1014,10 @@
 AGuidedListTip=Helps you enter data to a collect/list
 AddElementBelow=Add an element below
 MoveUpList=Move element in list up
-MoveDownList=Move element in list down
+MoveDownListMove= element in list down
 theRuleHasErrorsOrWarningsDotDoYouWantToContinue=The Rule has errors or warnings. Do you want to continue?
+RulesVerification=Rules Verification
+RulesVerificationManager=Rules Verification Manager
+EditRulesVerificationConfiguration=Edit Rules Verification Configuration
+AutomaticVerification=Automatic Verification
+Enabled=Enabled

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-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-04-07 16:03:18 UTC (rev 32467)
@@ -921,4 +921,9 @@
 ConstraintsSection=Secci\u00F3n de Restricciones
 AddNewConstraint=Agregar nueva Restricci\u00F3n 
 removeConstraint=Borrar Restricci\u00F3n
-theRuleHasErrorsOrWarningsDotDoYouWantToContinue=La regla contiene errors o advertencias. \u00BFDesea continuar de todas formas?
\ No newline at end of file
+theRuleHasErrorsOrWarningsDotDoYouWantToContinue=La regla contiene errors o advertencias. \u00BFDesea continuar de todas formas?
+RulesVerification=Verificaci\u00F3n de Reglas
+RulesVerificationManager=Administraci\u00F3n de Verificaci\u00F3n de Reglas
+EditRulesVerificationConfiguration=Editar la Configuraci\u00F3n de la Verificaci\u00F3n de Reglas
+AutomaticVerification=Verificaci\u00F3n Autom\u00E1tica
+Enabled=Activado
\ No newline at end of file

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-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -1216,32 +1216,40 @@
     }
 
     public void verifyRule(final Command cmd){
-        LoadingPopup.showMessage( constants.VerifyingItemPleaseWait() );
+        errors = new ArrayList<AnalysisReportLine>();
+        warnings = new ArrayList<AnalysisReportLine>();
+        
+        //if AutoVerifierEnabled is off, just execute cmd and return.
+        if (!WorkingSetManager.getInstance().isAutoVerifierEnabled()){
+            if (cmd != null){
+                cmd.execute();
+            }
+            return;
+        }
+
+        LoadingPopup.showMessage(constants.VerifyingItemPleaseWait());
         Set<String> activeWorkingSets = WorkingSetManager.getInstance().getActiveAssetUUIDs(asset.metaData.packageName);
-        RepositoryServiceFactory.getService().verifyAssetWithoutVerifiersRules( this.asset, activeWorkingSets,
-                                                                new AsyncCallback<AnalysisReport>() {
+        RepositoryServiceFactory.getService().verifyAssetWithoutVerifiersRules(this.asset, activeWorkingSets,
+                new AsyncCallback<AnalysisReport>() {
 
-                                                               public void onSuccess(AnalysisReport report) {
-                                                                   LoadingPopup.close();
-                                                                   errors = new ArrayList<AnalysisReportLine>();
-                                                                   warnings = new ArrayList<AnalysisReportLine>();
+                    public void onSuccess(AnalysisReport report) {
+                        LoadingPopup.close();
+                        
+                        errors = Arrays.asList(report.errors);
+                        warnings = Arrays.asList(report.warnings);
 
-                                                                   errors = Arrays.asList(report.errors);
-                                                                   warnings = Arrays.asList(report.warnings);
+                        showWarningsAndErrors();
 
-                                                                   showWarningsAndErrors();
-                                                                   
-                                                                   if (cmd != null){
-                                                                       cmd.execute();
-                                                                   }
-                                                               }
+                        if (cmd != null) {
+                            cmd.execute();
+                        }
+                    }
 
-                                                               public void onFailure(Throwable arg0) {
-                                                                   // TODO Auto-generated method stub
+                    public void onFailure(Throwable arg0) {
+                        // TODO Auto-generated method stub
+                    }
+                });
 
-                                                               }
-                                                           }  );
-
     }
 
     public boolean hasVerifierErrors(){

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-04-07 15:51:30 UTC (rev 32466)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-04-07 16:03:18 UTC (rev 32467)
@@ -25,6 +25,12 @@
     private static WorkingSetManager INSTANCE = new WorkingSetManager();
     private Map<String, Set<RuleAsset>> activeWorkingSets = new HashMap<String, Set<RuleAsset>>();
 
+    /**
+     * This attribute should be sever side. Maybe in some FactConstraintConfig
+     * object.
+     */
+    private boolean autoVerifierEnabled = false;
+
     public synchronized static WorkingSetManager getInstance() {
         return INSTANCE;
     }
@@ -198,4 +204,22 @@
 
         return result;
     }
+
+    /**
+     * TODO: We need to store/retrieve this value from repository
+     * @return
+     */
+    public boolean isAutoVerifierEnabled() {
+        return autoVerifierEnabled;
+    }
+
+    /**
+     * TODO: We need to store/retrieve this value from repository
+     */
+    public void setAutoVerifierEnabled(boolean autoVerifierEnabled) {
+        this.autoVerifierEnabled = autoVerifierEnabled;
+    }
+
+
+
 }

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/rule_verification.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/images/rule_verification.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the jboss-svn-commits mailing list