Package javax.jcr.observation

Examples of javax.jcr.observation.ObservationManager


        final List<Event> failedEvents = new ArrayList<Event>();
        final AtomicReference<CountDownLatch> eventCount = new AtomicReference<CountDownLatch>();
        final Session observingSession = createAnonymousSession();
        try {
            ObservationManager obsMgr = observingSession.getWorkspace().getObservationManager();
            obsMgr.addEventListener(new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        Event event = events.nextEvent();
                        try {
View Full Code Here


        final List<Event> failedEvents = new ArrayList<Event>();
        final AtomicReference<CountDownLatch> eventCount = new AtomicReference<CountDownLatch>();

        final Session observingSession = createAnonymousSession();
        try {
            ObservationManager obsMgr = observingSession.getWorkspace().getObservationManager();
            obsMgr.addEventListener(new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        Event event = events.nextEvent();
                        try {
View Full Code Here

        final AtomicReference<CountDownLatch> hasEvents = new AtomicReference<CountDownLatch>(new CountDownLatch(1));
        final AtomicReference<CountDownLatch> waitForRemove = new AtomicReference<CountDownLatch>(new CountDownLatch(1));
        final Session observingSession = createAdminSession();
        try {
            final ObservationManager obsMgr = observingSession.getWorkspace().getObservationManager();
            final EventListener listener = new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        events.next();
                        hasEvents.get().countDown();
                        try {
                            // After receiving an event wait until event listener is removed
                            waitForRemove.get().await();
                        }
                        catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                        }
                    }
                }
            };

            obsMgr.addEventListener(listener, Event.NODE_ADDED | Event.NODE_REMOVED | Event.NODE_MOVED |
                    Event.PROPERTY_ADDED | Event.PROPERTY_REMOVED | Event.PROPERTY_CHANGED | Event.PERSIST,
                    "/", true, null, null, false);

            // Generate two events
            Node n = getNode(TEST_PATH);
            n.setProperty("prop1", "val1");
            n.setProperty("prop2", "val2");
            n.getSession().save();

            // Make sure we see the first event
            assertTrue(hasEvents.get().await(2, TimeUnit.SECONDS));

            // Remove event listener before it receives the second event
            Executors.newSingleThreadExecutor().submit(new Callable<Void>() {
                @Override
                public Void call() throws Exception {
                    obsMgr.removeEventListener(listener);
                    return null;
                }
            }).get(2, TimeUnit.SECONDS);
            hasEvents.set(new CountDownLatch(1));
            waitForRemove.get().countDown();
View Full Code Here

    @Test
    public void observationOnRootNode() throws Exception {
        final AtomicReference<CountDownLatch> hasEvents = new AtomicReference<CountDownLatch>(new CountDownLatch(1));
        Session observingSession = createAdminSession();
        try {
            ObservationManager obsMgr = observingSession.getWorkspace().getObservationManager();
            EventListener listener = new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        events.next();
                        hasEvents.get().countDown();
                    }
                }
            };

            obsMgr.addEventListener(listener, Event.PROPERTY_ADDED,
                    "/", true, null, null, false);

            // add property to root node
            Node root = getNode("/");
            root.setProperty("prop", "value");
            root.getSession().save();

            assertTrue(hasEvents.get().await(2, TimeUnit.SECONDS));
            obsMgr.removeEventListener(listener);
        } finally {
            observingSession.logout();
        }
    }
View Full Code Here

        final Set<String> removeProperties = toSet(
                TEST_PATH + "/1/prop2");

        final List<Event> failedEvents = new ArrayList<Event>();

        ObservationManager obsMgr = getSession().getWorkspace().getObservationManager();
        obsMgr.setUserData("my user data");
        obsMgr.addEventListener(new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        Event event = events.nextEvent();
                        try {
View Full Code Here

                TEST_PATH + "/2/jcr:primaryType");


        final List<Event> failedEvents = new ArrayList<Event>();

        ObservationManager obsMgr = getSession().getWorkspace().getObservationManager();
        obsMgr.setUserData("my user data");
        obsMgr.addEventListener(new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        Event event = events.nextEvent();
                        try {
View Full Code Here

    @Ignore // TODO implement observation
    @Test
    public void observationNoEvents() throws RepositoryException, InterruptedException {
        final List<Event> failedEvents = new ArrayList<Event>();

        ObservationManager obsMgr = getSession().getWorkspace().getObservationManager();
        obsMgr.setUserData("my user data");
        obsMgr.addEventListener(new EventListener() {
                @Override
                public void onEvent(EventIterator events) {
                    while (events.hasNext()) {
                        failedEvents.add(events.nextEvent());
                    }
View Full Code Here

    public void observationDispose() throws RepositoryException, ExecutionException, TimeoutException,
                InterruptedException {

        final List<Event> failedEvents = new ArrayList<Event>();

        final ObservationManager obsMgr = getSession().getWorkspace().getObservationManager();
        obsMgr.setUserData("my user data");
        final EventListener listener = new EventListener() {
            @Override
            public void onEvent(EventIterator events) {
                while (events.hasNext()) {
                    failedEvents.add(events.nextEvent());
                }
            }
        };
        obsMgr.addEventListener(listener, Event.NODE_ADDED | Event.NODE_REMOVED | Event.NODE_MOVED |
            Event.PROPERTY_ADDED | Event.PROPERTY_REMOVED | Event.PROPERTY_CHANGED | Event.PERSIST,
            "/", true, null, null, false);

        FutureTask<Object> disposer = new FutureTask<Object>(new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                obsMgr.removeEventListener(listener);
                return null;
            }
        });

        Thread.sleep(250);
View Full Code Here

            if (repConfig.getSearchConfig() != null) {
                SystemSession defSysSession = getSystemSession(wspName);
                systemSearchMgr = new SearchManager(repConfig.getSearchConfig(),
                        nsReg, ntReg, defSysSession.getItemStateManager(),
                        vMgr.getPersistenceManager(), SYSTEM_ROOT_NODE_ID, null, null);
                ObservationManager obsMgr = defSysSession.getWorkspace().getObservationManager();
                obsMgr.addEventListener(systemSearchMgr, Event.NODE_ADDED
                        | Event.NODE_REMOVED | Event.PROPERTY_ADDED
                        | Event.PROPERTY_CHANGED | Event.PROPERTY_REMOVED,
                        "/" + defSysSession.getJCRName(NameConstants.JCR_SYSTEM),
                        true, null, null, false);
            }
View Full Code Here

        this.dispatcher = dispatcher;
        this.session = session;
        this.pathPrefix = pathPrefix;
        if (session != null) {
            try {
                ObservationManager manager =
                    session.getWorkspace().getObservationManager();
                this.userData = ((ObservationManagerImpl) manager).getUserData();
            } catch (RepositoryException e) {
                // should never happen because this
                // implementation supports observation
View Full Code Here

TOP

Related Classes of javax.jcr.observation.ObservationManager

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.