From 5637622fc1e79360718cc610d6d9e4ba4d5715e4 Mon Sep 17 00:00:00 2001 From: Loredana Liccardo Date: Mon, 14 Jul 2014 08:06:55 +0000 Subject: [PATCH] SElectedTableEvent added git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/databases-manager-portlet@98581 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/events/EventsTypeEnum.java | 3 +- .../client/events/SelectedTableEvent.java | 34 + .../interfaces/SelectedTableEventHandler.java | 11 + .../client/panels/GxtBorderLayoutPanel.java | 935 +++++++++++++----- .../toolbar/GxtToolbarFunctionality.java | 40 +- 5 files changed, 765 insertions(+), 258 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/databasesmanager/client/events/SelectedTableEvent.java create mode 100644 src/main/java/org/gcube/portlets/user/databasesmanager/client/events/interfaces/SelectedTableEventHandler.java diff --git a/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/EventsTypeEnum.java b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/EventsTypeEnum.java index 81ff8c0..67f26de 100644 --- a/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/EventsTypeEnum.java +++ b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/EventsTypeEnum.java @@ -8,6 +8,7 @@ public enum EventsTypeEnum { SAMPLING_EVENT, SMART_SAMPLING_EVENT, RANDOM_SAMPLING_EVENT, - LOAD_TABLES_EVENT; + LOAD_TABLES_EVENT, + SELECTED_TABLE_EVENT; } \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/SelectedTableEvent.java b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/SelectedTableEvent.java new file mode 100644 index 0000000..9c4b517 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/SelectedTableEvent.java @@ -0,0 +1,34 @@ +package org.gcube.portlets.user.databasesmanager.client.events; + + +import org.gcube.portlets.user.databasesmanager.client.events.interfaces.SelectedTableEventHandler; +import com.google.gwt.event.shared.GwtEvent; + + +public class SelectedTableEvent extends GwtEvent { + + public static Type TYPE = new Type(); + + @Override + public Type getAssociatedType() { + // TODO Auto-generated method stub + return TYPE; + } + + @Override + protected void dispatch(SelectedTableEventHandler handler) { + // TODO Auto-generated method stub + + handler.onSelectedTable(this); + + } + + public EventsTypeEnum getKey() { + + // TODO Auto-generated method stub + return EventsTypeEnum.SELECTED_TABLE_EVENT; + } + +} + + diff --git a/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/interfaces/SelectedTableEventHandler.java b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/interfaces/SelectedTableEventHandler.java new file mode 100644 index 0000000..cb1d711 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/databasesmanager/client/events/interfaces/SelectedTableEventHandler.java @@ -0,0 +1,11 @@ +package org.gcube.portlets.user.databasesmanager.client.events.interfaces; + +import org.gcube.portlets.user.databasesmanager.client.events.SelectedTableEvent; + +import com.google.gwt.event.shared.EventHandler; + +public interface SelectedTableEventHandler extends EventHandler{ + + public void onSelectedTable(SelectedTableEvent selectedTableEvent); + +} diff --git a/src/main/java/org/gcube/portlets/user/databasesmanager/client/panels/GxtBorderLayoutPanel.java b/src/main/java/org/gcube/portlets/user/databasesmanager/client/panels/GxtBorderLayoutPanel.java index cf45b20..6bed339 100644 --- a/src/main/java/org/gcube/portlets/user/databasesmanager/client/panels/GxtBorderLayoutPanel.java +++ b/src/main/java/org/gcube/portlets/user/databasesmanager/client/panels/GxtBorderLayoutPanel.java @@ -17,6 +17,7 @@ import org.gcube.portlets.user.databasesmanager.client.events.LoadTablesEvent; import org.gcube.portlets.user.databasesmanager.client.events.RandomSamplingEvent; import org.gcube.portlets.user.databasesmanager.client.events.SamplingEvent; import org.gcube.portlets.user.databasesmanager.client.events.SelectedItemEvent; +import org.gcube.portlets.user.databasesmanager.client.events.SelectedTableEvent; import org.gcube.portlets.user.databasesmanager.client.events.ShowCreateTableEvent; import org.gcube.portlets.user.databasesmanager.client.events.SmartSamplingEvent; import org.gcube.portlets.user.databasesmanager.client.events.SubmitQueryEvent; @@ -31,6 +32,7 @@ import org.gcube.portlets.user.databasesmanager.client.toolbar.GxtToolbarFunctio import org.gcube.portlets.user.databasesmanager.client.utils.ConstantsPortlet; import com.extjs.gxt.ui.client.Style.LayoutRegion; import com.extjs.gxt.ui.client.Style.Scroll; +import com.extjs.gxt.ui.client.Style.SelectionMode; import com.extjs.gxt.ui.client.Style.SortDir; import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.util.Margins; @@ -69,6 +71,8 @@ import com.extjs.gxt.ui.client.event.Events; import com.extjs.gxt.ui.client.event.GridEvent; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.MessageBoxEvent; +import com.extjs.gxt.ui.client.event.SelectionChangedEvent; +import com.extjs.gxt.ui.client.event.SelectionChangedListener; import com.extjs.gxt.ui.client.event.SelectionListener; import com.extjs.gxt.ui.client.data.BasePagingLoadResult; @@ -98,12 +102,15 @@ public class GxtBorderLayoutPanel extends ContentPanel { // variable that keeps track of the managed event private boolean submitQueryEventManaged = false; - - private boolean tablesListNotNull=false; - + + private boolean tablesListNotNull = false; + private Dialog tablesLoaded = null; - -// private Grid grid; + + private String selectedTable = null; + private FileModel table = new FileModel(""); + + // private Grid grid; // private PagingToolBar toolBar = new PagingToolBar(100); @@ -256,8 +263,6 @@ public class GxtBorderLayoutPanel extends ContentPanel { .getSelectionModel().getSelectedItems(); FileModel selectedItem = data.get(0); - - int DepthSelectedItem = treePanel.getTreeStore() .getDepth(selectedItem); @@ -269,8 +274,14 @@ public class GxtBorderLayoutPanel extends ContentPanel { // toolbar.disableButtonOnToolbar(DepthSelectedItem, // treePanel.getSelectedItemIsSchema()); - toolbar.disableButtonOnToolbar(DepthSelectedItem, - selectedItem.isSchema(), selectedItem.getDatabaseType()); + // disable table details and sampling buttons + toolbar.disableButtonsOperationsOnTable(); + + toolbar.enableButtonOnToolbar(DepthSelectedItem, + selectedItem.isSchema(), + selectedItem.getDatabaseType()); + + table=new FileModel(""); if (DepthSelectedItem != 3) { @@ -299,29 +310,29 @@ public class GxtBorderLayoutPanel extends ContentPanel { } -// // display the table name in the right panel when a -// // table is selected -// -// if (DepthSelectedItem == 5) { -// -// centerUpper.removeAll(); -// -// centerUpper.addText(data.get(0).getName()); -// -// centerUpper.layout(true); -// -// } -// -// if ((DepthSelectedItem == 4) -// && (data.get(0).isSchema() == false)) { -// -// centerUpper.removeAll(); -// -// centerUpper.addText(data.get(0).getName()); -// -// centerUpper.layout(true); -// -// } + // // display the table name in the right panel when a + // // table is selected + // + // if (DepthSelectedItem == 5) { + // + // centerUpper.removeAll(); + // + // centerUpper.addText(data.get(0).getName()); + // + // centerUpper.layout(true); + // + // } + // + // if ((DepthSelectedItem == 4) + // && (data.get(0).isSchema() == false)) { + // + // centerUpper.removeAll(); + // + // centerUpper.addText(data.get(0).getName()); + // + // centerUpper.layout(true); + // + // } // System.out // .println("GxtBorderLayoutPanel: Event finished"); @@ -339,8 +350,8 @@ public class GxtBorderLayoutPanel extends ContentPanel { // TODO Auto-generated method stub loadTables(); - -// System.out.println("managing event"); + + // System.out.println("managing event"); } }); @@ -409,18 +420,30 @@ public class GxtBorderLayoutPanel extends ContentPanel { ShowCreateTableEvent showCreateTableEvent) { // TODO Auto-generated method stub - // get the selected table + // the selected item in the tree List data = treePanel.getTreePanel() .getSelectionModel().getSelectedItems(); + +// if ((data.get(0).isDatabase())&&(data.get(0).getDatabaseType().equals(ConstantsPortlet.MYSQL))){ + + if (!(table.getName().equals(selectedTable))){ + + table.setName(selectedTable); + table.setTableDetailsDisplayed(false); + } +// } +// else{ // the selected item is a table - FileModel selectedTable = data.get(0); +// FileModel Table = new FileModel(selectedTable); rootLogger.log(Level.INFO, "the selected table is: " - + selectedTable); + + table.getName()); - getTableDetails(selectedTable); + getTableDetails(table); + +// } } }); @@ -433,6 +456,8 @@ public class GxtBorderLayoutPanel extends ContentPanel { rootLogger.log(Level.SEVERE, "Start RPC - loadTables"); + + // to mask the entire content panel // this.mask("Loading", "x-mask-loading"); @@ -484,8 +509,6 @@ public class GxtBorderLayoutPanel extends ContentPanel { // dataInput.put("SchemaName", element.getName()); } - - // FileModel database = store.getParent(element); // FileModel resource = store.getParent(database); @@ -583,21 +606,23 @@ public class GxtBorderLayoutPanel extends ContentPanel { // // rootLogger.log(Level.INFO, "SchemaName: " + // // selectedItem.getName()); // } - + tablesListNotNull = false; // create RpcProxy object to use the load configuration - -// RpcProxy> proxy = new RpcProxy>(){ -// -// @Override -// protected void load(Object loadConfig, -// AsyncCallback> callback) { -// // TODO Auto-generated method stub -// -// RPCservice.LoadTables((PagingLoadConfig) loadConfig, dataInput, callback); -// -// }}; + + // RpcProxy> proxy = new + // RpcProxy>(){ + // + // @Override + // protected void load(Object loadConfig, + // AsyncCallback> callback) { + // // TODO Auto-generated method stub + // + // RPCservice.LoadTables((PagingLoadConfig) loadConfig, dataInput, + // callback); + // + // }}; RpcProxy> proxy = new RpcProxy>() { @@ -605,100 +630,94 @@ public class GxtBorderLayoutPanel extends ContentPanel { protected void load(Object loadConfig, final AsyncCallback> callback) { // TODO Auto-generated method stub - + rootLogger.log(Level.SEVERE, "Start RPC - getTables"); RPCservice.LoadTables((PagingLoadConfig) loadConfig, dataInput, - new AsyncCallback>(){ + new AsyncCallback>() { @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub - - rootLogger.log(Level.SEVERE, "FAILURE RPC getTables"); - + + rootLogger.log(Level.SEVERE, + "FAILURE RPC getTables"); + callback.onFailure(caught); - -// tablesListNotNull = false; - - - + + // tablesListNotNull = false; + tablesLoaded.hide(); - - if (caught.getMessage().equals( - "java.lang.Exception: Result not available")) { - - - - MessageBox.alert("Error ", - "
Message:" + "no tables available", null); - - } - - else{ - MessageBox.alert("Error ", - "
Message:" + caught.getMessage(), null); - - } -// -// if (((EditorGrid)tablesLoaded.getWidget(0)).isMasked()) -// {((EditorGrid)tablesLoaded.getWidget(0)).unmask();} - - - - + if (caught + .getMessage() + .equals("java.lang.Exception: Result not available")) { + + MessageBox.alert("Error ", "
Message:" + + "no tables available", null); + + } + + else { + + MessageBox.alert("Error ", "
Message:" + + caught.getMessage(), null); + + } + // + // if + // (((EditorGrid)tablesLoaded.getWidget(0)).isMasked()) + // {((EditorGrid)tablesLoaded.getWidget(0)).unmask();} - } @Override public void onSuccess( PagingLoadResult result) { // TODO Auto-generated method stub - - rootLogger.log(Level.SEVERE, "SUCCESS RPC getTables"); - + + rootLogger.log(Level.SEVERE, + "SUCCESS RPC getTables"); + callback.onSuccess(result); - - if (result.getTotalLength()==0){ - -// tablesListNotNull = true; - -// tablesLoaded.show(); - + + if (result.getTotalLength() == 0) { + + // tablesListNotNull = true; + + // tablesLoaded.show(); + tablesLoaded.hide(); - - - - MessageBox.alert("Error ", - "
Message:" + "no tables available", null); - -// if (((EditorGrid)tablesLoaded.getWidget(0)).isMasked()) -// {((EditorGrid)tablesLoaded.getWidget(0)).unmask();} - - + + MessageBox.alert("Error ", "
Message:" + + "no tables available", null); + + // if + // (((EditorGrid)tablesLoaded.getWidget(0)).isMasked()) + // {((EditorGrid)tablesLoaded.getWidget(0)).unmask();} + } -// else{ -// -//// tablesListNotNull = false; -// -//// tablesLoaded.show(); -// -//// MessageBox.alert("Error ", -//// "
Message:" + "no tables available", null); -// -// } - - }}); - - + // else{ + // + // // tablesListNotNull = false; + // + // // tablesLoaded.show(); + // + // // MessageBox.alert("Error ", + // // "
Message:" + "no tables available", + // null); + // + // } + + } + }); + rootLogger.log(Level.SEVERE, "End RPC getTables"); } }; - -// if (tablesListNotNull == true){ + + // if (tablesListNotNull == true){ // loader to load page enabled set of data @@ -726,26 +745,72 @@ public class GxtBorderLayoutPanel extends ContentPanel { ListStore result = new ListStore(loader); // bind the loader with a PagingToolBar. - final PagingToolBar toolBar = new PagingToolBar(100); - toolBar.bind(loader); + final PagingToolBar toolBar = new PagingToolBar(100); + toolBar.bind(loader); // craete the column configuration ColumnModel cm = createColumnModelForTables(); // create the grid with a result list and the column model - final EditorGrid grid = new EditorGrid(result, cm); - -// grid = new Grid(result, cm); + // final EditorGrid grid = new EditorGrid(result, cm); + + final Grid grid = new Grid(result, cm); + + // grid = new Grid(result, cm); grid.setStateId("TablesList"); grid.setStateful(true); + grid.setLoadMask(true); + grid.setBorders(true); + // grid.setAutoExpandColumn("comments"); + // grid.setStyleAttribute("borderTop", "none"); + grid.setStripeRows(true); + + // to manage the table selection in the grid + + grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + + // grid.getSelectionModel().select(result.getAt(0), true); + + // grid.getSelectionModel().selectAll(); + + grid.getSelectionModel().addSelectionChangedListener( + new SelectionChangedListener() { + + @Override + public void selectionChanged( + final SelectionChangedEvent se) { + // TODO Auto-generated method stub + + + + // System.out.println("table slected: " + + // selectedTable); + + // Fire event + eventBus.fireEvent(new SelectedTableEvent()); + + tablesLoaded.getButtonById(Dialog.OK) + .addSelectionListener( + new SelectionListener() { + + @Override + public void componentSelected( + ButtonEvent ce) { + + selectedTable = se.getSelectedItem().getValue(); + + } + }); + + } + }); + grid.addListener(Events.Attach, new Listener>() { public void handleEvent(GridEvent be) { - - PagingLoadConfig config = new BasePagingLoadConfig(); config.setOffset(0); @@ -785,26 +850,75 @@ public class GxtBorderLayoutPanel extends ContentPanel { // } // }); - grid.setLoadMask(true); - grid.setBorders(true); - // grid.setAutoExpandColumn("comments"); - // grid.setStyleAttribute("borderTop", "none"); - grid.setStripeRows(true); + // grid.setLoadMask(true); + // grid.setBorders(true); + // // grid.setAutoExpandColumn("comments"); + // // grid.setStyleAttribute("borderTop", "none"); + // grid.setStripeRows(true); + + // + // //to manage the table selection in the grid + // + // // grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + // + // // grid.getSelectionModel().select(result.getAt(0), true); + // + // grid.getSelectionModel().selectAll(); + // + // grid.getSelectionModel().addSelectionChangedListener(new + // SelectionChangedListener() { + // + // @Override + // public void selectionChanged(SelectionChangedEvent se) { + // // TODO Auto-generated method stub + // + // System.out.println("managing selection grid"); + // + // selectedTable=se.getSelectedItem().getValue(); + // + // } + // }); + + // grid.getSelectionModel().addListener(Events.SelectionChange, new + // Listener>() { + // + // @Override + // public void handleEvent(SelectionChangedEvent be) { + // // TODO Auto-generated method stub + // + // System.out.println("managing selection grid"); + // + // + // if (be.getSelection().size() > 0) { + // + // System.out.println("managing selection grid2"); + // + // selectedTable=be.getSelectedItem().getValue(); + // + // //Fire event + // eventBus.fireEvent(new SelectedTableEvent()); + // + // + // + // } + // + // } + // }); // LiveGridView liveView = new LiveGridView(); // liveView.setEmptyText("No rows available on the server."); // // liveView.setRowHeight(32); // grid.setView(liveView); -// ToolBar toolBar = new ToolBar(); -// toolBar.add(new FillToolItem()); -// -// LiveToolItem item = new LiveToolItem(); -// item.bindGrid(grid); -// -// toolBar.add(item); -// tablesLoaded.setBottomComponent(toolBar); + // ToolBar toolBar = new ToolBar(); + // toolBar.add(new FillToolItem()); + // + // LiveToolItem item = new LiveToolItem(); + // item.bindGrid(grid); + // + // toolBar.add(item); + // tablesLoaded.setBottomComponent(toolBar); -// Dialog tablesLoaded = new Dialog(); + // Dialog tablesLoaded = new Dialog(); tablesLoaded = new Dialog(); tablesLoaded.setLayout(new FitLayout()); tablesLoaded.setHeading("Tables"); @@ -817,9 +931,9 @@ public class GxtBorderLayoutPanel extends ContentPanel { tablesLoaded.setScrollMode(Scroll.NONE); tablesLoaded.setHideOnButtonClick(true); tablesLoaded.setMaximizable(true); - + tablesLoaded.setBottomComponent(toolBar); - + tablesLoaded.add(grid); tablesLoaded.show(); @@ -869,31 +983,34 @@ public class GxtBorderLayoutPanel extends ContentPanel { // tablesLoaded.add(grid, d); - - -// tablesLoaded.getButtonById(Dialog.OK).addSelectionListener( -// new SelectionListener() { -// -// @Override -// public void componentSelected(ButtonEvent ce) { -// -// // System.out.println("button OK event"); -// -//// dialog.mask("Loading", "x-mask-loading"); -// -//// dialog.hide(); -// -// // recover info from dialog -// setInfoOnSubmitQuery(form); -// -// // System.out -// // .println("GxtToolbarFunctionality-> query submitted"); -// -// rootLogger.log(Level.SEVERE, -// "query submitted"); -// -// } -// }); + // tablesLoaded.getButtonById(Dialog.OK).addSelectionListener( + // new SelectionListener() { + // + // @Override + // public void componentSelected(ButtonEvent ce) { + // + // // disable table details and sampling buttons + // + // // toolbar.disableButtonsOnTable(); + // + // // // System.out.println("button OK event"); + // // + // // // dialog.mask("Loading", "x-mask-loading"); + // // + // // // dialog.hide(); + // // + // // // recover info from dialog + // // setInfoOnSubmitQuery(form); + // // + // // // System.out + // // // + // // .println("GxtToolbarFunctionality-> query submitted"); + // // + // // rootLogger.log(Level.SEVERE, + // // "query submitted"); + // + // } + // }); // ContentPanel panel = new ContentPanel(); // panel.setFrame(true); @@ -907,13 +1024,13 @@ public class GxtBorderLayoutPanel extends ContentPanel { // panel.setBottomComponent(toolBar); // grid.getAriaSupport().setLabelledBy(panel.getId()); // add(panel); - -// } -// else{ -// MessageBox.alert("Error ", -// "
Message:" + "no tables available", null); -// -// } + + // } + // else{ + // MessageBox.alert("Error ", + // "
Message:" + "no tables available", null); + // + // } } @@ -1112,7 +1229,7 @@ public class GxtBorderLayoutPanel extends ContentPanel { // to mask the entire content panel - this.mask("Loading", "x-mask-loading"); + this.mask("Sampling the " + selectedTable + " table", "x-mask-loading"); // System.out.println("Start RPC - submitQuery"); @@ -1125,11 +1242,17 @@ public class GxtBorderLayoutPanel extends ContentPanel { List data = treePanel.getTreePanel().getSelectionModel() .getSelectedItems(); - // the selected item is a table + // // the selected item is a table + // FileModel selectedItem = data.get(0); + // + // rootLogger.log(Level.INFO, + // "the selected table is: " + selectedItem.getName()); + + // the selected item FileModel selectedItem = data.get(0); - rootLogger.log(Level.INFO, - "the selected table is: " + selectedItem.getName()); + // rootLogger.log(Level.INFO, "the selected table is: " + + // selectedTable); // recover data inputs @@ -1140,22 +1263,22 @@ public class GxtBorderLayoutPanel extends ContentPanel { FileModel database; FileModel resource; - if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { + if (selectedItem.isDatabase()) { // the table has not a schema - database = treePanel.getTreeStore().getParent(selectedItem); + database = selectedItem; resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", ""); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + ""); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); // schema = treePanel.getTreeStore().getParent(selectedItem); // database = treePanel.getTreeStore().getParent(schema); @@ -1177,19 +1300,19 @@ public class GxtBorderLayoutPanel extends ContentPanel { } else { // the table has a schema - schema = treePanel.getTreeStore().getParent(selectedItem); + schema = selectedItem; database = treePanel.getTreeStore().getParent(schema); resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", schema.getName()); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); // the table has not a schema // database = treePanel.getTreeStore().getParent(selectedItem); @@ -1209,6 +1332,75 @@ public class GxtBorderLayoutPanel extends ContentPanel { // selectedItem.getName()); } + // if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { + // + // // the table has not a schema + // + // database = treePanel.getTreeStore().getParent(selectedItem); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", ""); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // schema = treePanel.getTreeStore().getParent(selectedItem); + // // database = treePanel.getTreeStore().getParent(schema); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", schema.getName()); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // + // } else { + // // the table has a schema + // + // schema = treePanel.getTreeStore().getParent(selectedItem); + // database = treePanel.getTreeStore().getParent(schema); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", schema.getName()); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // the table has not a schema + // // database = treePanel.getTreeStore().getParent(selectedItem); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", ""); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // } + // call remote service RPCservice.sample(dataInput, new AsyncCallback>() { @@ -1259,7 +1451,7 @@ public class GxtBorderLayoutPanel extends ContentPanel { // to mask the entire content panel - this.mask("Loading", "x-mask-loading"); + this.mask("Sampling the " + selectedTable + " table", "x-mask-loading"); final GxtBorderLayoutPanel obj = this; @@ -1272,10 +1464,16 @@ public class GxtBorderLayoutPanel extends ContentPanel { List data = treePanel.getTreePanel().getSelectionModel() .getSelectedItems(); - // the selected item is a table + // // the selected item is a table + // FileModel selectedItem = data.get(0); + // + // rootLogger.log(Level.INFO, "the selected table is: " + selectedItem); + + // the selected item FileModel selectedItem = data.get(0); - rootLogger.log(Level.INFO, "the selected table is: " + selectedItem); + // rootLogger.log(Level.INFO, "the selected table is: " + + // selectedTable); // recover data inputs for the algorithm @@ -1286,25 +1484,22 @@ public class GxtBorderLayoutPanel extends ContentPanel { FileModel database; FileModel resource; - if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { // the - // table - // has - // not - // a - // schema + if (selectedItem.isDatabase()) { - database = treePanel.getTreeStore().getParent(selectedItem); + // the table has not a schema + + database = selectedItem; resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", ""); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + ""); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); // schema = treePanel.getTreeStore().getParent(selectedItem); // database = treePanel.getTreeStore().getParent(schema); @@ -1326,20 +1521,21 @@ public class GxtBorderLayoutPanel extends ContentPanel { } else { // the table has a schema - schema = treePanel.getTreeStore().getParent(selectedItem); + schema = selectedItem; database = treePanel.getTreeStore().getParent(schema); resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", schema.getName()); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); + // the table has not a schema // database = treePanel.getTreeStore().getParent(selectedItem); // resource = treePanel.getTreeStore().getParent(database); // @@ -1357,6 +1553,78 @@ public class GxtBorderLayoutPanel extends ContentPanel { // selectedItem.getName()); } + // if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { + // // the + // // table + // // has + // // not + // // a + // // schema + // + // database = treePanel.getTreeStore().getParent(selectedItem); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", ""); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // schema = treePanel.getTreeStore().getParent(selectedItem); + // // database = treePanel.getTreeStore().getParent(schema); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", schema.getName()); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // + // } else { + // // the table has a schema + // + // schema = treePanel.getTreeStore().getParent(selectedItem); + // database = treePanel.getTreeStore().getParent(schema); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", schema.getName()); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // database = treePanel.getTreeStore().getParent(selectedItem); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", ""); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // } + // call remote service RPCservice.smartSample(dataInput, new AsyncCallback>() { @@ -1406,7 +1674,7 @@ public class GxtBorderLayoutPanel extends ContentPanel { private void randomSample() { // to mask the entire content panel - this.mask("Loading", "x-mask-loading"); + this.mask("Sampling the " + selectedTable + " table", "x-mask-loading"); final GxtBorderLayoutPanel obj = this; @@ -1419,10 +1687,16 @@ public class GxtBorderLayoutPanel extends ContentPanel { List data = treePanel.getTreePanel().getSelectionModel() .getSelectedItems(); - // the selected item is a table + // // the selected item is a table + // FileModel selectedItem = data.get(0); + // + // rootLogger.log(Level.INFO, "the selected table is: " + selectedItem); + + // the selected item FileModel selectedItem = data.get(0); - rootLogger.log(Level.INFO, "the selected table is: " + selectedItem); + // rootLogger.log(Level.INFO, "the selected table is: " + + // selectedTable); // recover data inputs for the algorithm @@ -1433,24 +1707,22 @@ public class GxtBorderLayoutPanel extends ContentPanel { FileModel database; FileModel resource; - if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { // the - // has - // not - // a - // schema + if (selectedItem.isDatabase()) { - database = treePanel.getTreeStore().getParent(selectedItem); + // the table has not a schema + + database = selectedItem; resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", ""); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + ""); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); // schema = treePanel.getTreeStore().getParent(selectedItem); // database = treePanel.getTreeStore().getParent(schema); @@ -1470,24 +1742,23 @@ public class GxtBorderLayoutPanel extends ContentPanel { // selectedItem.getName()); } else { - // the table has a schema - schema = treePanel.getTreeStore().getParent(selectedItem); + schema = selectedItem; database = treePanel.getTreeStore().getParent(schema); resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", schema.getName()); - dataInput.put("TableName", selectedItem.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); - rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); - // // the table has not a schema + // the table has not a schema // database = treePanel.getTreeStore().getParent(selectedItem); // resource = treePanel.getTreeStore().getParent(database); // @@ -1505,6 +1776,79 @@ public class GxtBorderLayoutPanel extends ContentPanel { // selectedItem.getName()); } + // if (treePanel.getTreeStore().getParent(selectedItem).isDatabase()) { + // // the + // // has + // // not + // // a + // // schema + // + // database = treePanel.getTreeStore().getParent(selectedItem); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", ""); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // schema = treePanel.getTreeStore().getParent(selectedItem); + // // database = treePanel.getTreeStore().getParent(schema); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", schema.getName()); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // + // } else { + // + // // the table has a schema + // + // schema = treePanel.getTreeStore().getParent(selectedItem); + // database = treePanel.getTreeStore().getParent(schema); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", schema.getName()); + // dataInput.put("TableName", selectedItem.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + selectedItem.getName()); + // + // // // the table has not a schema + // // database = treePanel.getTreeStore().getParent(selectedItem); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", ""); + // // dataInput.put("TableName", selectedItem.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // // rootLogger.log(Level.INFO, "SchemaName: " + + // // selectedItem.getName()); + // } + // call remote service RPCservice.randomSample(dataInput, new AsyncCallback>() { @@ -1853,11 +2197,11 @@ public class GxtBorderLayoutPanel extends ContentPanel { List configs = new ArrayList(); ColumnConfig column = new ColumnConfig(); -// column.setId("index"); -// column.setHeader("Index"); -// column.setWidth(100); -// -// configs.add(column); + // column.setId("index"); + // column.setHeader("Index"); + // column.setWidth(100); + // + // configs.add(column); column = new ColumnConfig(); column.setId("value"); @@ -1866,9 +2210,9 @@ public class GxtBorderLayoutPanel extends ContentPanel { // column2.setSortable(false); - TextField textValue = new TextField(); - // text.setAllowBlank(false); - column.setEditor(new CellEditor(textValue)); + // TextField textValue = new TextField(); + // // text.setAllowBlank(false); + // column.setEditor(new CellEditor(textValue)); configs.add(column); @@ -1924,11 +2268,12 @@ public class GxtBorderLayoutPanel extends ContentPanel { } - private void getTableDetails(final FileModel selectedTable) { + private void getTableDetails(final FileModel Table) { // to mask the entire content panel - this.mask("Loading", "x-mask-loading"); + this.mask("Loading details for " + selectedTable + " table", + "x-mask-loading"); // to unmask the entire content panel final GxtBorderLayoutPanel obj = this; @@ -1948,6 +2293,17 @@ public class GxtBorderLayoutPanel extends ContentPanel { // rootLogger.log(Level.INFO, "the selected table is: " + // selectedTable); + // get the selected table + + List data = treePanel.getTreePanel().getSelectionModel() + .getSelectedItems(); + + // the selected item + FileModel selectedItem = data.get(0); + + // rootLogger.log(Level.INFO, "the selected table is: " + + // selectedTable); + // recover data inputs LinkedHashMap dataInput = new LinkedHashMap(); @@ -1957,82 +2313,149 @@ public class GxtBorderLayoutPanel extends ContentPanel { FileModel database; FileModel resource; - if (treePanel.getTreeStore().getParent(selectedTable).isDatabase()) { // the - // table - // has - // not - // a - // schema + if (selectedItem.isDatabase()) { - database = treePanel.getTreeStore().getParent(selectedTable); + // the table has not a schema + + database = selectedItem; resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", ""); - dataInput.put("TableName", selectedTable.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + ""); - rootLogger - .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); - // schema = treePanel.getTreeStore().getParent(selectedTable); + // schema = treePanel.getTreeStore().getParent(selectedItem); // database = treePanel.getTreeStore().getParent(schema); // resource = treePanel.getTreeStore().getParent(database); // // dataInput.put("ResourceName", resource.getName()); // dataInput.put("DatabaseName", database.getName()); // dataInput.put("SchemaName", schema.getName()); - // dataInput.put("TableName", selectedTable.getName()); + // dataInput.put("TableName", selectedItem.getName()); // // rootLogger.log(Level.INFO, "ResourceName: " + // resource.getName()); // rootLogger.log(Level.INFO, "DatabaseName: " + // database.getName()); // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); - // rootLogger - // .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + + // selectedItem.getName()); } else { // the table has a schema - schema = treePanel.getTreeStore().getParent(selectedTable); + schema = selectedItem; database = treePanel.getTreeStore().getParent(schema); resource = treePanel.getTreeStore().getParent(database); dataInput.put("ResourceName", resource.getName()); dataInput.put("DatabaseName", database.getName()); dataInput.put("SchemaName", schema.getName()); - dataInput.put("TableName", selectedTable.getName()); + dataInput.put("TableName", selectedTable); rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); - rootLogger - .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + rootLogger.log(Level.INFO, "TableName: " + selectedTable); - // database = treePanel.getTreeStore().getParent(selectedTable); + // the table has not a schema + // database = treePanel.getTreeStore().getParent(selectedItem); // resource = treePanel.getTreeStore().getParent(database); // // dataInput.put("ResourceName", resource.getName()); // dataInput.put("DatabaseName", database.getName()); // dataInput.put("SchemaName", ""); - // dataInput.put("TableName", selectedTable.getName()); + // dataInput.put("TableName", selectedItem.getName()); // // rootLogger.log(Level.INFO, "ResourceName: " + // resource.getName()); // rootLogger.log(Level.INFO, "DatabaseName: " + // database.getName()); // rootLogger.log(Level.INFO, "SchemaName: " + ""); - // rootLogger - // .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + + // selectedItem.getName()); } - if (selectedTable.isTableDetailsDisplayed()) { + // if (treePanel.getTreeStore().getParent(Table).isDatabase()) { // the + // // table + // // has + // // not + // // a + // // schema + // + // database = treePanel.getTreeStore().getParent(Table); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", ""); + // dataInput.put("TableName", Table.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // rootLogger.log(Level.INFO, "SchemaName: " + Table.getName()); + // + // // schema = treePanel.getTreeStore().getParent(selectedTable); + // // database = treePanel.getTreeStore().getParent(schema); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", schema.getName()); + // // dataInput.put("TableName", selectedTable.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // // rootLogger + // // .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + // + // } else { + // // the table has a schema + // + // schema = treePanel.getTreeStore().getParent(Table); + // database = treePanel.getTreeStore().getParent(schema); + // resource = treePanel.getTreeStore().getParent(database); + // + // dataInput.put("ResourceName", resource.getName()); + // dataInput.put("DatabaseName", database.getName()); + // dataInput.put("SchemaName", schema.getName()); + // dataInput.put("TableName", Table.getName()); + // + // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName()); + // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + schema.getName()); + // rootLogger.log(Level.INFO, "SchemaName: " + Table.getName()); + // + // // database = treePanel.getTreeStore().getParent(selectedTable); + // // resource = treePanel.getTreeStore().getParent(database); + // // + // // dataInput.put("ResourceName", resource.getName()); + // // dataInput.put("DatabaseName", database.getName()); + // // dataInput.put("SchemaName", ""); + // // dataInput.put("TableName", selectedTable.getName()); + // // + // // rootLogger.log(Level.INFO, "ResourceName: " + + // // resource.getName()); + // // rootLogger.log(Level.INFO, "DatabaseName: " + + // // database.getName()); + // // rootLogger.log(Level.INFO, "SchemaName: " + ""); + // // rootLogger + // // .log(Level.INFO, "SchemaName: " + selectedTable.getName()); + // } - displayTableDetails(selectedTable); + if (Table.isTableDetailsDisplayed()) { + + displayTableDetails(Table); } else { @@ -2124,11 +2547,11 @@ public class GxtBorderLayoutPanel extends ContentPanel { } - selectedTable.setTableDetails(TableDetails); + Table.setTableDetails(TableDetails); - displayTableDetails(selectedTable); + displayTableDetails(Table); - selectedTable.setTableDetailsDisplayed(true); + Table.setTableDetailsDisplayed(true); } diff --git a/src/main/java/org/gcube/portlets/user/databasesmanager/client/toolbar/GxtToolbarFunctionality.java b/src/main/java/org/gcube/portlets/user/databasesmanager/client/toolbar/GxtToolbarFunctionality.java index 472dfb0..4e89251 100644 --- a/src/main/java/org/gcube/portlets/user/databasesmanager/client/toolbar/GxtToolbarFunctionality.java +++ b/src/main/java/org/gcube/portlets/user/databasesmanager/client/toolbar/GxtToolbarFunctionality.java @@ -8,9 +8,11 @@ import org.gcube.portlets.user.databasesmanager.client.datamodel.SubmitQueryData import org.gcube.portlets.user.databasesmanager.client.events.LoadTablesEvent; import org.gcube.portlets.user.databasesmanager.client.events.RandomSamplingEvent; import org.gcube.portlets.user.databasesmanager.client.events.SamplingEvent; +import org.gcube.portlets.user.databasesmanager.client.events.SelectedTableEvent; import org.gcube.portlets.user.databasesmanager.client.events.ShowCreateTableEvent; import org.gcube.portlets.user.databasesmanager.client.events.SmartSamplingEvent; import org.gcube.portlets.user.databasesmanager.client.events.SubmitQueryEvent; +import org.gcube.portlets.user.databasesmanager.client.events.interfaces.SelectedTableEventHandler; import org.gcube.portlets.user.databasesmanager.client.form.GxtFormSubmitQuery; import org.gcube.portlets.user.databasesmanager.client.utils.ConstantsPortlet; @@ -70,6 +72,7 @@ public class GxtToolbarFunctionality { toolBar = new ToolBar(); initToolBar(); + addHandler(); addSelectionListenersOnToolBar(); } @@ -138,6 +141,30 @@ public class GxtToolbarFunctionality { btnRandomSample.disable(); } + + private void addHandler() { + + eventBus.addHandler(SelectedTableEvent.TYPE, new SelectedTableEventHandler() { + + @Override + public void onSelectedTable(SelectedTableEvent selectedTableEvent) { + // TODO Auto-generated method stub + + //enable button for tabele details and sampling operation + + btnTablesList.enable(); + btnSubmitQuery.enable(); + btnShowCreateTable.enable(); + btnSimpleSample.enable(); + btnSmartSample.enable(); + btnRandomSample.enable(); + + + + } + }); + + } private void addSelectionListenersOnToolBar() { @@ -378,12 +405,14 @@ public class GxtToolbarFunctionality { // fire event eventBus.fireEvent(new LoadTablesEvent()); + + } }); } - public void disableButtonOnToolbar(int infoTreeDepthSelectedItem, + public void enableButtonOnToolbar(int infoTreeDepthSelectedItem, boolean infoSelectedItemIsSchema, String databaseType) { // System.out.println("GxtToolbarFunctionality-> depth: " @@ -480,6 +509,15 @@ public class GxtToolbarFunctionality { } } + + public void disableButtonsOperationsOnTable(){ + + btnShowCreateTable.disable(); + btnSimpleSample.disable(); + btnSmartSample.disable(); + btnRandomSample.disable(); + + } public ToolBar getToolBar() { return this.toolBar;