Added QueryService

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@93283 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-03-18 15:13:44 +00:00
parent ffc7be82f7
commit ca732e914f
5 changed files with 92 additions and 143 deletions

View File

@ -5,6 +5,7 @@ package org.gcube.portlets.user.td.client;
import java.util.ArrayList;
import org.gcube.portlets.user.td.columnwidget.client.batch.BatchReplaceDialog;
import org.gcube.portlets.user.td.csvexportwidget.client.CSVExportWizardTD;
import org.gcube.portlets.user.td.csvimportwidget.client.CSVImportWizardTD;
import org.gcube.portlets.user.td.expressionwidget.client.ColumnFilterDialog;
@ -16,6 +17,7 @@ import org.gcube.portlets.user.td.sdmximportwidget.client.SDMXImportWizardTD;
import org.gcube.portlets.user.td.sharewidget.client.TRShare;
import org.gcube.portlets.user.td.tablewidget.client.CloneTabularResource;
import org.gcube.portlets.user.td.tablewidget.client.rows.DeleteRows;
import org.gcube.portlets.user.td.tablewidget.client.util.UtilsGXT3;
import org.gcube.portlets.user.td.taskswidget.client.TdTaskController;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ChangeTableRequestEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.GridContextMenuItemEvent;
@ -45,7 +47,6 @@ import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;
import com.sencha.gxt.widget.core.client.ContentPanel;
import com.sencha.gxt.widget.core.client.Dialog.PredefinedButton;
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
import com.sencha.gxt.widget.core.client.box.ConfirmMessageBox;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData;
import com.sencha.gxt.widget.core.client.event.HideEvent;
@ -121,7 +122,7 @@ public class TabularDataController {
@Override
public void onFailure(Throwable caught) {
Log.info("No valid user found: " + caught.getMessage());
alertMessage("Error", "No user found");
UtilsGXT3.alert("Error", "No user found");
}
@Override
@ -194,18 +195,7 @@ public class TabularDataController {
}
// Simple alert
protected void alertMessage(String reason, String details) {
AlertMessageBox d = new AlertMessageBox(reason, details);
d.addHideHandler(new HideHandler() {
public void onHide(HideEvent event) {
//
}
});
d.show();
}
// Resume state of user interface
protected void resumeUIState() {
@ -267,7 +257,7 @@ public class TabularDataController {
new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
alertMessage(
UtilsGXT3.alert(
"Error",
"Error on remove TabResource: "
+ caught.getLocalizedMessage());
@ -483,7 +473,7 @@ public class TabularDataController {
public void failed(Throwable throwable, String reason,
String details) {
alertMessage(reason, details);
UtilsGXT3.alert(reason, details);
resumeUIState();
}
@ -510,7 +500,7 @@ public class TabularDataController {
exportWizard.addListener(new WizardListener() {
public void failed(Throwable throwable, String reason,
String details) {
alertMessage(reason, details);
UtilsGXT3.alert(reason, details);
resumeUIState();
}
@ -545,7 +535,7 @@ public class TabularDataController {
exportWizard.addListener(new WizardListener() {
public void failed(Throwable throwable, String reason,
String details) {
alertMessage(reason, details);
UtilsGXT3.alert(reason, details);
resumeUIState();
}
@ -589,7 +579,7 @@ public class TabularDataController {
public void failed(Throwable throwable, String reason,
String details) {
alertMessage(reason, details);
UtilsGXT3.alert(reason, details);
resumeUIState();
}
@ -622,7 +612,7 @@ public class TabularDataController {
public void failed(Throwable throwable, String reason,
String details) {
alertMessage(reason, details);
UtilsGXT3.alert(reason, details);
resumeUIState();
}
@ -691,6 +681,9 @@ public class TabularDataController {
MultiColumnFilterDialog mcfDialog = new MultiColumnFilterDialog(
trId, eventBus);
mcfDialog.show();
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No current tabular resource present");
}
}
@ -700,6 +693,9 @@ public class TabularDataController {
ColumnFilterDialog cfDialog = new ColumnFilterDialog(trId,
columnName, eventBus);
cfDialog.show();
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No current tabular resource present");
}
}
@ -715,20 +711,41 @@ public class TabularDataController {
e.setTrId(trId);
e.setColumnName(columnName);
eventBus.fireEvent(e);
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No current tabular resource present");
}
}
protected void openColumnDelete() {
openColumnDelete(null);
}
protected void cloneTabularResource(){
CloneTabularResource cloneTR=new CloneTabularResource(trId, eventBus);
cloneTR.cloneTR();
}
protected void openColumnBatchReplace() {
openColumnDelete(null);
}
protected void openColumnBatchReplace(String columnName){
Log.debug("Request Open Batch Replace Dialog");
if (trId != null) {
BatchReplaceDialog dialog = new BatchReplaceDialog(
trId, columnName,eventBus);
dialog.show();
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No tabular resource present");
}
};
protected void openColumnDelete() {
openColumnDelete(null);
}
protected void openColumnDelete(String columnName) {
Log.debug("Request Delete Column Tab");
if (trId != null) {
@ -737,6 +754,9 @@ public class TabularDataController {
e.setTrId(trId);
e.setColumnName(columnName);
eventBus.fireEvent(e);
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No tabular resource present");
}
}
@ -752,6 +772,9 @@ public class TabularDataController {
e.setTrId(trId);
e.setColumnName(columnName);
eventBus.fireEvent(e);
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No tabular resource present");
}
}
@ -762,6 +785,9 @@ public class TabularDataController {
WidgetRequestType.CHANGETABLETYPEPANEL);
e.setTrId(trId);
eventBus.fireEvent(e);
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No tabular resource present");
}
}
@ -772,6 +798,9 @@ public class TabularDataController {
WidgetRequestType.DUPLICATESROWSPANEL);
e.setTrId(trId);
eventBus.fireEvent(e);
} else {
Log.error("TRId is null");
UtilsGXT3.alert("Error","No tabular resource present");
}
}
@ -795,7 +824,7 @@ public class TabularDataController {
private void onRowsDelete(ArrayList<String> rows){
if(rows==null || rows.size()==0){
alertMessage("No rows selected", "No rows selected");
UtilsGXT3.alert("No rows selected", "No rows selected");
return;
}
DeleteRows deleteRows=new DeleteRows(trId, rows,eventBus);
@ -843,8 +872,8 @@ public class TabularDataController {
if (opId.compareTo(GridHeaderOperationId.COLUMNADD.toString()) == 0) {
} else {
if (opId.compareTo(GridHeaderOperationId.COLUMNEDIT.toString()) == 0) {
if (opId.compareTo(GridHeaderOperationId.COLUMNBATCHREPLACE.toString()) == 0) {
openColumnBatchReplace(columnName);
} else {
if (opId.compareTo(GridHeaderOperationId.COLUMNDELETE
.toString()) == 0) {

View File

@ -91,7 +91,6 @@ public class TabularDataPortlet implements EntryPoint {
tabularData = new TabularDataX(Constants.TDX_DATASOURCE_FACTORY_ID);
tabularData.addFailureHandler(new FailureEventHandler() {
public void onFailure(FailureEvent event) {
Info.display("Error: " + event.getMessage(), event.getCaught()
.getMessage());
@ -120,22 +119,23 @@ public class TabularDataPortlet implements EntryPoint {
// Grid Panel
final TabularDataXGridPanel gridPanel = tabularData.getGridPanel();
gridPanel.setHeaderVisible(false);
GridHeaderColumnMenu columnHeaderMenu=new GridHeaderColumnMenu();
gridPanel.addGridHeaderContextMenuItems(columnHeaderMenu.getMenu(), eventBus);
GridContextMenu gridContextMenu=new GridContextMenu(gridPanel, eventBus);
GridHeaderColumnMenu columnHeaderMenu = new GridHeaderColumnMenu();
gridPanel.addGridHeaderContextMenuItems(columnHeaderMenu.getMenu(),
eventBus);
GridContextMenu gridContextMenu = new GridContextMenu(gridPanel,
eventBus);
gridPanel.setGridContextMenu(gridContextMenu.getMenu());
gridPanel.setSelectionModel(SelectionMode.MULTI);
MarginData gridData = new MarginData();
mainPanelLayout.setCenterWidget(gridPanel, gridData);
// ToolBox Panel
toolBoxPanel = new ToolBoxPanel("ToolBoxPanel",eventBus);
toolBoxPanel = new ToolBoxPanel("ToolBoxPanel", eventBus);
westData = new BorderLayoutData(310);
westData.setCollapsible(true);
westData.setSplit(false);
@ -143,18 +143,17 @@ public class TabularDataPortlet implements EntryPoint {
westData.setCollapseMini(true);
westData.setMargins(new Margins(0, 5, 0, 5));
westData.setCollapseHidden(true);
mainPanelLayout.setWestWidget(toolBoxPanel, westData);
toolBoxPanel.expand();
toolBoxPanel.enable();
controller.setToolBoxPanel(toolBoxPanel);
controller.setWestData(westData);
bind(mainPanelLayout);
//menu(gridPanel);
// menu(gridPanel);
}
protected void bind(BorderLayoutContainer mainWidget) {
@ -187,84 +186,5 @@ public class TabularDataPortlet implements EntryPoint {
Log.error("Error in attach viewport:" + e.getLocalizedMessage());
}
}
/*
protected void menu(final TabularDataXGridPanel gridPanel) {
Log.debug("Add Menu to tabular data widget");
final HideHandler hideHandler = new HideHandler() {
@Override
public void onHide(HideEvent event) {
// TODO Auto-generated method stub
}
};
Log.debug("Set SelectionMode.SINGLE");
gridPanel.setSelectionModel(SelectionMode.SINGLE);
Log.debug("Init menu creation");
Menu menu = new Menu();
Log.debug("Create Item");
MenuItem item = new MenuItem("Selected");
Log.debug("Added Handler");
item.addSelectionHandler(new SelectionHandler<Item>() {
@Override
public void onSelection(SelectionEvent<Item> event) {
Log.debug("Start On Selection");
Log.debug("gridPanel is: " + gridPanel);
if (gridPanel != null) {
ColumnModel<DataRow> columnModel = gridPanel.getGrid()
.getColumnModel();
List<ColumnConfig<DataRow, ?>> columns = columnModel
.getColumns();
for (ColumnConfig<DataRow, ?> cc : columns) {
Log.debug("ColumnConfig:" + cc.getHeader());
}
DataRowColumnConfig<?> dc = (DataRowColumnConfig<?>) columns
.get(0);
Log.debug("DC - Header:" + dc.getHeader());
Log.debug("DC - Definition:" + dc.getDefinition().getId()
+ " Label:" + dc.getDefinition().getLabel()
+ " Key:" + dc.getDefinition().getKey());
Row row = gridPanel.getSelectedRow();
Log.debug("Retrived row");
String rowInfo;
if (row != null) {
rowInfo = row.getFieldAsText(dc.getDefinition()
.getLabel());
} else {
rowInfo = "no row retrived";
}
Log.debug("Set Alert");
AlertMessageBox d = new AlertMessageBox("Selected",
"Row: \n" + rowInfo);
d.addHideHandler(hideHandler);
d.show();
}
}
});
Log.debug("Add Item to Menu");
menu.add(item);
Log.debug("Set Menu on Tabular data Widget");
gridPanel.setContextMenu(menu);
}
*/
/*
* private void configPanel(final Portlet panel) {
* panel.setCollapsible(true); panel.setAnimCollapse(false);
* //panel.getHeader().addTool(new ToolButton(ToolButton.GEAR));
* panel.getHeader().addTool(new ToolButton(ToolButton.CLOSE));
*
* }
*/
}

View File

@ -52,8 +52,8 @@ public class GridHeaderColumnMenu {
filterItem.setIcon(TabularDataResources.INSTANCE.columnFilter());
menuItems.add(filterItem);
MenuItem modifyValueOnConditionItem = new MenuItem("Edit");
modifyValueOnConditionItem.setId(GridHeaderOperationId.COLUMNEDIT.toString());
MenuItem modifyValueOnConditionItem = new MenuItem("Replace");
modifyValueOnConditionItem.setId(GridHeaderOperationId.COLUMNBATCHREPLACE.toString());
modifyValueOnConditionItem.setIcon(TabularDataResources.INSTANCE.columnValues());
menuItems.add(modifyValueOnConditionItem);

View File

@ -46,7 +46,7 @@ public class AnalyseToolBar {
protected TextButton deleteDuplicateButton;
protected TextButton annotationButton;
protected TextButton filterColumnButton;
protected TextButton editColumnValueOnConditionButton;
protected TextButton replaceValueButton;
public AnalyseToolBar(EventBus eventBus) {
this.eventBus = eventBus;
@ -240,14 +240,14 @@ public class AnalyseToolBar {
columnLayout.setWidget(0, 0, filterColumnButton);
columnLayout.getFlexCellFormatter().setRowSpan(0, 0, 2);
editColumnValueOnConditionButton = new TextButton("Edit",
replaceValueButton = new TextButton("Replace",
TabularDataResources.INSTANCE.columnValues32());
editColumnValueOnConditionButton.setScale(ButtonScale.LARGE);
editColumnValueOnConditionButton.setIconAlign(IconAlign.TOP);
editColumnValueOnConditionButton
replaceValueButton.setScale(ButtonScale.LARGE);
replaceValueButton.setIconAlign(IconAlign.TOP);
replaceValueButton
.setToolTip("Edit column values according to an condition");
editColumnValueOnConditionButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
editColumnValueOnConditionButton.addSelectHandler(new SelectHandler() {
replaceValueButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
replaceValueButton.addSelectHandler(new SelectHandler() {
public void onSelect(SelectEvent event) {
// eventBus.fireEvent(new
@ -255,7 +255,7 @@ public class AnalyseToolBar {
}
});
columnLayout.setWidget(0, 1, editColumnValueOnConditionButton);
columnLayout.setWidget(0, 1, replaceValueButton);
columnLayout.getFlexCellFormatter().setRowSpan(0, 1, 2);
cleanCells(columnLayout.getElement());

View File

@ -45,7 +45,7 @@ public class ModifyToolBar {
// Column
protected TextButton filterColumnButton;
protected TextButton editColumnValueOnConditionButton;
protected TextButton replaceValueButton;
public ModifyToolBar(EventBus eventBus) {
@ -250,16 +250,16 @@ public class ModifyToolBar {
columnLayout.getFlexCellFormatter().setRowSpan(0, 0, 2);
editColumnValueOnConditionButton = new TextButton("Edit",
replaceValueButton = new TextButton("Replace",
TabularDataResources.INSTANCE.columnValues32());
editColumnValueOnConditionButton.disable();
editColumnValueOnConditionButton.setScale(ButtonScale.LARGE);
editColumnValueOnConditionButton.setIconAlign(IconAlign.TOP);
editColumnValueOnConditionButton
replaceValueButton.disable();
replaceValueButton.setScale(ButtonScale.LARGE);
replaceValueButton.setIconAlign(IconAlign.TOP);
replaceValueButton
.setToolTip("Replace column values");
editColumnValueOnConditionButton
replaceValueButton
.setArrowAlign(ButtonArrowAlign.BOTTOM);
editColumnValueOnConditionButton
replaceValueButton
.addSelectHandler(new SelectHandler() {
public void onSelect(SelectEvent event) {
@ -267,7 +267,7 @@ public class ModifyToolBar {
}
});
columnLayout.setWidget(0, 1, editColumnValueOnConditionButton);
columnLayout.setWidget(0, 1, replaceValueButton);
columnLayout.getFlexCellFormatter().setRowSpan(0, 1, 2);
cleanCells(columnLayout.getElement());
@ -311,7 +311,7 @@ public class ModifyToolBar {
annotationButton.disable();
// Column
filterColumnButton.disable();
editColumnValueOnConditionButton.disable();
replaceValueButton.disable();
break;
case TR_CLOSE:
// Table
@ -325,7 +325,7 @@ public class ModifyToolBar {
annotationButton.disable();
// Column
filterColumnButton.disable();
editColumnValueOnConditionButton.disable();
replaceValueButton.disable();
break;
case TR_OPEN:
// Table
@ -339,7 +339,7 @@ public class ModifyToolBar {
annotationButton.disable();
// Column
filterColumnButton.enable();
editColumnValueOnConditionButton.enable();
replaceValueButton.enable();
break;
case WIZARD_OPEN:
// Table
@ -353,7 +353,7 @@ public class ModifyToolBar {
annotationButton.disable();
// Column
filterColumnButton.disable();
editColumnValueOnConditionButton.disable();
replaceValueButton.disable();
break;
default:
break;