From 2c74fac2d2bf990647e8ebbe0885c16a7ab8fae2 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 26 Sep 2014 15:04:16 +0000 Subject: [PATCH] Fixed Final and Lock error git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-csv-export-widget@100228 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/CSVExportConfigCard.java | 8 ++- .../client/CSVOperationInProgressCard.java | 29 +++++---- .../client/grid/ColumnDataGridPanel.java | 59 +++++++++++-------- 3 files changed, 55 insertions(+), 41 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java index 8e6e77a..d24f388 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java @@ -122,9 +122,11 @@ public class CSVExportConfigCard extends WizardCard { new SessionExpiredEvent( SessionExpiredType.EXPIREDONSERVER)); } else { - GWT.log("Error loading charset list", caught); + + Log.error("Error loading charset list", caught); showErrorAndHide("Error loading charset list", - "Error loading charset list", "", caught); + "Error loading charset list", caught); + } } }); @@ -192,7 +194,7 @@ public class CSVExportConfigCard extends WizardCard { "The delimiter use to delimit the CSV fields")); content.add(new FieldLabel(delimitersPanel, "Delimiter")); - csvColumnGridPanel = new ColumnDataGridPanel(); + csvColumnGridPanel = new ColumnDataGridPanel(this); csvColumnGridPanel .addSelectionHandler(new SelectionHandler() { diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVOperationInProgressCard.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVOperationInProgressCard.java index ba83eec..3b8e585 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVOperationInProgressCard.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVOperationInProgressCard.java @@ -5,6 +5,7 @@ package org.gcube.portlets.user.td.csvexportwidget.client; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.csv.CSVExportSession; +import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog; import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialogListener; @@ -20,13 +21,10 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.FlexTable; import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.widget.core.client.FramedPanel; -import com.sencha.gxt.widget.core.client.box.AlertMessageBox; import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; import com.sencha.gxt.widget.core.client.container.HtmlLayoutContainer; import com.sencha.gxt.widget.core.client.container.VBoxLayoutContainer; import com.sencha.gxt.widget.core.client.container.VBoxLayoutContainer.VBoxLayoutAlign; -import com.sencha.gxt.widget.core.client.event.HideEvent; -import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; /** * @@ -102,11 +100,17 @@ public class CSVOperationInProgressCard extends WizardCard implements new SessionExpiredEvent( SessionExpiredType.EXPIREDONSERVER)); } else { - showErrorAndHide( - "Error in exportCSV", - "An error occured in exportCSV: " - + caught.getLocalizedMessage(), - caught.getStackTrace().toString(), caught); + if (caught instanceof TDGWTIsLockedException) { + Log.error(caught.getLocalizedMessage()); + showErrorAndHide("Error Locked", + caught.getLocalizedMessage(), caught); + } else { + showErrorAndHide("Error in exportCSV", + "An error occured in exportCSV: " + + caught.getLocalizedMessage(), + caught); + + } } } }); @@ -175,13 +179,8 @@ public class CSVOperationInProgressCard extends WizardCard implements new SessionExpiredEvent( SessionExpiredType.EXPIREDONSERVER)); } else { - AlertMessageBox d = new AlertMessageBox("Error in CSV Export", - reason); - d.addHideHandler(new HideHandler() { - public void onHide(HideEvent event) { - } - }); - d.show(); + showErrorAndHide("Error in CSV Export", + reason,caught); } forceLayout(); diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java index 55cde87..a639ecc 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java @@ -4,7 +4,12 @@ import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; +import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; +import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; +import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; +import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType; +import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; @@ -40,27 +45,26 @@ public class ColumnDataGridPanel extends ContentPanel implements protected final CheckBoxSelectionModel sm; protected final Grid grid; + private WizardCard parent; + - public ColumnDataGridPanel() { + public ColumnDataGridPanel(WizardCard parent) { + this.parent=parent; Log.debug("ColumnDataGridPanel"); setHeadingText("Columns"); - - + ColumnConfig labelCol = new ColumnConfig( props.label()); - + IdentityValueProvider identity = new IdentityValueProvider(); - sm = new CheckBoxSelectionModel( - identity); - - + sm = new CheckBoxSelectionModel(identity); + List> l = new ArrayList>(); l.add(sm.getColumn()); l.add(labelCol); ColumnModel cm = new ColumnModel(l); - ListStore store = new ListStore(props.id()); RpcProxy> proxy = new RpcProxy>() { @@ -83,7 +87,7 @@ public class ColumnDataGridPanel extends ContentPanel implements protected void onAfterFirstAttach() { super.onAfterFirstAttach(); Scheduler.get().scheduleDeferred(new ScheduledCommand() { - + public void execute() { loader.load(); } @@ -91,21 +95,18 @@ public class ColumnDataGridPanel extends ContentPanel implements } }; - - sm.setSelectionMode(SelectionMode.MULTI); + sm.setSelectionMode(SelectionMode.MULTI); grid.setLoader(loader); grid.setSelectionModel(sm); grid.setHeight(300); - //grid.getView().setAutoExpandColumn(labelCol); + // grid.getView().setAutoExpandColumn(labelCol); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); grid.getView().setAutoFill(true); grid.setBorders(false); grid.setLoadMask(true); grid.setColumnReordering(true); - - - + VerticalLayoutContainer con = new VerticalLayoutContainer(); con.setScrollMode(ScrollMode.AUTO); con.add(grid, new VerticalLayoutData(-1, -1, new Margins(0))); @@ -122,10 +123,23 @@ public class ColumnDataGridPanel extends ContentPanel implements TDGWTServiceAsync.INSTANCE .getColumns(new AsyncCallback>() { - public void onFailure(Throwable caught) { - Log.error("No load columns: " - + caught.getLocalizedMessage()); + if (caught instanceof TDGWTSessionExpiredException) { + parent.getEventBus() + .fireEvent( + new SessionExpiredEvent( + SessionExpiredType.EXPIREDONSERVER)); + } else { + if (caught instanceof TDGWTIsLockedException) { + Log.error(caught.getLocalizedMessage()); + parent.showErrorAndHide("Error Locked", + caught.getLocalizedMessage(), caught); + } else { + + Log.error("No load columns: " + + caught.getLocalizedMessage()); + } + } callback.onFailure(caught); } @@ -140,11 +154,10 @@ public class ColumnDataGridPanel extends ContentPanel implements } public ArrayList getSelectedItems() { - return new ArrayList(grid - .getSelectionModel().getSelectedItems()); - - } + return new ArrayList(grid.getSelectionModel() + .getSelectedItems()); + } public HandlerRegistration addSelectionHandler( SelectionHandler handler) {