diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java index 5b13ab7..c0d36b1 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java @@ -17,6 +17,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.file.HeaderPresence; import org.gcube.portlets.user.td.gwtservice.shared.history.OpHistory; import org.gcube.portlets.user.td.gwtservice.shared.history.RollBackSession; import org.gcube.portlets.user.td.gwtservice.shared.licenses.LicenceData; +import org.gcube.portlets.user.td.gwtservice.shared.monitor.BackgroundOperationMonitorSession; 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.sdmx.SDMXExportSession; @@ -863,6 +864,18 @@ public interface TDGWTService extends RemoteService { OperationMonitorSession operationMonitorSession) throws TDGWTServiceException; + + /** + * Get List of Background Operation Monitor + * + * @param backgroundOperationMonitorSession + * @return + * @throws TDGWTServiceException + */ + public ArrayList getBackgroundOperationMonitor( + BackgroundOperationMonitorSession backgroundOperationMonitorSession) + throws TDGWTServiceException; + // File Upload Monitor /** * Get File Upload Monitor during the file upload operation in Import CSV diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java index b31c870..d096c46 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java @@ -16,6 +16,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.file.HeaderPresence; import org.gcube.portlets.user.td.gwtservice.shared.history.OpHistory; import org.gcube.portlets.user.td.gwtservice.shared.history.RollBackSession; import org.gcube.portlets.user.td.gwtservice.shared.licenses.LicenceData; +import org.gcube.portlets.user.td.gwtservice.shared.monitor.BackgroundOperationMonitorSession; 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.sdmx.SDMXExportSession; @@ -317,6 +318,9 @@ public interface TDGWTServiceAsync { // Operation Monitor void getOperationMonitor(OperationMonitorSession operationMonitorSession, AsyncCallback callback); + + void getBackgroundOperationMonitor(BackgroundOperationMonitorSession backgroundOperationMonitorSession, + AsyncCallback> callback); // File Upload Monitor void getFileUploadMonitor(AsyncCallback callback); diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java index f5ea9a1..5996967 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java @@ -152,6 +152,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.file.HeaderPresence; import org.gcube.portlets.user.td.gwtservice.shared.history.OpHistory; import org.gcube.portlets.user.td.gwtservice.shared.history.RollBackSession; import org.gcube.portlets.user.td.gwtservice.shared.licenses.LicenceData; +import org.gcube.portlets.user.td.gwtservice.shared.monitor.BackgroundOperationMonitorSession; import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor; import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitorCreator; import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitorSession; @@ -6371,4 +6372,13 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements } + @Override + public ArrayList getBackgroundOperationMonitor( + BackgroundOperationMonitorSession backgroundOperationMonitorSession) + throws TDGWTServiceException { + // TODO Auto-generated method stub + ArrayList backgroundOperationMonitorList= new ArrayList(); + return backgroundOperationMonitorList; + } + } diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/BackgroundOperationMonitorSession.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/BackgroundOperationMonitorSession.java new file mode 100644 index 0000000..112832b --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/BackgroundOperationMonitorSession.java @@ -0,0 +1,60 @@ +package org.gcube.portlets.user.td.gwtservice.shared.monitor; + +import java.io.Serializable; +import java.util.ArrayList; + +/** + * + * @author giancarlo email: g.panichi@isti.cnr.it + * + */ +public class BackgroundOperationMonitorSession implements Serializable { + + private static final long serialVersionUID = 2175453217961108582L; + + private ArrayList operationMonitorSessionList; + + public BackgroundOperationMonitorSession() { + super(); + operationMonitorSessionList = new ArrayList(); + } + + public BackgroundOperationMonitorSession( + ArrayList operationMonitorSessionList) { + super(); + this.operationMonitorSessionList = operationMonitorSessionList; + } + + public ArrayList getOperationMonitorSessionList() { + return operationMonitorSessionList; + } + + public void setOperationMonitorSessionList( + ArrayList operationMonitorSessionList) { + this.operationMonitorSessionList = operationMonitorSessionList; + } + + public void addToOperationMonitorSessionList(OperationMonitorSession operationMonitorSession) { + if (operationMonitorSession != null + && operationMonitorSession.getTaskId() != null + && !operationMonitorSession.getTaskId().isEmpty()) { + for (OperationMonitorSession ops : operationMonitorSessionList) { + if (ops.getTaskId().compareTo( + operationMonitorSession.getTaskId()) == 0) { + operationMonitorSessionList.remove(ops); + operationMonitorSessionList.add(operationMonitorSession); + return; + } + } + operationMonitorSessionList.add(operationMonitorSession); + } + } + + @Override + public String toString() { + return "BackgroundOperationMonitorSession [operationMonitorSessionList=" + + operationMonitorSessionList + "]"; + } + +}