[jboss-svn-commits] JBL Code SVN: r18233 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client: explorer and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 1 01:03:50 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-01 01:03:49 -0500 (Fri, 01 Feb 2008)
New Revision: 18233

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AutoCompleteTextBoxAsync.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerViewCenterPanel.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor2.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java
Log:
JBRULES-1445 tidy up and new wizard stuff

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AutoCompleteTextBoxAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AutoCompleteTextBoxAsync.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/AutoCompleteTextBoxAsync.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -1,13 +1,13 @@
 package org.drools.brms.client.common;
 /*
  * 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.
@@ -28,11 +28,11 @@
 
 /**
  * This nifty utility provides auto completion. Drop in replacement for a text box.
- * I recall lifting it from somewhere on http://del.icio.us/michaelneale/GWT, plus some 
- * small tweaks. 
- * 
+ * I recall lifting it from somewhere on http://del.icio.us/michaelneale/GWT, plus some
+ * small tweaks.
+ *
  * If this gives any back chat, I will shut it down and we can just use a regular text box.
- * 
+ *
  */
 public class AutoCompleteTextBoxAsync extends TextBox
     implements KeyboardListener {
@@ -59,6 +59,8 @@
     choices.sinkEvents(Event.ONCLICK);
     this.setStyleName("AutoCompleteTextBox");
 
+    choicesPopup.setPopupPosition(this.getAbsoluteLeft(), this.getAbsoluteTop() + 20);
+
     choicesPopup.add(choices);
     choicesPopup.addStyleName("AutoCompleteChoices");
 
@@ -219,10 +221,10 @@
       choices.setSelectedIndex(0);
       choices.setVisibleItemCount(choices.getItemCount() + 1);
 
-      if(!popupAdded) {
-        RootPanel.get().add(choicesPopup);
-        popupAdded = true;
-      }
+//      if(!popupAdded) {
+//        RootPanel.get().add(choicesPopup);
+//        popupAdded = true;
+//      }
       choicesPopup.show();
       visible = true;
       choicesPopup.setPopupPosition(this.getAbsoluteLeft(),
@@ -266,4 +268,4 @@
     this.visible = false;
   }
 
-} 
\ No newline at end of file
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -1,7 +1,6 @@
 package org.drools.brms.client.explorer;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.drools.brms.client.LoggedInUserInfo;
@@ -9,20 +8,15 @@
 import org.drools.brms.client.admin.BackupManager;
 import org.drools.brms.client.admin.CategoryManager;
 import org.drools.brms.client.admin.StateManager;
-import org.drools.brms.client.common.ErrorPopup;
+import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.common.GenericCallback;
-import org.drools.brms.client.common.LoadingPopup;
-import org.drools.brms.client.packages.PackageManagerView;
-import org.drools.brms.client.packages.SuggestionCompletionCache;
+import org.drools.brms.client.packages.NewPackageWizard;
 import org.drools.brms.client.rpc.PackageConfigData;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
-import org.drools.brms.client.rpc.RuleAsset;
 import org.drools.brms.client.ruleeditor.NewAssetWizard;
-import org.drools.brms.client.ruleeditor.RuleViewer;
 import org.drools.brms.client.rulelist.AssetItemGrid;
 import org.drools.brms.client.rulelist.AssetItemGridDataLoader;
 import org.drools.brms.client.rulelist.EditItemEvent;
-import org.drools.brms.client.rulelist.QuickFindWidget;
 
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.DockPanel;
@@ -31,9 +25,6 @@
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.core.Ext;
 import com.gwtext.client.data.Node;
-import com.gwtext.client.data.NodeTraversalCallback;
-import com.gwtext.client.util.DelayedTask;
-import com.gwtext.client.util.Format;
 import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.ButtonConfig;
 import com.gwtext.client.widgets.QuickTips;
