List of usage examples for org.apache.commons.collections.buffer CircularFifoBuffer isEmpty
public boolean isEmpty()
From source file:edu.umn.msi.tropix.webgui.server.messages.MessageManager.java
public Collection<T> drainQueue() { final HttpSession session = httpSessionSupplier.get(); final String sessionId = session.getId(); final String userId = userSession.getGridId(); final List<T> objects = Lists.newArrayList(); if (userId == null) { return objects; }//from ww w. j a v a 2 s. c om CircularFifoBuffer queue; synchronized (userToSessionMap) { if (!userToSessionMap.containsEntry(userId, sessionId)) { final CloseWithSession finalizer = new CloseWithSession(userId, sessionId); session.setAttribute("messageManagerFinalizingObject", finalizer); userToSessionMap.put(userId, sessionId); sessionToUserMap.put(sessionId, userId); } if (!bufferMap.containsKey(sessionId)) { final CircularFifoBuffer objectBuffer = new CircularFifoBuffer(25); bufferMap.put(sessionId, objectBuffer); } queue = bufferMap.get(sessionId); } synchronized (queue) { while (!queue.isEmpty()) { @SuppressWarnings("unchecked") final T object = (T) queue.remove(); if (object == null) { break; } objects.add(object); } } return objects; }