Package javax.jcr.observation

Examples of javax.jcr.observation.EventListener


     */
    public EventListener nextEventListener() {
        if (next == null) {
            throw new NoSuchElementException();
        }
        EventListener l = next;
        fetchNext();
        pos++;
        return l;
    }
View Full Code Here


     */
    public void dispose() {
        try {
            EventListenerIterator it = getRegisteredEventListeners();
            while (it.hasNext()) {
                EventListener l = it.nextEventListener();
                log.debug("removing EventListener: " + l);
                removeEventListener(l);
            }
        } catch (RepositoryException e) {
            log.error("Internal error: Unable to dispose ObservationManager.", e);
View Full Code Here

     */
    public void dispose() {
        try {
            EventListenerIterator it = getRegisteredEventListeners();
            while (it.hasNext()) {
                EventListener l = it.nextEventListener();
                log.debug("removing EventListener: " + l);
                removeEventListener(l);
            }
        } catch (RepositoryException e) {
            log.error("Internal error: Unable to dispose ObservationManager.", e);
View Full Code Here

        synchronized (subscriptions) {
            ensureReadOnlyMap();
            activeListeners = readOnlySubscriptions;
        }
        for (Map.Entry<EventListener, EventFilter> entry : activeListeners.entrySet()) {
            EventListener listener = entry.getKey();
            EventFilter filter = entry.getValue();
            FilteredEventIterator eventIter = new FilteredEventIterator(
                    eventBundle.getEvents(), eventBundle.isLocal(), filter,
                    resolver, wspManager.getIdFactory());
            if (eventIter.hasNext()) {
                try {
                    listener.onEvent(eventIter);
                } catch (Throwable t) {
                    log.warn("EventConsumer threw exception: " + t.toString());
                    log.debug("Stacktrace: ", t);
                    // move on to the next listener
                }
View Full Code Here

        synchronized (subscriptions) {
            ensureReadOnlyMap();
            activeListeners = readOnlySubscriptions;
        }
        for (Map.Entry<EventListener, EventFilter> entry : activeListeners.entrySet()) {
            EventListener listener = entry.getKey();
            EventFilter filter = entry.getValue();
            FilteredEventIterator eventIter = new FilteredEventIterator(
                    eventBundle.getEvents(), eventBundle.isLocal(), filter,
                    resolver, wspManager.getIdFactory());
            if (eventIter.hasNext()) {
                try {
                    listener.onEvent(eventIter);
                } catch (Throwable t) {
                    log.warn("EventConsumer threw exception: " + t.toString());
                    log.debug("Stacktrace: ", t);
                    // move on to the next listener
                }
View Full Code Here

        Session session = lockable.getSession();
        NamePathResolver resolver = new DefaultNamePathResolver(session);

        Lock lock;
        EventListener listener = null;
        try {
            // check whether the lockable can be locked at all
            if (!lockable.isNodeType(resolver.getJCRName(NameConstants.MIX_LOCKABLE))) {
                throw new IllegalArgumentException("Node is not lockable");
            }

            lock = tryLock(lockable, isDeep);
            if (lock != null) {
                return runAndUnlock(lock);
            }

            if (timeout == 0) {
                return TIMED_OUT;
            }

            long timelimit;
            if (timeout == Long.MAX_VALUE) {
                timelimit = Long.MAX_VALUE;
            } else {
                timelimit = System.currentTimeMillis() + timeout;
            }

            // node is locked by other session -> register event listener if possible
            if (isObservationSupported(session)) {
                ObservationManager om = session.getWorkspace().getObservationManager();
                listener = new EventListener() {
                    public void onEvent(EventIterator events) {
                        synchronized (this) {
                            this.notify();
                        }
                    }
View Full Code Here

                }

                // extract the listener id from the remote event and find
                // the locally registered event listener
                Long id = new Long(remoteEvent.getListenerId());
                EventListener listener = (EventListener) listenerMap.get(id);

                // if the listener is not registered (anymore), the event is
                // silently ignored, running is checked and the server asked again
                if (listener == null) {
                    continue;
                }

                // otherwise convert the remote events into an EventIterator
                // and the listener is called
                RemoteEventCollection.RemoteEvent[] remoteEvents = remoteEvent.getEvents();
                EventIterator events = toEvents(remoteEvents);
                try {
                    listener.onEvent(events);
                } catch (Exception e) {
                    log.error("Unexpected failure of Listener " + listener, e);
                }

            } catch (RemoteException re) {
View Full Code Here

     */
    public void dispose() {
        try {
            EventListenerIterator it = getRegisteredEventListeners();
            while (it.hasNext()) {
                EventListener l = it.nextEventListener();
                log.debug("removing EventListener: " + l);
                removeEventListener(l);
            }
        } catch (RepositoryException e) {
            log.error("Internal error: Unable to dispose ObservationManager.", e);
View Full Code Here

     */
    public EventListener nextEventListener() {
        if (next == null) {
            throw new NoSuchElementException();
        }
        EventListener l = next;
        fetchNext();
        pos++;
        return l;
    }
View Full Code Here

    public void testGetSize() throws RepositoryException {
        EventListener[] listeners = toArray(obsMgr.getRegisteredEventListeners());
        assertEquals("A new session must not have any event listeners registered.", 0, listeners.length);

        EventListener listener1 = new EventResult(log);
        EventListener listener2 = new EventResult(log);
        addEventListener(listener1);
        addEventListener(listener2);

        listeners = toArray(obsMgr.getRegisteredEventListeners());
        assertEquals("Wrong number of event listeners.", 2, listeners.length);
View Full Code Here

TOP

Related Classes of javax.jcr.observation.EventListener

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.