@@ -41,30 +32,26 @@
 import com.gwtext.client.widgets.TabPanelItem;
 import com.gwtext.client.widgets.Toolbar;
 import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.ToolbarMenuButton;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-import com.gwtext.client.widgets.event.TabPanelItemListener;
 import com.gwtext.client.widgets.event.TabPanelItemListenerAdapter;
-import com.gwtext.client.widgets.event.TabPanelListener;
-import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
 import com.gwtext.client.widgets.form.Field;
-import com.gwtext.client.widgets.form.TextField;
 import com.gwtext.client.widgets.layout.BorderLayout;
 import com.gwtext.client.widgets.layout.ContentPanel;
 import com.gwtext.client.widgets.layout.LayoutRegion;
 import com.gwtext.client.widgets.layout.LayoutRegionConfig;
-import com.gwtext.client.widgets.layout.event.ContentPanelListener;
-import com.gwtext.client.widgets.layout.event.ContentPanelListenerAdapter;
+import com.gwtext.client.widgets.menu.BaseItem;
+import com.gwtext.client.widgets.menu.Item;
+import com.gwtext.client.widgets.menu.ItemConfig;
+import com.gwtext.client.widgets.menu.Menu;
+import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
 import com.gwtext.client.widgets.tree.AsyncTreeNode;
 import com.gwtext.client.widgets.tree.AsyncTreeNodeConfig;
-
 import com.gwtext.client.widgets.tree.TreeNode;
-import com.gwtext.client.widgets.tree.TreeNodeConfig;
 import com.gwtext.client.widgets.tree.TreePanel;
 import com.gwtext.client.widgets.tree.TreePanelConfig;
 import com.gwtext.client.widgets.tree.XMLTreeLoader;
 import com.gwtext.client.widgets.tree.XMLTreeLoaderConfig;
-import com.gwtext.client.widgets.tree.event.TreeNodeListener;
-import com.gwtext.client.widgets.tree.event.TreeNodeListenerAdapter;
 import com.gwtext.client.widgets.tree.event.TreePanelListener;
 import com.gwtext.client.widgets.tree.event.TreePanelListenerAdapter;
 
@@ -134,7 +121,7 @@
                 false);
         TabPanelItem tpBackupManager = tp.addTab("tpi4", "Admin", false);
 
-        VerticalPanel vp1 = new VerticalPanel();
+        VerticalPanel rulesPanel = new VerticalPanel();
         packagesPanel = new VerticalPanel();
         VerticalPanel vp3 = new VerticalPanel();
         VerticalPanel vp4 = new VerticalPanel();
@@ -195,32 +182,25 @@
         centertabbedPanel.openFind();
 
         baseCategory.add(categoryTree);
-        Toolbar tb = new Toolbar(Ext.generateId());
-        vp1.add(tb);
-        tb.addButton(new ToolbarButton(new ButtonConfig() {
-        	{
-                setText("New rule");
-                setButtonListener(new ButtonListenerAdapter() {
-                    public void onClick(Button button, EventObject e) {
-                        NewAssetWizard n = new NewAssetWizard(new EditItemEvent() {
-                            public void open(String key) {
-                               centertabbedPanel.openAsset(key);
-                            }
-                        }, true, null, "New rule" );
-                        n.show();
-                    }
-                });
-        	}
-        }));
-        vp1.add(baseCategory);
-        vp1.setWidth("100%");
 
+        Toolbar rulesToolBar = new Toolbar(Ext.generateId());
+        rulesPanel.add(rulesToolBar);
 
-        /** **************************** */
 
+        rulesToolBar.addButton(new ToolbarMenuButton("Create New", rulesNewMenu()));
 
 
+        rulesPanel.add(baseCategory);
+        rulesPanel.setWidth("100%");
 
+
+
+        Toolbar pkgToolbar = new Toolbar(Ext.generateId());
+        pkgToolbar.addButton(new ToolbarMenuButton("Create New", packageNewMenu()));
+
+        packagesPanel.add(pkgToolbar);
+        packagesPanel.setWidth("100%");
+
         vp3.add(createExamplesExplorer(layout, "drools-deployment"));
 
         /** ****************** */
