[jboss-svn-commits] JBL Code SVN: r32117 - in labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor: src/main/java/org/drools/guvnor/client/messages and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 16 13:16:17 EDT 2010


Author: baunax
Date: 2010-03-16 13:16:16 -0400 (Tue, 16 Mar 2010)
New Revision: 32117

Modified:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/pom.xml
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
Log:
- added new L&F
- fixed to save the validFacts list

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/pom.xml	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/pom.xml	2010-03-16 17:16:16 UTC (rev 32117)
@@ -167,6 +167,10 @@
          <artifactId>drools-verifier</artifactId>
       </dependency>
       <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-factconstraint</artifactId>
+      </dependency>
+      <dependency>
          <groupId>wsdl4j</groupId>
          <artifactId>wsdl4j</artifactId>
          <version>1.6.2</version>

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-03-16 17:16:16 UTC (rev 32117)
@@ -2047,6 +2047,14 @@
     String NewWorkingSet();
     String CreateWorkingSet();
     String WorkingSetName();
+    String CopyTheWorkingSet();
+    String CopyTheWorkingSetTip();
+    String NewWorkingSetNameIs();
+    String NotAValidWorkingSetName();
+    String WorkingSetCopiedSuccessfully();
+    String RenameTheWorkingSet();
+    String RenameTheWorkingSetTip();
+    String WorkingSetRenamedSuccessfully();
 
     String ErrorLoadingRules();
 }

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-03-16 17:16:16 UTC (rev 32117)
@@ -992,4 +992,12 @@
 NewWorkingSet=New WorkingSet
 CreateWorkingSet=Create a WorkingSet
 WorkingSetName=WorkingSet name
+CopyTheWorkingSet=Copy the WorkingSet
+CopyTheWorkingSetTip=<i>Copy the WorkingSet and all its facts and restrictions. A new unique name is required.</i>
+NewWorkingSetNameIs=New WorkingSet name:
+NotAValidWorkingSetName=Not a valid WorkingSet name.
+WorkingSetCopiedSuccessfully=WorkingSet copied successfully.
+RenameTheWorkingSet=Rename the WorkingSet.
+RenameTheWorkingSetTip=<i>Rename the WorkingSet. A new unique name is required.</i>
+WorkingSetRenamedSuccessfully=WorkingSet successfully renamed.
 ErrorLoadingRules=Error loading rules.
\ No newline at end of file

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants_es_ES.properties	2010-03-16 17:16:16 UTC (rev 32117)
@@ -908,4 +908,13 @@
 WorkingSets=WorkingSets
 NewWorkingSet=Nuevo WorkingSet
 CreateWorkingSet=Crear el WorkingSet
-WorkingSetName=Nombre del WorkingSet
\ No newline at end of file
+WorkingSetName=Nombre del WorkingSet
+CopyTheWorkingSet=Copiar el WorkingSet
+CopyTheWorkingSetTip=<i>Copia el WorkingSet con todos sus facts y restricciones. Debe proveer un nombre \u00F4nico.</i>
+NewWorkingSetNameIs=Nuevo nombre de WorkingSet:
+NotAValidWorkingSetame=No es un nombre de WorkingSet v\u00E1lido.
+WorkingSetCopiedSuccessfully=WorkingSet copiado correctamente.
+RenameTheWorkingSet=Renombrar el WorkingSet.
+RenameTheWorkingSetTip=<i>Renombrar el WorkingSet. Se requiere un nombre \u00FAnico.</i>
+WorkingSetRenamedSuccessfully=WorkingSet renombrado correctamente.
+ErrorLoadingRules=Error al cargar las reglas.
\ No newline at end of file

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java	2010-03-16 17:16:16 UTC (rev 32117)
@@ -1,6 +1,9 @@
 package org.drools.guvnor.client.rpc;
 
+import java.util.List;
+
 import org.drools.guvnor.client.modeldriven.brl.PortableObject;
+import org.drools.guvnor.client.rulefloweditor.SplitNode.Constraint;
 
 import com.google.gwt.user.client.rpc.IsSerializable;
 
