diff --git a/src/main/java/org/gcube/portlets/user/td/csvimportwidget/client/CSVOperationInProgressCard.java b/src/main/java/org/gcube/portlets/user/td/csvimportwidget/client/CSVOperationInProgressCard.java index 2ace60c..67960f0 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvimportwidget/client/CSVOperationInProgressCard.java +++ b/src/main/java/org/gcube/portlets/user/td/csvimportwidget/client/CSVOperationInProgressCard.java @@ -6,30 +6,29 @@ package org.gcube.portlets.user.td.csvimportwidget.client; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.csv.CSVImportSession; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; -import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor; -import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitorSession; -import org.gcube.portlets.user.td.monitorwidget.client.MonitorBarUpdater; -import org.gcube.portlets.user.td.monitorwidget.client.MonitorUpdater; -import org.gcube.portlets.user.td.monitorwidget.client.MonitorUpdaterListener; +import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog; +import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialogListener; 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.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; import com.allen_sauer.gwt.log.client.Log; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.Command; 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.ProgressBar; 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; + /** * * @author "Giancarlo Panichi" "); + + operationInProgressPanel.add(resultField, new BoxLayoutData( new + Margins(10, 5, 10, 5))); + setContent(operationInProgressPanel); - + resultField.setVisible(false); + } - // columnToImportMask + public void importCSV() { TDGWTServiceAsync.INSTANCE.startCSVImport(importSession, new AsyncCallback() { public void onSuccess(String taskId) { - OperationMonitorSession operationMonitorSession = new OperationMonitorSession( - taskId); - progressUpdater = new MonitorUpdater( - operationMonitorSession); - progressUpdater.addListener(new MonitorBarUpdater( - progressBar)); - - progressUpdater.addListener(thisCard); - progressUpdater.scheduleRepeating(STATUS_POLLING_DELAY); - + openMonitorDialog(taskId); + } public void onFailure(Throwable caught) { @@ -133,26 +127,27 @@ public class CSVOperationInProgressCard extends WizardCard implements importCSV(); } - @Override - public void monitorInitializing(OperationMonitor operationMonitor) { - + // + protected void openMonitorDialog(String taskId) { + MonitorDialog monitorDialog = new MonitorDialog(taskId, getEventBus()); + monitorDialog.addProgressDialogListener(this); + monitorDialog.show(); } @Override - public void monitorUpdate(OperationMonitor operationMonitor) { - - } - - @Override - public void monitorComplete(final TRId trId, OperationMonitor operationMonitor) { - + public void operationComplete(TRId trId) { + newTrId = trId; + SafeHtmlBuilder safeHtmlBuilder=new SafeHtmlBuilder(); + safeHtmlBuilder.appendHtmlConstant("
Operation Completed
"); + resultField.setHTML(safeHtmlBuilder.toSafeHtml()); + resultField.setVisible(true); Command sayComplete = new Command() { public void execute() { try { getWizardWindow().close(false); - Log.info("fire Complete: " + trId); + Log.info("fire Complete: " + newTrId); - getWizardWindow().fireCompleted(trId); + getWizardWindow().fireCompleted(newTrId); } catch (Exception e) { Log.error("fire Complete :" + e.getLocalizedMessage()); @@ -164,38 +159,50 @@ public class CSVOperationInProgressCard extends WizardCard implements setNextButtonVisible(true); getWizardWindow().setEnableNextButton(true); + forceLayout(); + } @Override - public void monitorFailed(Throwable caught, String reason, - String failureDetails, OperationMonitor operationMonitor) { + public void operationFailed(Throwable caught, String reason, String details) { + SafeHtmlBuilder safeHtmlBuilder=new SafeHtmlBuilder(); + safeHtmlBuilder.appendHtmlConstant("
Operation Failed
"); + resultField.setHTML(safeHtmlBuilder.toSafeHtml()); + resultField.setVisible(true); if (caught instanceof TDGWTSessionExpiredException) { getEventBus() .fireEvent( new SessionExpiredEvent( SessionExpiredType.EXPIREDONSERVER)); } else { - AlertMessageBox d = new AlertMessageBox( - "Error in CSV Import", reason); + AlertMessageBox d = new AlertMessageBox("Error in CSV Import", + reason); d.addHideHandler(new HideHandler() { public void onHide(HideEvent event) { } }); d.show(); } + forceLayout(); } @Override - public void monitorStopped(final TRId trId, String reason, String details, OperationMonitor operationMonitor) { - + public void operationStopped(TRId trId, String reason, String details) { + newTrId = trId; + SafeHtmlBuilder safeHtmlBuilder=new SafeHtmlBuilder(); + safeHtmlBuilder.appendHtmlConstant("
Problems in the Operation
"); + resultField.setHTML(safeHtmlBuilder.toSafeHtml()); + resultField.setVisible(true); + Command sayComplete = new Command() { public void execute() { try { getWizardWindow().close(false); - Log.info("fire Complete: tabular resource " + trId.getId()); - Log.info("fire Complete: tableId " + trId.getTableId()); + Log.info("fire Complete: tabular resource " + + newTrId.getId()); + Log.info("fire Complete: tableId " + newTrId.getTableId()); - getWizardWindow().fireCompleted(trId); + getWizardWindow().fireCompleted(newTrId); } catch (Exception e) { Log.error("fire Complete :" + e.getLocalizedMessage()); @@ -207,33 +214,65 @@ public class CSVOperationInProgressCard extends WizardCard implements setNextButtonVisible(true); getWizardWindow().setEnableNextButton(true); + forceLayout(); + } + + @Override + public void operationAborted() { + SafeHtmlBuilder safeHtmlBuilder=new SafeHtmlBuilder(); + safeHtmlBuilder.appendHtmlConstant("
Operation Aborted
"); + resultField.setHTML(safeHtmlBuilder.toSafeHtml()); + resultField.setVisible(true); + + Command sayComplete = new Command() { + public void execute() { + try { + getWizardWindow().close(false); + Log.info("fire Aborted"); + + getWizardWindow().fireAborted(); + + } catch (Exception e) { + Log.error("fire Aborted :" + e.getLocalizedMessage()); + } + } + }; + + getWizardWindow().setNextButtonCommand(sayComplete); + + setNextButtonVisible(true); + getWizardWindow().setEnableNextButton(true); + forceLayout(); } @Override - public void monitorGeneratingView(OperationMonitor operationMonitor) { - // TODO Auto-generated method stub + public void operationPutInBackground() { + SafeHtmlBuilder safeHtmlBuilder=new SafeHtmlBuilder(); + safeHtmlBuilder.appendHtmlConstant("
Operation in Background
"); + resultField.setHTML(safeHtmlBuilder.toSafeHtml()); + resultField.setVisible(true); + + Command sayComplete = new Command() { + public void execute() { + try { + getWizardWindow().close(false); + Log.info("fire Operation In Background"); + + getWizardWindow().fireAborted(); - } + } catch (Exception e) { + Log.error("fire Operation In Background :" + e.getLocalizedMessage()); + } + } + }; - @Override - public void monitorValidate(OperationMonitor operationMonitor) { - // TODO Auto-generated method stub - - } + getWizardWindow().setNextButtonCommand(sayComplete); + setNextButtonVisible(true); + getWizardWindow().setEnableNextButton(true); + forceLayout(); - - @Override - public void monitorAborted() { - // TODO Auto-generated method stub - - } - - @Override - public void monitorPutInBackground() { - // TODO Auto-generated method stub - } }