bugs fixed in the Paging (with the correct management of the callback related to rpc)

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/databases-manager-portlet@98580 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Loredana Liccardo 2014-07-11 18:22:24 +00:00
parent 33da8115af
commit 6f54509bc4
6 changed files with 592 additions and 324 deletions

View File

@ -30,7 +30,7 @@ public class FileModel extends BaseModelData implements Serializable {
private List<Result> TableDetails = null;
private boolean isTableDetailsDisplayed = false;
// to keep track of the database type
private String DatabaseType;
private String DatabaseType=null;
private String ResourceName = null;
private String DatabaseName = null;

View File

@ -31,6 +31,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.SortDir;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.ContentPanel;
@ -57,14 +58,18 @@ import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoader;
import com.extjs.gxt.ui.client.data.LoadEvent;
import com.extjs.gxt.ui.client.data.Loader;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.extjs.gxt.ui.client.data.PagingLoader;
import com.extjs.gxt.ui.client.data.RpcProxy;
import com.extjs.gxt.ui.client.event.ButtonEvent;
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.SelectionListener;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
//class that represents the container of all components
@ -94,7 +99,13 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// variable that keeps track of the managed event
private boolean submitQueryEventManaged = false;
// private PagingToolBar toolBar = new PagingToolBar(100);
private boolean tablesListNotNull=false;
private Dialog tablesLoaded = null;
// private Grid<Result> grid;
// private PagingToolBar toolBar = new PagingToolBar(100);
public GxtBorderLayoutPanel(HandlerManager eBus,
GWTdbManagerServiceAsync service) throws Exception {
@ -169,10 +180,9 @@ public class GxtBorderLayoutPanel extends ContentPanel {
centerUpper.setLayout(new FitLayout());
centerUpper.setHeading("Database Information");
centerUpper.setScrollMode(Scroll.NONE);
// centerUpper.setBottomComponent(toolBar);
// toolBar.hide();
// centerUpper.setBottomComponent(toolBar);
// toolBar.hide();
// CENTER BOTTOM
@ -246,6 +256,8 @@ public class GxtBorderLayoutPanel extends ContentPanel {
.getSelectionModel().getSelectedItems();
FileModel selectedItem = data.get(0);
int DepthSelectedItem = treePanel.getTreeStore()
.getDepth(selectedItem);
@ -258,7 +270,7 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// treePanel.getSelectedItemIsSchema());
toolbar.disableButtonOnToolbar(DepthSelectedItem,
selectedItem.isSchema());
selectedItem.isSchema(), selectedItem.getDatabaseType());
if (DepthSelectedItem != 3) {
@ -287,29 +299,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");
@ -327,6 +339,8 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// TODO Auto-generated method stub
loadTables();
// System.out.println("managing event");
}
});
@ -470,6 +484,8 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// dataInput.put("SchemaName", element.getName());
}
// FileModel database = store.getParent(element);
// FileModel resource = store.getParent(database);
@ -567,26 +583,142 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// // rootLogger.log(Level.INFO, "SchemaName: " +
// // selectedItem.getName());
// }
tablesListNotNull = false;
// create RpcProxy object to use the load configuration
// RpcProxy<PagingLoadResult<Result>> proxy = new RpcProxy<PagingLoadResult<Result>>(){
//
// @Override
// protected void load(Object loadConfig,
// AsyncCallback<PagingLoadResult<Result>> callback) {
// // TODO Auto-generated method stub
//
// RPCservice.LoadTables((PagingLoadConfig) loadConfig, dataInput, callback);
//
// }};
RpcProxy<PagingLoadResult<Result>> proxy = new RpcProxy<PagingLoadResult<Result>>() {
@Override
protected void load(Object loadConfig,
AsyncCallback<PagingLoadResult<Result>> callback) {
final AsyncCallback<PagingLoadResult<Result>> callback) {
// TODO Auto-generated method stub
rootLogger.log(Level.SEVERE, "Start RPC - getTables");
RPCservice.LoadTables((PagingLoadConfig) loadConfig, dataInput,
callback);
// TODO Auto-generated method stub
new AsyncCallback<PagingLoadResult<Result>>(){
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
rootLogger.log(Level.SEVERE, "FAILURE RPC getTables");
callback.onFailure(caught);
// tablesListNotNull = false;
tablesLoaded.hide();
if (caught.getMessage().equals(
"java.lang.Exception: Result not available")) {
MessageBox.alert("Error ",
"<br/>Message:" + "no tables available", null);
}
else{
MessageBox.alert("Error ",
"<br/>Message:" + caught.getMessage(), null);
}
//
// if (((EditorGrid<Result>)tablesLoaded.getWidget(0)).isMasked())
// {((EditorGrid<Result>)tablesLoaded.getWidget(0)).unmask();}
}
@Override
public void onSuccess(
PagingLoadResult<Result> result) {
// TODO Auto-generated method stub
rootLogger.log(Level.SEVERE, "SUCCESS RPC getTables");
callback.onSuccess(result);
if (result.getTotalLength()==0){
// tablesListNotNull = true;
// tablesLoaded.show();
tablesLoaded.hide();
MessageBox.alert("Error ",
"<br/>Message:" + "no tables available", null);
// if (((EditorGrid<Result>)tablesLoaded.getWidget(0)).isMasked())
// {((EditorGrid<Result>)tablesLoaded.getWidget(0)).unmask();}
}
// else{
//
//// tablesListNotNull = false;
//
//// tablesLoaded.show();
//
//// MessageBox.alert("Error ",
//// "<br/>Message:" + "no tables available", null);
//
// }
}});
rootLogger.log(Level.SEVERE, "End RPC getTables");
}
};
// if (tablesListNotNull == true){
// loader to load page enabled set of data
final PagingLoader<PagingLoadResult<Result>> loader = new BasePagingLoader<PagingLoadResult<Result>>(
proxy);
// loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
// public void handleEvent(LoadEvent be) {
// BasePagingLoadConfig m = be.<BasePagingLoadConfig> getConfig();
// m.set("start", m.get("offset"));
// // m.set("ext", "js");
// // m.set("lightWeight", true);
// // m.set("sort", (m.get("sortField") == null) ? "" :
// m.get("sortField"));
// // m.set("dir", (m.get("sortDir") == null || (m.get("sortDir") !=
// null && m.<SortDir> get("sortDir").equals(
// // SortDir.NONE))) ? "" : m.get("sortDir"));
//
// }
// });
// loader.setRemoteSort(true);
// to create the lsitstore using the loader
@ -594,20 +726,26 @@ public class GxtBorderLayoutPanel extends ContentPanel {
ListStore<Result> result = new ListStore<Result>(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 Grid<Result> grid = new Grid<Result>(result, cm);
final EditorGrid<Result> grid = new EditorGrid<Result>(result, cm);
// grid = new Grid<Result>(result, cm);
grid.setStateId("pagingGridExample");
grid.setStateId("TablesList");
grid.setStateful(true);
grid.addListener(Events.Attach, new Listener<GridEvent<Result>>() {
public void handleEvent(GridEvent<Result> be) {
PagingLoadConfig config = new BasePagingLoadConfig();
config.setOffset(0);
@ -628,75 +766,134 @@ public class GxtBorderLayoutPanel extends ContentPanel {
loader.load(config);
}
});
// grid.setLoadMask(true);
// loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
// public void handleEvent(LoadEvent be) {
// BasePagingLoadConfig m = be.<BasePagingLoadConfig> getConfig();
// m.setOffset(0);
// m.setLimit(100);
//
// // m.set("start", m.get("offset"));
// // m.set("ext", "js");
// // m.set("lightWeight", true);
// // m.set("sort", (m.get("sortField") == null) ? "" :
// m.get("sortField"));
// // m.set("dir", (m.get("sortDir") == null || (m.get("sortDir") !=
// null && m.<SortDir> get("sortDir").equals(
// // SortDir.NONE))) ? "" : m.get("sortDir"));
// //
// }
// });
grid.setLoadMask(true);
grid.setBorders(true);
// grid.setAutoExpandColumn("comments");
// grid.setStyleAttribute("borderTop", "none");
// grid.setStripeRows(true);
grid.setStripeRows(true);
Dialog tablesLoaded = new Dialog();
tablesLoaded.setLayout(new FitLayout());
tablesLoaded.setHeading("Result");
tablesLoaded.setResizable(false);
tablesLoaded.setModal(true);
tablesLoaded.setBlinkModal(true);
tablesLoaded.setSize(600, 400);
tablesLoaded.setScrollMode(Scroll.NONE);
tablesLoaded.setHideOnButtonClick(true);
tablesLoaded.setMaximizable(true);
// 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());
//
tablesLoaded.setBottomComponent(toolBar);
// LiveToolItem item = new LiveToolItem();
// item.bindGrid(grid);
//
// toolBar.add(item);
// tablesLoaded.setBottomComponent(toolBar);
// Dialog tablesLoaded = new Dialog();
tablesLoaded = new Dialog();
tablesLoaded.setLayout(new FitLayout());
tablesLoaded.setHeading("Tables");
tablesLoaded.setResizable(false);
tablesLoaded.setModal(true);
tablesLoaded.setBlinkModal(true);
tablesLoaded.setSize(600, 400);
tablesLoaded.setScrollMode(Scroll.NONE);
tablesLoaded.setHideOnButtonClick(true);
tablesLoaded.setMaximizable(true);
tablesLoaded.setBottomComponent(toolBar);
tablesLoaded.add(grid);
tablesLoaded.show();
// ToolBar toolBar = new ToolBar();
// toolBar.add(new FillToolItem());
//
// LiveToolItem item = new LiveToolItem();
// item.bindGrid(grid);
//
// toolBar.add(item);
// panel.setBottomComponent(toolBar);
//
// tablesLoaded.setBottomComponent(toolBar);
// aggiungere la toolbart
// centerUpper.setBottomComponent(toolBar);
// 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);
// centerUpper.removeAll();
// centerUpper.setBottomComponent(toolBar);
// ContentPanel tablesLoaded = new ContentPanel();
// tablesLoaded.setLayout(new FitLayout());
// tablesLoaded.setBottomComponent(toolBar);
// tablesLoaded.add(grid);
// centerUpper.removeAll();
// centerUpper.add(tablesLoaded);
// toolBar.show();
// centerUpper.setBottomComponent(toolBar);
// centerUpper.add(grid);
// centerUpper.layout(true);
// centerUpper.show();
// centerUpper.setBottomComponent(toolBar);
// LiveGridView liveView = new LiveGridView();
// liveView.setEmptyText("No rows available on the server.");
// liveView.setRowHeight(32);
// grid.setView(liveView);
//
// centerUpper.removeAll();
// centerUpper.setBottomComponent(toolBar);
// ContentPanel tablesLoaded = new ContentPanel();
// tablesLoaded.setLayout(new FitLayout());
// tablesLoaded.setBottomComponent(toolBar);
// tablesLoaded.add(grid);
// centerUpper.removeAll();
// centerUpper.add(tablesLoaded);
// toolBar.show();
// centerUpper.setBottomComponent(toolBar);
// centerUpper.add(grid);
// centerUpper.layout(true);
// centerUpper.show();
// RowData d = new RowData(.5, 1);
// d.setMargins(new Margins(6));
// tablesLoaded.add(grid, d);
tablesLoaded.add(grid);
tablesLoaded.show();
// tablesLoaded.getButtonById(Dialog.OK).addSelectionListener(
// new SelectionListener<ButtonEvent>() {
//
// @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");
//
// }
// });
// ContentPanel panel = new ContentPanel();
// panel.setFrame(true);
@ -710,6 +907,13 @@ public class GxtBorderLayoutPanel extends ContentPanel {
// panel.setBottomComponent(toolBar);
// grid.getAriaSupport().setLabelledBy(panel.getId());
// add(panel);
// }
// else{
// MessageBox.alert("Error ",
// "<br/>Message:" + "no tables available", null);
//
// }
}
@ -1649,11 +1853,11 @@ public class GxtBorderLayoutPanel extends ContentPanel {
List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
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");

View File

@ -209,9 +209,8 @@ public class GxtTreePanel extends LayoutContainer {
treePanel.disableEvents(true);
// to mask the tree panel
treePanel.mask("Loading", "x-mask-loading");
// treePanel.disableEvents(true);
// selectedItem.setIsSchema(false);
@ -224,33 +223,41 @@ public class GxtTreePanel extends LayoutContainer {
case 2: // the selected item is the resource
// selectedItem.setIsSchema(false);
// to mask the tree panel
treePanel.mask("Loading", "x-mask-loading");
loadDBInfo(data.get(0), treePanel);
// loadDBInfo(data.get(0));
break;
case 3: // the selected item is a database
if (selectedItem.getDatabaseType().equals(
ConstantsPortlet.POSTGRES)) {
// to mask the tree panel
treePanel.mask("Loading", "x-mask-loading");
// load schema for postgres database
// selectedItem.setIsSchema(false);
loadSchema(data.get(0));
} else {
// System.out.println("database mysql: " +
// data.get(0).getName() +
// data.get(0).getDatabaseType());
// load tables for mysql database
loadTables(data.get(0));
}
}
// else {
// // System.out.println("database mysql: " +
// // data.get(0).getName() +
// // data.get(0).getDatabaseType());
//
// // load tables for mysql database
// loadTables(data.get(0));
// }
break;
case 4: // load tables for postgres database
// selectedItem.setIsSchema(false);
loadTables(data.get(0));
break;
// case 4: // load tables for postgres database
// // selectedItem.setIsSchema(false);
// loadTables(data.get(0));
// break;
}
}
@ -549,6 +556,15 @@ public class GxtTreePanel extends LayoutContainer {
// set the database type considering the driver
// infromation
child.setDatabaseType(DatabaseType);
if (DatabaseType.equals(ConstantsPortlet.MYSQL)){
child.setIsExpanded(false);
treePanel.setExpanded(child, false);
}
children.add(child);
@ -678,7 +694,10 @@ public class GxtTreePanel extends LayoutContainer {
for (int i = 0; i < result.size(); i++) {
element.setIsSchema(true);
// element.setIsSchema(true);
result.get(i).setIsSchema(true);
result.get(i).setIsExpanded(false);
treePanel.setExpanded(result.get(i), false);
}
addChildren(element, result);
@ -710,99 +729,102 @@ public class GxtTreePanel extends LayoutContainer {
if (treePanel.isMasked())
treePanel.unmask();
//fire event to manage the tables loading
// eventBus.fireEvent(new LoadTablesEvent());
// System.out.println("Start RPC - getTables");
// rootLogger.log(Level.SEVERE, "GxtTreePanel-> Start RPC - getTables");
rootLogger.log(Level.SEVERE, "Start RPC - getTables");
// recover data inputs
LinkedHashMap<String, String> dataInput = new LinkedHashMap<String, String>();
// check if the element is a schema or a database
// System.out.println("element is a schema: " + element.isSchema());
//
// if (element.isSchema()) {
//
// System.out.println("element is a schema: " + element.isSchema());
//
// FileModel database = store.getParent(element);
// FileModel resource = store.getParent(database);
//
// dataInput.put("ResourceName", resource.getName());
// dataInput.put("DatabaseName", database.getName());
// dataInput.put("SchemaName", element.getName());
//
// System.out.println("schema name: " + element.getName());
//
// rootLogger.log(Level.INFO, "ResourceName: " + resource.getName());
// rootLogger.log(Level.INFO, "DatabaseName: " + database.getName());
// rootLogger.log(Level.INFO, "SchemaName: " + element.getName());
//
// // System.out.println(parent1.getName());
// // System.out.println(parent.getName());
// // System.out.println(element.getName());
//
// }
//
// if (element.isDatabase()) {
//
// System.out.println("element is a database: " + element.isDatabase());
//
// FileModel resource = store.getParent(element);
// // FileModel parent1 = store.getParent(parent);
//
// dataInput.put("ResourceName", resource.getName());
// dataInput.put("DatabaseName", element.getName());
// dataInput.put("SchemaName", "");
//
// rootLogger.log(Level.INFO, "ResourceName: " + resource.getName());
// rootLogger.log(Level.INFO, "DatabaseName: " + element.getName());
// rootLogger.log(Level.INFO, "SchemaName: " + "");
//
// // System.out.println(parent1.getName());
// // System.out.println(parent.getName());
// // System.out.println(element.getName());
//
// }
String resource = "";
String database = "";
String schema = "";
if (element.isDatabase()) { // the selected item is a database
rootLogger.log(Level.INFO, "element is a database ");
database = element.getName();
resource = store.getParent(element).getName();
dataInput.put("ResourceName", resource);
dataInput.put("DatabaseName", database);
dataInput.put("SchemaName", "");
} else { // the selected item is a schema
rootLogger.log(Level.INFO, "element is a schema ");
FileModel db = store.getParent(element);
database = db.getName();
resource = store.getParent(db).getName();
schema = element.getName();
dataInput.put("ResourceName", resource);
dataInput.put("DatabaseName", database);
dataInput.put("SchemaName", schema);
// dataInput.put("ResourceName", resource.getName());
// dataInput.put("DatabaseName", database.getName());
// dataInput.put("SchemaName", element.getName());
}
// rootLogger.log(Level.SEVERE, "Start RPC - getTables");
//
// // recover data inputs
//
// LinkedHashMap<String, String> dataInput = new LinkedHashMap<String, String>();
//
// // check if the element is a schema or a database
//
// // System.out.println("element is a schema: " + element.isSchema());
// //
// // if (element.isSchema()) {
// //
// // System.out.println("element is a schema: " + element.isSchema());
// //
// // FileModel database = store.getParent(element);
// // FileModel resource = store.getParent(database);
// //
// // dataInput.put("ResourceName", resource.getName());
// // dataInput.put("DatabaseName", database.getName());
// // dataInput.put("SchemaName", element.getName());
// //
// // System.out.println("schema name: " + element.getName());
// //
// // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName());
// // rootLogger.log(Level.INFO, "DatabaseName: " + database.getName());
// // rootLogger.log(Level.INFO, "SchemaName: " + element.getName());
// //
// // // System.out.println(parent1.getName());
// // // System.out.println(parent.getName());
// // // System.out.println(element.getName());
// //
// // }
// //
// // if (element.isDatabase()) {
// //
// // System.out.println("element is a database: " + element.isDatabase());
// //
// // FileModel resource = store.getParent(element);
// // // FileModel parent1 = store.getParent(parent);
// //
// // dataInput.put("ResourceName", resource.getName());
// // dataInput.put("DatabaseName", element.getName());
// // dataInput.put("SchemaName", "");
// //
// // rootLogger.log(Level.INFO, "ResourceName: " + resource.getName());
// // rootLogger.log(Level.INFO, "DatabaseName: " + element.getName());
// // rootLogger.log(Level.INFO, "SchemaName: " + "");
// //
// // // System.out.println(parent1.getName());
// // // System.out.println(parent.getName());
// // // System.out.println(element.getName());
// //
// // }
//
// String resource = "";
// String database = "";
// String schema = "";
//
// if (element.isDatabase()) { // the selected item is a database
//
// rootLogger.log(Level.INFO, "element is a database ");
//
// database = element.getName();
// resource = store.getParent(element).getName();
//
// dataInput.put("ResourceName", resource);
// dataInput.put("DatabaseName", database);
// dataInput.put("SchemaName", "");
//
// } else { // the selected item is a schema
//
// rootLogger.log(Level.INFO, "element is a schema ");
//
// FileModel db = store.getParent(element);
// database = db.getName();
//
// resource = store.getParent(db).getName();
// schema = element.getName();
//
// dataInput.put("ResourceName", resource);
// dataInput.put("DatabaseName", database);
// dataInput.put("SchemaName", schema);
//
// // dataInput.put("ResourceName", resource.getName());
// // dataInput.put("DatabaseName", database.getName());
// // dataInput.put("SchemaName", element.getName());
//
// }
// FileModel database = store.getParent(element);
// FileModel resource = store.getParent(database);
@ -824,9 +846,9 @@ public class GxtTreePanel extends LayoutContainer {
// rootLogger.log(Level.INFO, "DatabaseName: " + database.getName());
// rootLogger.log(Level.INFO, "SchemaName: " + element.getName());
rootLogger.log(Level.INFO, "ResourceName: " + resource);
rootLogger.log(Level.INFO, "DatabaseName: " + database);
rootLogger.log(Level.INFO, "SchemaName: " + schema);
// rootLogger.log(Level.INFO, "ResourceName: " + resource);
// rootLogger.log(Level.INFO, "DatabaseName: " + database);
// rootLogger.log(Level.INFO, "SchemaName: " + schema);
// System.out.println(parent1.getName());
// System.out.println(parent.getName());
@ -940,8 +962,7 @@ public class GxtTreePanel extends LayoutContainer {
//
// rootLogger.log(Level.SEVERE, "End RPC getTables");
//fire event to manage the tables loading
eventBus.fireEvent(new LoadTablesEvent());
}

View File

@ -5,6 +5,7 @@ import java.util.logging.Logger;
import org.gcube.portlets.user.databasesmanager.client.GWTdbManagerServiceAsync;
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.ShowCreateTableEvent;
@ -31,13 +32,14 @@ import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.event.shared.HandlerManager;
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
import com.extjs.gxt.ui.client.event.Listener;
public class GxtToolbarFunctionality {
private HandlerManager eventBus = null;
private Button btnTablesList;
private Button btnSubmitQuery;
// private Button btnGetInfo;
private Button btnShowCreateTable;
@ -76,6 +78,13 @@ public class GxtToolbarFunctionality {
// setLayout(new FlowLayout(10));
// Button for tables list
btnTablesList = new Button(ConstantsPortlet.TABLESLIST);
// btnSubmitQuery.setIcon(Resources.ICONS.text());
btnTablesList.setScale(ButtonScale.SMALL);
btnTablesList.setArrowAlign(ButtonArrowAlign.BOTTOM);
toolBar.add(btnTablesList);
// Button for Submit Query
btnSubmitQuery = new Button(ConstantsPortlet.SUBMITQUERY);
// btnSubmitQuery.setIcon(Resources.ICONS.text());
@ -120,6 +129,7 @@ public class GxtToolbarFunctionality {
// add(toolBar, new FlowData(10));
btnTablesList.disable();
btnSubmitQuery.disable();
// btnGetInfo.disable();
btnShowCreateTable.disable();
@ -170,9 +180,10 @@ public class GxtToolbarFunctionality {
// System.out.println("button OK event");
// dialog.mask("Loading", "x-mask-loading");
// dialog.mask("Loading",
// "x-mask-loading");
// dialog.hide();
// dialog.hide();
// recover info from dialog
setInfoOnSubmitQuery(form);
@ -215,59 +226,60 @@ public class GxtToolbarFunctionality {
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
// Listener<MessageBoxEvent> l = new Listener<MessageBoxEvent>() {
//
// @Override
// public void handleEvent(MessageBoxEvent be) {
// // TODO Auto-generated method stub
//
// Button btn = ce.getButton();
//
// if (btn.getText().equals("Yes"))
// {
//
// //fire event
//
// eventBus.fireEvent(new SamplingEvent());
//
// }
//
//
//
// }
// };
//
//
// sample = new MessageBox();
//
// sample.confirm("Confirm", "Are you sure you want to perform the sampling", l);
//
//fire event
// Listener<MessageBoxEvent> l = new
// Listener<MessageBoxEvent>() {
//
// @Override
// public void handleEvent(MessageBoxEvent be) {
// // TODO Auto-generated method stub
//
// Button btn = ce.getButton();
//
// if (btn.getText().equals("Yes"))
// {
//
// //fire event
//
// eventBus.fireEvent(new SamplingEvent());
//
// }
//
//
//
// }
// };
//
//
// sample = new MessageBox();
//
// sample.confirm("Confirm",
// "Are you sure you want to perform the sampling", l);
//
// fire event
eventBus.fireEvent(new SamplingEvent());
// // TODO: insert the result of the sample operation
//
// // TODO: manage the exception case (returned from
// // algorithm "Simple Sample") with an alert
//
// // System.out.println("simple sample event");
//
// Dialog d = new Dialog();
// d.setHeading("Simple Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 1");
// d.show();
// // TODO: insert the result of the sample operation
//
// // TODO: manage the exception case (returned from
// // algorithm "Simple Sample") with an alert
//
// // System.out.println("simple sample event");
//
// Dialog d = new Dialog();
// d.setHeading("Simple Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 1");
// d.show();
}
@ -279,9 +291,8 @@ public class GxtToolbarFunctionality {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
//fire event
// fire event
eventBus.fireEvent(new SmartSamplingEvent());
// TODO: insert the result of the sample operation
@ -291,19 +302,19 @@ public class GxtToolbarFunctionality {
// System.out.println("simple sample event");
// Dialog d = new Dialog();
// d.setHeading("Smart Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 2");
// d.show();
// Dialog d = new Dialog();
// d.setHeading("Smart Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 2");
// d.show();
}
@ -315,9 +326,8 @@ public class GxtToolbarFunctionality {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
//fire event
// fire event
eventBus.fireEvent(new RandomSamplingEvent());
// TODO: insert the result of the sample operation
@ -327,42 +337,54 @@ public class GxtToolbarFunctionality {
// System.out.println("simple sample event");
// Dialog d = new Dialog();
// d.setHeading("Random Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 3");
// d.show();
// Dialog d = new Dialog();
// d.setHeading("Random Sample");
//
// // d.setBodyStyle("fontWeight:bold;padding:13px;");
//
// d.setBodyStyle("padding:9px;");
// d.setSize(600, 400);
// d.setScrollMode(Scroll.AUTO);
// d.setHideOnButtonClick(true);
// d.setModal(true);
// d.setMaximizable(true);
// d.addText("Result Table 3");
// d.show();
}
});
btnShowCreateTable.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
//fire event
eventBus.fireEvent(new ShowCreateTableEvent());
}
});
btnShowCreateTable
.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
// fire event
eventBus.fireEvent(new ShowCreateTableEvent());
}
});
btnTablesList
.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO Auto-generated method stub
// fire event
eventBus.fireEvent(new LoadTablesEvent());
}
});
}
public void disableButtonOnToolbar(int infoTreeDepthSelectedItem,
boolean infoSelectedItemIsSchema) {
boolean infoSelectedItemIsSchema, String databaseType) {
// System.out.println("GxtToolbarFunctionality-> depth: "
// + infoTreeDepthSelectedItem);
@ -373,6 +395,7 @@ public class GxtToolbarFunctionality {
switch (infoTreeDepthSelectedItem) {
case 1:
btnTablesList.disable();
btnSubmitQuery.disable();
// btnGetInfo.disable();
btnShowCreateTable.disable();
@ -383,6 +406,7 @@ public class GxtToolbarFunctionality {
break;
case 2:
btnTablesList.disable();
btnSubmitQuery.disable();
// btnGetInfo.enable();
btnShowCreateTable.disable();
@ -392,13 +416,28 @@ public class GxtToolbarFunctionality {
break;
case 3:
if ((databaseType != null)
&& (databaseType.equals(ConstantsPortlet.MYSQL))) {
btnTablesList.enable();
btnSubmitQuery.enable();
// btnGetInfo.disable();
btnShowCreateTable.disable();
btnSimpleSample.disable();
btnSmartSample.disable();
btnRandomSample.disable();
btnSubmitQuery.enable();
// btnGetInfo.disable();
btnShowCreateTable.disable();
btnSimpleSample.disable();
btnSmartSample.disable();
btnRandomSample.disable();
}
if ((databaseType != null)
&& (databaseType.equals(ConstantsPortlet.POSTGRES))) {
btnTablesList.disable();
btnSubmitQuery.enable();
// btnGetInfo.disable();
btnShowCreateTable.disable();
btnSimpleSample.disable();
btnSmartSample.disable();
btnRandomSample.disable();
}
break;
@ -407,7 +446,7 @@ public class GxtToolbarFunctionality {
// manage it differently
if (infoSelectedItemIsSchema == true) {
// this tree level is a schema
btnTablesList.enable();
btnSubmitQuery.enable();
// btnShowCreateTable.enable();
btnShowCreateTable.disable();
@ -417,6 +456,7 @@ public class GxtToolbarFunctionality {
} else {
// this tree level is a table
btnTablesList.enable();
btnSubmitQuery.enable();
btnShowCreateTable.enable();
btnSimpleSample.enable();
@ -428,7 +468,7 @@ public class GxtToolbarFunctionality {
break;
case 5: // if there is the schema this level refers to table
btnTablesList.enable();
btnSubmitQuery.enable();
btnShowCreateTable.enable();
btnSimpleSample.enable();
@ -456,7 +496,7 @@ public class GxtToolbarFunctionality {
MessageBox.alert("Warning", "Query field null", null);
} else {
dialog.mask("Loading", "x-mask-loading");
eventBus.fireEvent(new SubmitQueryEvent());

View File

@ -7,6 +7,7 @@ public class ConstantsPortlet {
//Toolbar button
public static final String TABLESLIST = "Tables List";
public static final String SUBMITQUERY = "Submit Query";
public static final String GETINFO = "Get Info";
public static final String TABLEDETAILS = "Table Details";

View File

@ -1272,7 +1272,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// System.out.println("GWTdbManagerServiceImpl-> ResourceType:"
// + smsubResType);
rootLogger.log(Level.INFO, "ResourceType: " + smsubResType);
// rootLogger.log(Level.INFO, "ResourceType: " + smsubResType);
if (smsubResType == SMResourceType.OBJECT) {
SMObject obje = (SMObject) smres;
@ -1280,13 +1280,15 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// System.out.println("key :" + key);
rootLogger.log(Level.INFO, "key: " + smsubResType);
// rootLogger.log(Level.INFO, "key: " + smsubResType);
// System.out.println("Object:"
// + new String(outstring.getBytes(), "UTF-8"));
rootLogger.log(Level.INFO,
"Object: " + new String(outstring.getBytes(), "UTF-8"));
// rootLogger.log(Level.INFO,
// "Object: " + new String(outstring.getBytes(), "UTF-8"));
// outputmap.put(key, outstring);