2013-02-06 15:40:17 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
package org.gcube.portlets.user.workspace.server.util;
|
|
|
|
|
|
|
|
import java.util.concurrent.BlockingQueue;
|
|
|
|
import java.util.concurrent.LinkedBlockingQueue;
|
|
|
|
|
2013-10-04 13:58:07 +02:00
|
|
|
import org.apache.log4j.Logger;
|
2013-09-27 17:39:28 +02:00
|
|
|
import org.gcube.common.homelibrary.home.workspace.events.WorkspaceEvent;
|
|
|
|
import org.gcube.common.homelibrary.home.workspace.events.WorkspaceListener;
|
2013-02-06 15:40:17 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Federico De Faveri defaveri@isti.cnr.it
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class WorkspaceEventCollector implements WorkspaceListener {
|
|
|
|
|
2015-05-29 16:09:42 +02:00
|
|
|
protected static Logger logger = Logger.getLogger(WorkspaceEventCollector.class);
|
2013-02-06 15:40:17 +01:00
|
|
|
|
|
|
|
protected BlockingQueue<WorkspaceEvent> eventsQueue = new LinkedBlockingQueue<WorkspaceEvent>();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param logger
|
|
|
|
*/
|
2015-05-29 16:09:42 +02:00
|
|
|
public WorkspaceEventCollector() {
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritDoc}
|
|
|
|
*/
|
|
|
|
public void workspaceEvent(WorkspaceEvent event) {
|
|
|
|
try {
|
|
|
|
logger.trace("EventCollector workspaceEvent"+event);
|
|
|
|
eventsQueue.put(event);
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
logger.warn("Error adding a new event", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public WorkspaceEvent getEvent() throws InterruptedException
|
|
|
|
{
|
|
|
|
logger.trace("getEvent");
|
|
|
|
return eventsQueue.take();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|