Updated OperationMonitor

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-monitor-widget@99242 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-08-08 14:39:25 +00:00 committed by Giancarlo Panichi
parent d52159d988
commit af300a561d
8 changed files with 107 additions and 49 deletions

View File

@ -3,6 +3,7 @@ package org.gcube.portlets.user.td.monitorwidget.client;
import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
@ -14,7 +15,7 @@ import com.sencha.gxt.widget.core.client.ProgressBar;
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public class ProgressBarUpdater implements ProgressListener { public class MonitorBarUpdater implements MonitorListener {
protected ProgressBar progressBar; protected ProgressBar progressBar;
@ -22,7 +23,7 @@ public class ProgressBarUpdater implements ProgressListener {
* Creates a new {@link ProgressBar} updater. * Creates a new {@link ProgressBar} updater.
* @param progressBar the {@link ProgressBar} to update. * @param progressBar the {@link ProgressBar} to update.
*/ */
public ProgressBarUpdater(ProgressBar progressBar) { public MonitorBarUpdater(ProgressBar progressBar) {
this.progressBar = progressBar; this.progressBar = progressBar;
this.progressBar.updateProgress(0, "Please Wait..."); this.progressBar.updateProgress(0, "Please Wait...");
} }
@ -91,4 +92,11 @@ public class ProgressBarUpdater implements ProgressListener {
} }
@Override
public void operationMonitorChanged(OperationMonitor operationMonitor) {
// TODO Auto-generated method stub
}
} }

View File

@ -3,6 +3,7 @@ package org.gcube.portlets.user.td.monitorwidget.client;
import java.util.ArrayList; import java.util.ArrayList;
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; 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.gwtservice.shared.monitor.OperationMonitorSession;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; 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.client.type.SessionExpiredType;
@ -28,13 +29,13 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public class ProgressDialog extends Window implements ProgressListener { public class MonitorDialog extends Window implements MonitorListener {
public static final int STATUS_POLLING_DELAY = 1000; public static final int STATUS_POLLING_DELAY = 1000;
private static final String WIDTH = "400px"; private static final String WIDTH = "400px";
private static final String HEIGHT = "120px"; private static final String HEIGHT = "120px";
private EventBus eventBus; private EventBus eventBus;
private ProgressUpdater progressUpdater; private MonitorUpdater progressUpdater;
private TextButton ok; private TextButton ok;
private TRId trId; private TRId trId;
private String reason; private String reason;
@ -43,10 +44,10 @@ public class ProgressDialog extends Window implements ProgressListener {
protected boolean backgroundBtnEnabled=true; protected boolean backgroundBtnEnabled=true;
protected ToolButton backgroundBtn; protected ToolButton backgroundBtn;
protected ArrayList<ProgressDialogListener> listeners = new ArrayList<ProgressDialogListener>(); protected ArrayList<MonitorDialogListener> listeners = new ArrayList<MonitorDialogListener>();
public ProgressDialog(String taskId, EventBus eventBus) { public MonitorDialog(String taskId, EventBus eventBus) {
this.eventBus = eventBus; this.eventBus = eventBus;
setWidth(WIDTH); setWidth(WIDTH);
setHeight(HEIGHT); setHeight(HEIGHT);
@ -83,8 +84,8 @@ public class ProgressDialog extends Window implements ProgressListener {
OperationMonitorSession operationMonitorSession = new OperationMonitorSession( OperationMonitorSession operationMonitorSession = new OperationMonitorSession(
taskId); taskId);
progressUpdater = new ProgressUpdater(operationMonitorSession); progressUpdater = new MonitorUpdater(operationMonitorSession);
progressUpdater.addListener(new ProgressBarUpdater(progressBar)); progressUpdater.addListener(new MonitorBarUpdater(progressBar));
progressUpdater.addListener(this); progressUpdater.addListener(this);
progressUpdater.scheduleRepeating(STATUS_POLLING_DELAY); progressUpdater.scheduleRepeating(STATUS_POLLING_DELAY);
@ -93,11 +94,11 @@ public class ProgressDialog extends Window implements ProgressListener {
} }
public void addProgressDialogListener(ProgressDialogListener listener) { public void addProgressDialogListener(MonitorDialogListener listener) {
listeners.add(listener); listeners.add(listener);
} }
public void removeProgressDialogListener(ProgressDialogListener listener) { public void removeProgressDialogListener(MonitorDialogListener listener) {
listeners.remove(listener); listeners.remove(listener);
} }
@ -166,17 +167,17 @@ public class ProgressDialog extends Window implements ProgressListener {
} }
protected void fireOperationComplete(TRId trId) { protected void fireOperationComplete(TRId trId) {
for (ProgressDialogListener listener : listeners) for (MonitorDialogListener listener : listeners)
listener.operationComplete(trId); listener.operationComplete(trId);
} }
protected void fireOperationFailed(Throwable caught, String reason) { protected void fireOperationFailed(Throwable caught, String reason) {
for (ProgressDialogListener listener : listeners) for (MonitorDialogListener listener : listeners)
listener.operationFailed(caught, reason); listener.operationFailed(caught, reason);
} }
protected void fireOperationStopped(TRId trId, String reason, String details) { protected void fireOperationStopped(TRId trId, String reason, String details) {
for (ProgressDialogListener listener : listeners) for (MonitorDialogListener listener : listeners)
listener.operationStopped(trId, reason, details); listener.operationStopped(trId, reason, details);
} }
@ -215,4 +216,10 @@ public class ProgressDialog extends Window implements ProgressListener {
} }
@Override
public void operationMonitorChanged(OperationMonitor operationMonitor) {
// TODO Auto-generated method stub
}
} }

View File

@ -3,7 +3,13 @@ package org.gcube.portlets.user.td.monitorwidget.client;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
public interface ProgressDialogListener { /**
*
* @author "Giancarlo Panichi"
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public interface MonitorDialogListener {
/** /**
@ -30,5 +36,17 @@ public interface ProgressDialogListener {
public void operationStopped(TRId trId, String reason, String details); public void operationStopped(TRId trId, String reason, String details);
/**
* Called when the operation is aborted
*
*/
public void operationAborted();
/**
* Called when the operation is put in the background
*
*/
public void operationPutInBackground();
} }

