public boolean addResult(Object object) { if (resultCount == 0) { throw new IllegalStateException("Maximum number of results exceeded"); //$NON-NLS-1$ } queryResult.getQueue().add(object); return !cancelled && --resultCount > 0; }
public E take() throws InterruptedException { QueueEntry<E> entry = null; entry = queue.take(); return checkObject(entry); }
public void query(CDOView view, AbstractQueryIterator<?> query) { InternalView serverView = serverSessionProtocol.getSession().getView(view.getViewID()); InternalQueryManager queryManager = repository.getQueryManager(); InternalQueryResult result = queryManager.execute(serverView, query.getQueryInfo()); query.setQueryID(result.getQueryID()); CDOQueryQueue<Object> resultQueue = query.getQueue(); try { while (result.hasNext()) { Object object = result.next(); resultQueue.add(object); } } catch (RuntimeException ex) { resultQueue.setException(ex); } catch (Throwable throwable) { resultQueue.setException(new RuntimeException(throwable.getMessage(), throwable)); } finally { resultQueue.close(); } }
public void run() { InternalSession session = queryResult.getView().getSession(); StoreThreadLocal.setSession(session); try { started = true; CDOQueryInfo info = queryResult.getQueryInfo(); resultCount = info.getMaxResults() < 0 ? Integer.MAX_VALUE : info.getMaxResults(); IQueryHandler handler = repository.getQueryHandler(info); handler.executeQuery(info, this); } catch (Throwable exception) { queryResult.getQueue().setException(exception); } finally { queryResult.getQueue().close(); unregister(this); StoreThreadLocal.release(); } }
resultQueue.add(element); numberOfObjectsReceived++; resultQueue.setException(ex); resultQueue.setException(new RuntimeException(throwable.getMessage(), throwable)); resultQueue.close();
public E remove() { return checkObject(queue.remove()); }
public E poll() { QueueEntry<E> entry = queue.poll(); return checkObject(entry); }
public E element() { return checkObject(queue.element()); }
public E poll(long timeout, TimeUnit unit) throws InterruptedException { return checkObject(queue.poll(timeout, unit)); }
public E peek() { return checkObject(queue.peek()); }