[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