View File

@ -1,6 +1,7 @@
package org.gcube.portlets.user.td.monitorwidget.client; package org.gcube.portlets.user.td.monitorwidget.client;
import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
@ -12,7 +13,7 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public interface ProgressListener { public interface MonitorListener {
/** /**
* Called when the operation is starting. * Called when the operation is starting.
@ -57,4 +58,12 @@ public interface ProgressListener {
*/ */
public void operationGeneratingView(); public void operationGeneratingView();
/**
* Called when the operation montor is changed
*
* @param operationMonitor
*/
public void operationMonitorChanged(OperationMonitor operationMonitor);
} }

View File

@ -18,12 +18,12 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public class ProgressUpdater extends Timer { public class MonitorUpdater extends Timer implements MonitorUpdaterListener {
protected ArrayList<ProgressListener> listeners = new ArrayList<ProgressListener>(); protected ArrayList<MonitorListener> listeners = new ArrayList<MonitorListener>();
protected OperationMonitorSession operationMonitorSession; protected OperationMonitorSession operationMonitorSession;
public ProgressUpdater(OperationMonitorSession operationMonitorSession){ public MonitorUpdater(OperationMonitorSession operationMonitorSession){
this.operationMonitorSession=operationMonitorSession; this.operationMonitorSession=operationMonitorSession;
} }
@ -138,61 +138,77 @@ public class ProgressUpdater extends Timer {
} }
protected void fireOperationInitializing() { protected void fireOperationInitializing() {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationInitializing(); listener.operationInitializing();
} }
protected void fireOperationGeneratingView() { protected void fireOperationGeneratingView() {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationGeneratingView(); listener.operationGeneratingView();
} }
protected void fireOperationUpdate(float elaborated) { protected void fireOperationUpdate(float elaborated) {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationUpdate(elaborated); listener.operationUpdate(elaborated);
} }
protected void fireOperationValidate(float elaborated) { protected void fireOperationValidate(float elaborated) {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationValidate(elaborated); listener.operationValidate(elaborated);
} }
protected void fireOperationComplete(TRId trId) { protected void fireOperationComplete(TRId trId) {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationComplete(trId); listener.operationComplete(trId);
} }
protected void fireOperationFailed(Throwable caught, String failure, protected void fireOperationFailed(Throwable caught, String failure,
String failureDetails) { String failureDetails) {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationFailed(caught, failure, failureDetails); listener.operationFailed(caught, failure, failureDetails);
} }
protected void fireOperationStopped(TRId trId, String reason, String details) { protected void fireOperationStopped(TRId trId, String reason, String details) {
for (ProgressListener listener : listeners) for (MonitorListener listener : listeners)
listener.operationStopped(trId,reason, details); listener.operationStopped(trId,reason, details);
} }
/** /**
* Add a new {@link ProgressListener} to this * Add a new {@link MonitorListener} to this
* {@link AddColumnProgressUpdater}. * {@link AddColumnProgressUpdater}.
* *
* @param listener * @param listener
* the listener to add. * the listener to add.
*/ */
public void addListener(ProgressListener listener) { public void addListener(MonitorListener listener) {
listeners.add(listener); listeners.add(listener);
} }
/** /**
* Removes the specified {@link ProgressListener} from this * Removes the specified {@link MonitorListener} from this
* {@link AddColumnProgressUpdater}. * {@link AddColumnProgressUpdater}.
* *
* @param listener * @param listener
* the listener to remove. * the listener to remove.
*/ */
public void removeListener(ProgressListener listener) { public void removeListener(MonitorListener listener) {
listeners.remove(listener); listeners.remove(listener);
} }
@Override
public void operationAborted() {
// TODO Auto-generated method stub
}
@Override
public void operationPutInBackground() {
// TODO Auto-generated method stub
}
} }

View File

@ -0,0 +1,18 @@
package org.gcube.portlets.user.td.monitorwidget.client;
public interface MonitorUpdaterListener {
/**
* Called when the operation is aborted
*
*/
public void operationAborted();
/**
* Called when the operation is put in the background
*
*/
public void operationPutInBackground();
}

View File

@ -1,14 +0,0 @@
package org.gcube.portlets.user.td.monitorwidget.client;
/**
*
* @author "Giancarlo Panichi" email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class MonitorWidget {
public MonitorWidget(){
}
}

View File

@ -1,8 +1,5 @@
package org.gcube.portlets.user.td.monitorwidget.client; package org.gcube.portlets.user.td.monitorwidget.client;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.EntryPoint;
import com.google.web.bindery.event.shared.SimpleEventBus; import com.google.web.bindery.event.shared.SimpleEventBus;
@ -15,9 +12,8 @@ import com.google.web.bindery.event.shared.SimpleEventBus;
public class MonitorWidgetEntry implements EntryPoint { public class MonitorWidgetEntry implements EntryPoint {
public void onModuleLoad() { public void onModuleLoad() {
TRId trId=new TRId();
SimpleEventBus eventBus=new SimpleEventBus(); SimpleEventBus eventBus=new SimpleEventBus();
MonitorWidget monitorWidget= new MonitorWidget(); MonitorDialog monitorWidget= new MonitorDialog("taskId",eventBus);
monitorWidget.show();
} }
} }