[jboss-svn-commits] JBL Code SVN: r9800 - labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 26 21:44:58 EST 2007


Author: michael.neale at jboss.com
Date: 2007-02-26 21:44:57 -0500 (Mon, 26 Feb 2007)
New Revision: 9800

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageManagerView.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageSnapshotView.java
Log:
JBRULES-644 Nearly done, a few simple actions to go

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java	2007-02-27 02:44:11 UTC (rev 9799)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java	2007-02-27 02:44:57 UTC (rev 9800)
@@ -43,11 +43,24 @@
     private final TreeListener treeListener;
     private AssetItemListViewer listView;
     private EditItemEvent editEvent;
+    private String uuid;
     
+    /**
+     * This is for the generic and re-useable package explorer.
+     */    
+    public PackageExplorerWidget(EditItemEvent edit) {
+        this(edit, null);
+    }
     
-    public PackageExplorerWidget(EditItemEvent edit) {
+    /**
+     * This will open an explorer locked to one specific package.
+     * @param edit The edit event (action) when the user wants to open an item.
+     * @param uuid The package to lock this to.
+     */
+    public PackageExplorerWidget(EditItemEvent edit, String uuid) {
         
         this.editEvent = edit;
+        this.uuid = uuid;
         exTree = new Tree();
         layout = new FlexTable();
         
@@ -212,23 +225,36 @@
 
     private void refreshTreeView() {
         
-        LoadingPopup.showMessage( "Loading list of packages ..." );
         
-        RepositoryServiceFactory.getService().listPackages( new GenericCallback() {
+        
+        if (this.uuid == null) {
+            LoadingPopup.showMessage( "Loading list of packages ..." );
+            RepositoryServiceFactory.getService().listPackages( new GenericCallback() {
+                public void onSuccess(Object data) {
+                    PackageConfigData[] packages = (PackageConfigData[]) data;
+                    exTree.clear();
+                    for ( int i = 0; i < packages.length; i++ ) {
+                        if (i == 0) {
+                            addPackage( packages[i], true );
+                        } else {
+                            addPackage( packages[i], false );
+                        }
+                    }
+                    LoadingPopup.close();
+                }
+            });
+        } else {
+            LoadingPopup.showMessage( "Loading package ..." );
+            RepositoryServiceFactory.getService().loadPackageConfig( uuid, new GenericCallback() {
+                public void onSuccess(Object data) {
+                    PackageConfigData pack = (PackageConfigData) data;
+                    exTree.clear();
+                    addPackage(pack, true);
 
-            public void onSuccess(Object data) {
-                PackageConfigData[] packages = (PackageConfigData[]) data;
-                
-                
-                exTree.clear();
-                for ( int i = 0; i < packages.length; i++ ) {
-                    addPackage( packages[i] );
+                    LoadingPopup.close();
                 }
-                
-                LoadingPopup.close();
-            }
-            
-        });
+            });            
+        }
         
 
     }
@@ -284,7 +310,7 @@
      * Add a package to the tree.
      * @param name
      */
-    private void addPackage(final PackageConfigData conf) {
+    private void addPackage(final PackageConfigData conf, boolean preSelect) {
         
         TreeItem pkg = makeItem(conf.name, "images/package.gif", new PackageTreeItem(new Command() {
             public void execute() {
@@ -299,6 +325,9 @@
         pkg.addItem( makeItem("Model", "images/model_asset.gif", showListEvent(conf.uuid, new String[] {AssetFormats.MODEL}) ) );
         
         exTree.addItem( pkg );
+        if (preSelect) {
+            exTree.setSelectedItem( pkg, true );
+        }
     }
 
 

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageManagerView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageManagerView.java	2007-02-27 02:44:11 UTC (rev 9799)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageManagerView.java	2007-02-27 02:44:57 UTC (rev 9800)
@@ -23,21 +23,37 @@
 
     private final TabPanel tab;
     private Map openedViewers = new HashMap();
-    
+
+    /**
+     * This will provide a explorer for all the packages in the system,
+     * not including snapshots.
+     */
     public PackageManagerView() {
+        this(null);
+    }
+
+    /**
+     * This is used when you only want to view one package.
+     * @param packageUUID The UUID of the package.
+     */
+    public PackageManagerView(String packageUUID) {
         tab = new TabPanel();
         tab.setWidth("100%");
         tab.setHeight("100%");   
-        
-        PackageExplorerWidget explorer = new PackageExplorerWidget(new EditItemEvent() {
-
+        EditItemEvent editEvent = new EditItemEvent() {
             public void open(String key) {
                 RulesFeature.showLoadEditor( openedViewers, tab, key );
             }
-            
-        });
-        tab.add( explorer,  "Explore");
+        };
+        PackageExplorerWidget explorer = null;
         
+        if (packageUUID == null) {
+            explorer = new PackageExplorerWidget(editEvent);            
+        } else {
+            explorer = new PackageExplorerWidget(editEvent, packageUUID);
+        }
+        
+        tab.add( explorer,  "Explore");        
         tab.selectTab( 0 );
         
         initWidget( tab );

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageSnapshotView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageSnapshotView.java	2007-02-27 02:44:11 UTC (rev 9799)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageSnapshotView.java	2007-02-27 02:44:57 UTC (rev 9800)
@@ -1,7 +1,5 @@
 package org.drools.brms.client.packages;
 
-import java.util.ArrayList;
-
 import org.drools.brms.client.common.FormStyleLayout;
 import org.drools.brms.client.common.GenericCallback;
 import org.drools.brms.client.common.LoadingPopup;
@@ -9,25 +7,29 @@
 import org.drools.brms.client.rpc.RepositoryServiceAsync;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
 import org.drools.brms.client.rpc.SnapshotInfo;
-import org.drools.brms.client.rpc.TableDataResult;
-import org.drools.brms.client.rpc.TableDataRow;
 import org.drools.brms.client.table.SortableTable;
 
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;
+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.DialogBox;
+import com.google.gwt.user.client.ui.DockPanel;
 import com.google.gwt.user.client.ui.FlexTable;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HasVerticalAlignment;
+import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.TabPanel;
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.TreeListener;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 
 /**
  * This contains a list of packages and their deployment snapshots.
@@ -37,11 +39,17 @@
 public class PackageSnapshotView extends Composite {
     
     private RepositoryServiceAsync service;
+    private TabPanel tab;
     private FlexTable layout;
 
     public PackageSnapshotView() {
         
         layout = new FlexTable();
+        tab = new TabPanel();
+        tab.setWidth( "100%" );
+        tab.setHeight( "100%" );
+        
+        tab.add( layout, "<img src='images/package_snapshot.gif'>Snapshots</a>", true );
         layout.getCellFormatter().setWidth( 0, 0, "20%" );
         
         
@@ -51,8 +59,9 @@
         
         layout.setWidth( "100%" );
         
-        initWidget( layout );
+        initWidget( tab );
         
+        tab.selectTab( 0 );
         
     }
 
@@ -141,8 +150,9 @@
             table.setWidget( row, 0,  new Image("images/package_snapshot_item.gif"));
             table.setWidget( row, 1, name );
             table.setWidget( row, 2, new Label(list[i].comment) );
-            table.setWidget( row, 3, new Button("Copy") );
-            table.setWidget( row, 4, new Button("Delete") );
+            table.setWidget( row, 3, getOpenSnapshotButton(pkgName, name.getText(), list[i].uuid) );
+            table.setWidget( row, 4, new Button("Copy") );
+            table.setWidget( row, 4, getDeleteButton(name.getText(), pkgName) );
             
             if (i%2 == 0) {
                 table.getRowFormatter().setStyleName( i + 1, SortableTable.styleEvenRow );
@@ -162,6 +172,66 @@
         
     }
 
+    private Button getOpenSnapshotButton(final String pkgName, final String snapshotName, final String uuid) {
+
+        
+        Button but = new Button("Open");
+        but.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                
+                FlexTable viewLayout = new FlexTable();
+                String msg = "<b>Viewing snapshot labelled: </b>" + snapshotName + 
+                    " for package " + pkgName + ". This should not be edited.";
+                HorizontalPanel horiz = new HorizontalPanel();
+                horiz.add( new HTML(msg) );
+                Image close = new Image("images/close.gif");
+                close.setTitle( "Close this view" );
+                close.addClickListener( new ClickListener() {
+                    public void onClick(Widget w) {
+                        tab.remove( 1 );
+                        tab.selectTab( 0 );
+                    }
+                } );
+                horiz.add( close );
+                viewLayout.setWidget( 0, 0, horiz );
+                FlexCellFormatter formatter = viewLayout.getFlexCellFormatter();
+                formatter.setStyleName( 0, 0, "editable-Surface" );
+                
+                
+                viewLayout.setWidget( 1, 0, new PackageManagerView(uuid) );
+                
+                
+                
+                viewLayout.setWidth( "100%" );
+                viewLayout.setHeight( "100%" );
+                
+                if (tab.getWidgetCount() > 1) {
+                    tab.remove( 1 );
+                }
+                tab.add( viewLayout, "<img src='images/package_snapshot_item.gif'> " + pkgName + " [" + snapshotName + "]", true );
+                tab.selectTab( 1 );
+            }            
+        });
+        
+        return but;
+    }
+
+    private Button getDeleteButton(final String snapshotName, final String pkgName) {
+        Button btn = new Button("Delete");
+        btn.addClickListener( new ClickListener() {
+
+            public void onClick(Widget w) {
+                boolean confirm = Window.confirm( "Are you sure you want to delete the snapshot labelled [" + snapshotName +
+                                 "] from the package [" + pkgName + "] ?");
+                Window.alert( "FINISH ME !" );
+                if (!confirm) return;
+                
+            }
+            
+        });
+        return btn;
+    }
+
     private TreeItem makeItem(String name, String icon, Object command) {
         TreeItem item = new TreeItem();
         item.setHTML( "<img src=\""+ icon + "\">" + name + "</a>" );




More information about the jboss-svn-commits mailing list