@@ -11,6 +14,7 @@
 public class WorkingSetConfigData implements PortableObject, IsSerializable {
 	public String name;
 	public String description;
+	public List<Constraint> constraints;
 	
 	public String[] validFacts;
 	public WorkingSetConfigData[] workingSets;	

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java	2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java	2010-03-16 17:16:16 UTC (rev 32117)
@@ -7,26 +7,59 @@
 import java.util.Set;
 
 import org.drools.guvnor.client.common.AssetFormats;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.common.LoadingPopup;
+import org.drools.guvnor.client.common.PrettyFormLayout;
+import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.guvnor.client.packages.PackageNameValidator;
 import org.drools.guvnor.client.packages.SuggestionCompletionCache;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 import org.drools.guvnor.client.rpc.RuleAsset;
 import org.drools.guvnor.client.rpc.WorkingSetConfigData;
 
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
 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.FlexTable;
 import com.google.gwt.user.client.ui.Grid;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
 
-public class WorkingSetEditor extends Composite {
+public class WorkingSetEditor extends PrettyFormLayout {
+	private Constants constants =  GWT.create(Constants.class);
 	private RuleAsset workingSet;
 	
 	public WorkingSetEditor(RuleAsset asset) {
 		if (!AssetFormats.WORKING_SET.equals(asset.metaData.format)) {
 			throw new IllegalArgumentException("asset must a be a workingset not a: " + asset.metaData.format);
 		}
+		setWidth( "100%" );
+		
 		workingSet = asset;
+
+//		initWidget(grid);
+		refreshWidgets();
+	}
+	
+	private void refreshWidgets() {
+		clear();
+		FlexTable headerWidgets = new FlexTable();
+        headerWidgets.setWidget(0, 0, new HTML("<b>" + constants.WorkingSets() + ":</b>")); //NON-NLS
+        headerWidgets.setWidget(0, 1, new Label(workingSet.metaData.name));
+        headerWidgets.setWidget(1, 0, modifyWidgets());
+        headerWidgets.getFlexCellFormatter().setColSpan(1, 0, 2);
+        addHeader("images/package_large.png", headerWidgets); //NON-NLS
+
+        startSection(constants.ConfigurationSection());
+		
 		WorkingSetConfigData wsData = (WorkingSetConfigData) workingSet.content;
 		Grid grid = new Grid(1, 3);
 		final ListBox availFacts = new ListBox(true);
@@ -56,14 +89,14 @@
 		btnsPanel.setWidget(0, 0, new Button(">", new ClickListener() {
 			public void onClick(Widget sender) {
 				copySelected(availFacts, validFacts);
-				updateAsset(availFacts);
+				updateAsset(validFacts);
 			}
 		}));
 
 		btnsPanel.setWidget(1, 0, new Button("&lt;", new ClickListener() {
 			public void onClick(Widget sender) {
 				copySelected(validFacts, availFacts);
-				updateAsset(availFacts);
+				updateAsset(validFacts);
 			}
 		}));
 
@@ -75,9 +108,55 @@
 		grid.getColumnFormatter().setWidth(0, "10%");
 		grid.getColumnFormatter().setWidth(0, "45%");
 		
-		initWidget(grid);
+		addAttribute(constants.Configuration(), grid);
+		endSection();
+				
 	}
 	
+	/**
+     * This will get the save widgets.
+     */
+    private Widget modifyWidgets() {
+
+        HorizontalPanel horiz = new HorizontalPanel();
+
+        Button copy = new Button(constants.Copy());
+        copy.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                showCopyDialog();
+            }
+        } );
+        horiz.add( copy );
+
+        Button rename = new Button(constants.Rename());
+        rename.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                showRenameDialog();
+            }
+        } );
+        horiz.add( rename );
+
+
+        Button archive = new Button(constants.Archive());
+        archive.addClickListener(new ClickListener() {
+            public void onClick(Widget w) {
+                if ( Window.confirm(constants.AreYouSureYouWantToArchiveRemoveThisPackage()) ) {
+//                    conf.archived = true;
+                    Command ref = new Command() {
+						public void execute() {
+//		                    close.execute();
+//		                    refreshPackageList.execute();
+						}
+                    };
+//                    doSaveAction(ref);
+                }
+            }
+        });
+        horiz.add(archive);
+
+        return horiz;
+    }
+	
 	private void updateAsset(ListBox availFacts) {
 		List<String> l = new ArrayList<String>(availFacts.getItemCount()); 
 		for (int i = 0; i < availFacts.getItemCount(); i++) {
@@ -94,4 +173,63 @@
 		}
 	}
 	
+	/**
+	 * Will show a copy dialog for copying the whole package.
+	 */
+	private void showCopyDialog() {
+		final FormStylePopup pop = new FormStylePopup("images/new_wiz.gif", constants.CopyTheWorkingSet()); // NON-NLS
+		pop.addRow(new HTML(constants.CopyTheWorkingSetTip()));
+		final TextBox name = new TextBox();
+		pop.addAttribute(constants.NewWorkingSetNameIs(), name);
+		Button ok = new Button(constants.OK());
+		pop.addAttribute("", ok);
+
+		ok.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				if (!PackageNameValidator.validatePackageName(name.getText())) {
+					Window.alert(constants.NotAValidWorkingSetName());
+					return;
+				}
+				LoadingPopup.showMessage(constants.PleaseWaitDotDotDot());
+				RepositoryServiceFactory.getService().copyAsset(workingSet.uuid, workingSet.metaData.packageName, name.getText(), 
+						new GenericCallback<String>() {
+							public void onSuccess(String uuid) {
+								//TODO {bauna} refreshPackageList.execute();
+								Window.alert(constants.WorkingSetCopiedSuccessfully());
+								pop.hide();
+								LoadingPopup.close();
+							}
+					
+				});
+			}
+		});
+
+		pop.show();
+	}
+	
+	private void showRenameDialog() {
+		final FormStylePopup pop = new FormStylePopup("images/new_wiz.gif", constants.RenameTheWorkingSet());
+		pop.addRow(new HTML(constants.RenameTheWorkingSetTip()));
+		final TextBox name = new TextBox();
+		pop.addAttribute(constants.NewWorkingSetNameIs(), name);
+		Button ok = new Button(constants.OK());
+		pop.addAttribute("", ok);
+
+		ok.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				LoadingPopup.showMessage(constants.PleaseWaitDotDotDot());
+				RepositoryServiceFactory.getService().renameAsset(workingSet.uuid, name.getText(),
+						new GenericCallback<String>() {
+							public void onSuccess(String uuid) {
+								Window.alert(constants.WorkingSetRenamedSuccessfully());
+								pop.hide();
+								LoadingPopup.close();
+							}
+						});
+			}
+		});
+
+		pop.show();
+	}
+	
 }



More information about the jboss-svn-commits mailing list