107 lines
2.9 KiB
Java
107 lines
2.9 KiB
Java
package org.gcube.portlets.user.workspace.client.util;
|
|
|
|
import java.util.List;
|
|
|
|
import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
|
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
|
import org.gcube.portlets.user.workspace.client.event.BulkCreatorEvent;
|
|
import org.gcube.portlets.user.workspace.client.model.BulkCreatorModel;
|
|
import org.gcube.portlets.user.workspace.client.model.MessageModel;
|
|
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceServiceAsync;
|
|
|
|
import com.extjs.gxt.ui.client.Registry;
|
|
import com.google.gwt.user.client.Timer;
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
|
|
/**
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
|
*
|
|
*/
|
|
public class PollingWorkspace {
|
|
|
|
private static int counterNotOpenMessages = -1;
|
|
|
|
private static final GWTWorkspaceServiceAsync rpcWorkspaceService = (GWTWorkspaceServiceAsync) Registry.get(ConstantsExplorer.RPC_WORKSPACE_SERVICE);
|
|
|
|
|
|
public static void pollReceivedMessages(int numberMessagesNotOpen, int milliseconds){
|
|
|
|
counterNotOpenMessages = numberMessagesNotOpen;
|
|
|
|
if(counterNotOpenMessages==-1){
|
|
|
|
rpcWorkspaceService.getNewMessagesReceived(new AsyncCallback<List<MessageModel>>() {
|
|
|
|
@Override
|
|
public void onFailure(Throwable caught) {
|
|
System.out.println("Error in PollingWorkspace - in function getNewMessagesReceived ");
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onSuccess(List<MessageModel> result) {
|
|
// System.out.println("result size " +result.size());
|
|
counterNotOpenMessages = result.size();
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
public static int getCounterNotOpenMessages() {
|
|
return counterNotOpenMessages;
|
|
}
|
|
|
|
|
|
public static void setCounterNotOpenMessages(int counterNotOpenMessages) {
|
|
PollingWorkspace.counterNotOpenMessages = counterNotOpenMessages;
|
|
}
|
|
|
|
public static void pollBulkCreator(int milliseconds){
|
|
|
|
Timer timer = new Timer() {
|
|
@Override
|
|
public void run()
|
|
{
|
|
|
|
System.out.println("New rpc getListFolderBulkCreator..........................");
|
|
|
|
rpcWorkspaceService.getListFolderBulkCreator(new AsyncCallback<List<BulkCreatorModel>>() {
|
|
|
|
@Override
|
|
public void onFailure(Throwable caught) {
|
|
// TODO Auto-generated method stub
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onSuccess(List<BulkCreatorModel> result) {
|
|
if(result.size()>0){
|
|
|
|
// String message = "bulk creator";
|
|
//
|
|
// if(result.size()>1)
|
|
// message = "bulks creators";
|
|
//
|
|
// new InfoDisplay("Bulk Creator", "Found " + result.size() + " new " +message);
|
|
|
|
AppControllerExplorer.getEventBus().fireEvent(new BulkCreatorEvent(result));
|
|
// BulkCreatorWindow.getInstance().addProgressBar(result);
|
|
|
|
// cancel();
|
|
}
|
|
|
|
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
timer.scheduleRepeating(milliseconds);
|
|
}
|
|
}
|