@@ -260,7 +240,7 @@
 
         /** ****************** */
 
-        tpCategory.setContent(vp1);
+        tpCategory.setContent(rulesPanel);
 
 
         tpPackageExplorer.setContent(packagesPanel);
@@ -284,7 +264,185 @@
         layout.add(LayoutRegionConfig.WEST, tree);
     }
 
+	private Menu rulesNewMenu() {
+		Menu m = new Menu(Ext.generateId());
 
+        m.addItem(new Item("New Business Rule (Guided editor)", new ItemConfig() {
+        	{
+        		setIcon("images/business_rule.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.BUSINESS_RULE, "New Business Rule (Guided editor)", true);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New DSL Business Rule (text editor)", new ItemConfig() {
+        	{
+        		setIcon("images/business_rule.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.DSL_TEMPLATE_RULE, "New Rule using DSL", true);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New DRL (Technical rule)", new ItemConfig() {
+        	{
+        		setIcon("images/technical_rule_assets.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.DRL, "New DRL", true);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New Decision Table (Spreadsheet)", new ItemConfig() {
+        	{
+        		setIcon("images/spreadsheet_small.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.DECISION_SPREADSHEET_XLS, "New Decision Table (Spreadsheet)", true);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New Test Scenario", new ItemConfig() {
+        	{
+        		setIcon("images/test_manager.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.TEST_SCENARIO,
+                                "Create a test scenario.", false);
+        			}
+        		});
+        	}
+        }));
+
+
+
+		return m;
+	}
+
+	private Menu packageNewMenu() {
+		Menu m = new Menu(Ext.generateId());
+        m.addItem(new Item("New Package", new ItemConfig() {
+        	{
+        		setIcon("images/new_package.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				NewPackageWizard wiz = new NewPackageWizard(new Command() {
+							public void execute() {
+								refreshPackageTree();
+							}
+        				});
+        				wiz.show();
+        			}
+        		});
+        	}
+        }));
+        m.addItem(new Item("New Rule", new ItemConfig() {
+        	{
+        		setIcon("images/rule_asset.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(null, "New Rule", true);
+        			}
+        		});
+        	}
+        }));
+        m.addItem(new Item("New Model (jar) of fact classes", new ItemConfig() {
+        	{
+        		setIcon("images/model_asset.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.MODEL, "New model archive (jar)", false);
+        			}
+        		});
+        	}
+        }));
+        m.addItem(new Item("New Function", new ItemConfig() {
+        	{
+        		setIcon("images/function_assets.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.FUNCTION, "Create a new function", false);
+        			}
+        		});
+        	}
+        }));
+        m.addItem(new Item("New DSL", new ItemConfig() {
+        	{
+        		setIcon("images/dsl.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.DSL, "Create a new DSL configuration", false);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New RuleFlow", new ItemConfig() {
+        	{
+        		setIcon("images/ruleflow_small.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.RULE_FLOW_RF, "Create a new RuleFlow", false);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New Enumeration", new ItemConfig() {
+        	{
+        		setIcon("images/new_enumeration.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.ENUMERATION,
+                                "Create a new enumeration (drop down mapping).", false);
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("New Test Scenario", new ItemConfig() {
+        	{
+        		setIcon("images/test_manager.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				launchWizard(AssetFormats.TEST_SCENARIO,
+                                "Create a test scenario.", false);
+        			}
+        		});
+        	}
+        }));
+
+
+
+		return m;
+	}
+
+    private void launchWizard(String format,
+            String title, boolean showCats) {
+
+    	NewAssetWizard pop = new NewAssetWizard( new EditItemEvent() {
+                                   public void open(String key) {
+                                       centertabbedPanel.openAsset(key);
+                                   }
+                               },
+                               showCats,
+                               format,
+                               title,
+                               null );
+
+    	pop.show();
+    }
+
+
     private TreePanel basicTreeStructure(TreeNode basenode, TreePanelListenerAdapter listener) {
 
         TreePanel adminTreePanel = genericExplorerWidget(basenode);
@@ -415,6 +573,7 @@
         TreeNode root = new TreeNode("Packages");
         root.setAttribute("icon", "images/silk/chart_organisation.gif");
 
+
 		final TreePanel panel = genericExplorerWidget(root);
         cp.add(panel);
         loadPackages(root);
@@ -427,8 +586,7 @@
 		        			centertabbedPanel.openPackageEditor(uuid, new Command() {
 								public void execute() {
 									//refresh the package tree.
-									packagesPanel.remove(1);
-									packagesPanel.add(packageExplorer(centertabbedPanel));
+									refreshPackageTree();
 								}
 		        			});
 	    		} else if (node.getUserObject() instanceof Object[] ){
@@ -526,6 +684,11 @@
         return menuTree;
     }
 
+	private void refreshPackageTree() {
+		packagesPanel.remove(1);
+		packagesPanel.add(packageExplorer(centertabbedPanel));
+	}
 
 
+
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerViewCenterPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerViewCenterPanel.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerViewCenterPanel.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -130,6 +130,7 @@
 	public void openPackageEditor(final String uuid, final Command refPackageList) {
 
 		if (!showIfOpen(uuid)) {
+			LoadingPopup.showMessage("Loading package information...");
 			RepositoryServiceFactory.getService().loadPackageConfig(uuid, new GenericCallback() {
 				public void onSuccess(Object data) {
 					PackageConfigData conf = (PackageConfigData) data;

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -53,6 +53,21 @@
 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.core.EventObject;
+import com.gwtext.client.core.Ext;
+import com.gwtext.client.data.ArrayReader;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.MemoryProxy;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.Store;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.widgets.grid.CellMetadata;
+import com.gwtext.client.widgets.grid.ColumnConfig;
+import com.gwtext.client.widgets.grid.ColumnModel;
+import com.gwtext.client.widgets.grid.Grid;
+import com.gwtext.client.widgets.grid.Renderer;
+import com.gwtext.client.widgets.grid.event.GridRowListenerAdapter;
 
 /**
  * This is the widget for building packages, validating etc. Visually decorates
@@ -68,8 +83,7 @@
 
 	public PackageBuilderWidget(final PackageConfigData conf,
 			EditItemEvent editEvent) {
-		layout = new FormStyleLayout("images/package_builder.png",
-				"Verify and assemble package");
+		layout = new FormStyleLayout();
 		this.conf = conf;
 		this.editEvent = editEvent;
 
@@ -85,13 +99,6 @@
 			}
 		});
 
-		Button buildSource = new Button("Show package source");
-		buildSource.addClickListener(new ClickListener() {
-			public void onClick(Widget w) {
-				doBuildSource(conf.uuid, conf.name);
-			}
-		});
-		layout.addAttribute("View source for package", buildSource);
 
         HorizontalPanel buildStuff = new HorizontalPanel();
         buildStuff.add( b );
@@ -107,7 +114,7 @@
 						"<i><small>Building a package will collect all the assets, validate and compile into a deployable package.</small></i>"));
 		layout.addRow(buildResults);
 
-		layout.setStyleName("package-Editor");
+		//layout.setStyleName("package-Editor");
 
 		layout.setWidth("100%");
 
@@ -119,7 +126,7 @@
 	 */
 	public static void doBuildSource(final String uuid, final String name) {
 		LoadingPopup.showMessage("Assembling package source...");
-		DeferredCommand.add(new Command() {
+		DeferredCommand.addCommand(new Command() {
 			public void execute() {
 				RepositoryServiceFactory.getService().buildPackageSource(uuid,
 						new GenericCallback() {
@@ -137,7 +144,7 @@
 	 */
 	public static void showSource(final String content, String name) {
 		FormStylePopup pop = new FormStylePopup("images/view_source.gif",
-				"Viewing source for: " + name, null, new Integer(600), Boolean.FALSE);
+				"Viewing source for: " + name, new Integer(600), new Integer(600), Boolean.FALSE);
 		final TextArea area = new TextArea();
 		area.setVisibleLines(30);
 		area.setWidth("100%");
@@ -271,38 +278,120 @@
 	public static void showBuilderErrors(BuilderResult[] results, Panel buildResults, final EditItemEvent editEvent) {
 		buildResults.clear();
 
-		FlexTable errTable = new FlexTable();
-		errTable.setStyleName("build-Results");
-		errTable.setText(0, 1, "Format");
-		errTable.setText(0, 2, "Name");
-		errTable.setText(0, 3, "Message");
 
+
+		Object[][] data = new Object[results.length][4];
 		for (int i = 0; i < results.length; i++) {
-			int row = i + 1;
-			final BuilderResult res = results[i];
-			errTable.setWidget(row, 0, new Image("images/error.gif"));
-			errTable.setText(row, 1, res.assetFormat);
-			errTable.setText(row, 2, res.assetName);
-			errTable.setText(row, 3, res.message);
+			BuilderResult res = results[i];
+			data[i][0] = res.uuid;
+			data[i][1] = res.assetName;
+			data[i][2] = res.assetFormat;
+			data[i][3] = res.message;
+		}
 
-			if (!"package".equals(res.assetFormat)) {
-				Button show = new Button("Show");
-				show.addClickListener(new ClickListener() {
-					public void onClick(Widget w) {
-						editEvent.open(res.uuid);
-					}
-				});
-				errTable.setWidget(row, 4, show);
+
+		MemoryProxy proxy = new MemoryProxy(data);
+		RecordDef recordDef = new RecordDef(
+				new FieldDef[]{
+						new StringFieldDef("uuid"),
+						new StringFieldDef("assetName"),
+						new StringFieldDef("assetFormat"),
+						new StringFieldDef("message")
+				}
+		);
+
+		ArrayReader reader = new ArrayReader(recordDef);
+		Store store = new Store(proxy, reader);
+		store.load();
+
+
+		ColumnModel cm  = new ColumnModel(new ColumnConfig[] {
+			new ColumnConfig() {
+				{
+					setHidden(true);
+					setDataIndex("uuid");
+				}
+			},
+			new ColumnConfig() {
+				{
+					setHeader("Name");
+					setSortable(true);
+					setDataIndex("assetName");
+					setRenderer(new Renderer() {
+						public String render(Object value,
+								CellMetadata cellMetadata, Record record,
+								int rowIndex, int colNum, Store store) {
+							return "<img src='images/error.gif'/>" + value;
+						}
+
+					});
+				}
+			},
+			new ColumnConfig() {
+				{
+					setHeader("Format");
+					setSortable(true);
+					setDataIndex("assetFormat");
+				}
+			},
+			new ColumnConfig() {
+				{
+					setHeader("Message");
+					setSortable(true);
+					setDataIndex("message");
+					setWidth(300);
+
+				}
 			}
-		}
+		});
 
-		errTable.setWidth("100%");
-		ScrollPanel scroll = new ScrollPanel(errTable);
-		scroll.setAlwaysShowScrollBars(true);
-		scroll.setSize("100%", "25em");
 
-		buildResults.add(scroll);
+		Grid g = new Grid(Ext.generateId(), "600px", "300px", store, cm);
+		g.render();
 
+        g.addGridRowListener(new GridRowListenerAdapter() {
+            public void onRowDblClick(Grid grid, int rowIndex, EventObject e) {
+            	if (!grid.getSelectionModel().getSelected().getAsString("assetFormat").equals("Package")) {
+                    String uuid = grid.getSelectionModel().getSelected().getAsString("uuid");
+                    editEvent.open(uuid);
+            	}
+            }
+        });
+
+		buildResults.add(g);
+
+//		FlexTable errTable = new FlexTable();
+//		errTable.setStyleName("build-Results");
+//		errTable.setText(0, 1, "Format");
+//		errTable.setText(0, 2, "Name");
+//		errTable.setText(0, 3, "Message");
+//
+//		for (int i = 0; i < results.length; i++) {
+//			int row = i + 1;
+//			final BuilderResult res = results[i];
+//			errTable.setWidget(row, 0, new Image("images/error.gif"));
+//			errTable.setText(row, 1, res.assetFormat);
+//			errTable.setText(row, 2, res.assetName);
+//			errTable.setText(row, 3, res.message);
+//
+//			if (!"package".equals(res.assetFormat)) {
+//				Button show = new Button("Show");
+//				show.addClickListener(new ClickListener() {
+//					public void onClick(Widget w) {
+//						editEvent.open(res.uuid);
+//					}
+//				});
+//				errTable.setWidget(row, 4, show);
+//			}
+//		}
+//
+//		errTable.setWidth("100%");
+//		ScrollPanel scroll = new ScrollPanel(errTable);
+//		scroll.setAlwaysShowScrollBars(true);
+//		scroll.setSize("100%", "25em");
+//
+//		buildResults.add(scroll);
+
 	}
 
 	/**

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor2.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor2.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor2.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -108,18 +108,27 @@
 
         endSection();
 
-        startSection("Build and validate");
+        if (!conf.isSnapshot) {
+	        startSection("Build and validate");
+	        addRow(new PackageBuilderWidget(this.conf, editEvent));
+	        endSection();
+        }
 
-        addRow(new PackageBuilderWidget(this.conf, editEvent));
-
-        endSection();
-
         startSection("Information");
 
         addAttribute( "Last modified:", new Label(getDateString(conf.lastModified))  );
         addAttribute( "Last contributor:", new Label(this.conf.lasContributor));
         addAttribute( "Date created:", new Label(getDateString(this.conf.dateCreated)));
+		Button buildSource = new Button("Show package source");
+		buildSource.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				PackageBuilderWidget.doBuildSource(conf.uuid, conf.name);
+			}
+		});
+		addAttribute("View source for package:", buildSource);
 
+
+
         status = new HTML();
         HorizontalPanel statusBar = new HorizontalPanel();
         Image editState = new ImageButton("images/edit.gif");
@@ -228,6 +237,8 @@
                 if ( Window.confirm( "Are you sure you want to archive (remove) this package?" ) ) {
                     conf.archived = true;
                     doSaveAction(close);
+                    close.execute();
+                    refreshPackageList.execute();
                 }
             }
         });
@@ -251,6 +262,8 @@
                 RepositoryServiceFactory.getService().renamePackage( conf.uuid, name.getText(), new GenericCallback() {
                     public void onSuccess(Object data) {
                         refreshPackageList.execute();
+                        conf.name = name.getText();
+                        refreshWidgets();
                         Window.alert( "Package renamed successfully." );
                         pop.hide();
                     }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java	2008-01-31 23:32:08 UTC (rev 18232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java	2008-02-01 06:03:49 UTC (rev 18233)
@@ -121,7 +121,7 @@
                 MemoryProxy proxy = new MemoryProxy(gridData);
                 ArrayReader reader = new ArrayReader(rd);
                 store = new Store(proxy, reader);
-                final Grid g = new Grid(Ext.generateId(), "480px", "500px", store, cm);
+                final Grid g = new Grid(Ext.generateId(), "600px", "600px", store, cm);
                 g.render();
                 g.setLoadMask("Loading data...");
 
@@ -227,7 +227,7 @@
                                             CellMetadata cellMetadata, Record record,
                                             int rowIndex, int colNum, Store store) {
                                         String fmtIcon = "images/" + EditorLauncher.getAssetFormatIcon(record.getAsString("format"));
-                                        return Format.format("<img src='{0}'/><b>{1}</b><br/><small>{2}</small<", new String[]{fmtIcon,
+                                        return Format.format("<img src='{0}'/><b>{1}</b><br/><small>{2}</small>", new String[]{fmtIcon,
                                                 (String) value,
                                                 record.getAsString("Description")});
                                     }




More information about the jboss-svn-commits mailing list