Examples of EventResult


Examples of org.apache.jackrabbit.test.api.observation.EventResult

        testRootNode.addNode(nodeName1, testNodeType).addMixin(mixReferenceable);
        testRootNode.addNode(nodeName2, testNodeType).addMixin(mixLockable);
        testRootNode.addNode(nodeName3, testNodeType).addMixin(mixReferenceable);
        testRootNode.save();

        EventResult propertyAddedListener = new EventResult(log);
        addEventListener(propertyAddedListener, new String[]{mixReferenceable, mixLockable}, Event.PROPERTY_ADDED);
        try {
            testRootNode.getNode(nodeName1).setProperty(propertyName1, "test");
            testRootNode.getNode(nodeName2).setProperty(propertyName1, "test");
            testRootNode.getNode(nodeName3).setProperty(propertyName1, "test");
            testRootNode.save();

            Event[] added = propertyAddedListener.getEvents(DEFAULT_WAIT_TIMEOUT);
            checkPropertyAdded(added, new String[]{nodeName1 + "/" + propertyName1,
                                                   nodeName2 + "/" + propertyName1,
                                                   nodeName3 + "/" + propertyName1});
        } finally {
            removeEventListener(propertyAddedListener);
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        Node node3 = testRootNode.addNode(nodeName3, testNodeType);
        node3.addMixin(mixLockable);
        node3.addMixin(mixReferenceable);
        testRootNode.save();

        EventResult propertyAddedListener = new EventResult(log);
        addEventListener(propertyAddedListener, new String[]{mixReferenceable}, Event.PROPERTY_ADDED);
        try {
            node1.setProperty(propertyName1, "test");
            node2.setProperty(propertyName1, "test");
            node3.setProperty(propertyName1, "test");
            testRootNode.save();

            Event[] added = propertyAddedListener.getEvents(DEFAULT_WAIT_TIMEOUT);
            checkPropertyAdded(added, new String[]{nodeName1 + "/" + propertyName1,
                                                   nodeName3 + "/" + propertyName1});
        } finally {
            removeEventListener(propertyAddedListener);
        }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        Node node1 = testRootNode.addNode(nodeName1, testNodeType);
        node1.addMixin(mixVersionable);

        testRootNode.save();

        EventResult propertyAddedListener = new EventResult(log);
        // mix:versionable is derived from mix:referenceable
        addEventListener(propertyAddedListener, new String[]{mixReferenceable}, Event.PROPERTY_ADDED);
        try {
            node1.setProperty(propertyName1, "test");
            testRootNode.save();

            Event[] added = propertyAddedListener.getEvents(DEFAULT_WAIT_TIMEOUT);
            checkPropertyAdded(added, new String[]{nodeName1 + "/" + propertyName1});
        } finally {
            removeEventListener(propertyAddedListener);
        }
    }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

    private static final String MESSAGE = "Save call with event notification thread detected";

    public void testWarning() throws Exception {
        final List<Exception> exceptions = new ArrayList<Exception>();
        EventResult result = new EventResult(log) {
            @Override
            public void onEvent(EventIterator events) {
                try {
                    Session s = getHelper().getSuperuserSession();
                    try {
                        s.getNode(testRoot).addNode("bar");
                        s.save();
                    } finally {
                        s.logout();
                    }
                } catch (RepositoryException e) {
                    exceptions.add(e);
                }
                super.onEvent(events);
            }
        };
        addEventListener(result);

        Tail tail = Tail.start(new File("target", "jcr.log"), MESSAGE);
        try {
            testRootNode.addNode("foo");
            superuser.save();

            removeEventListener(result);
            result.getEvents(5000);
            assertTrue("Warn message expected in log file.",
                    tail.getLines().iterator().hasNext());
        } finally {
            tail.close();
        }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        Privilege[] dnPrivs = privilegesFromName(Privilege.JCR_READ);
        withdrawPrivileges(path, dnPrivs, getRestrictions(superuser, path));

        // testUser registers a event listener for 'path
        ObservationManager obsMgr = testSession.getWorkspace().getObservationManager();
        EventResult listener = new EventResult(((JUnitTest) this).log);
        try {
            obsMgr.addEventListener(listener, Event.NODE_REMOVED, path, true, new String[0], new String[0], true);

            // superuser removes the node with childNPath in order to provoke
            // events being generated
            superuser.getItem(childNPath).remove();
            superuser.save();

            obsMgr.removeEventListener(listener);
            // since the testUser does not have read-permission on the removed
            // node, no corresponding event must be generated.
            Event[] evts = listener.getEvents(DEFAULT_WAIT_TIMEOUT);
            for (Event evt : evts) {
                if (evt.getType() == Event.NODE_REMOVED &&
                        evt.getPath().equals(childNPath)) {
                    fail("TestUser does not have READ permission below " + path + " -> events below must not show up.");
                }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        assertTrue(obsMgr instanceof JackrabbitObservationManager);
    }

    public void testDisjunctPaths() throws ExecutionException, InterruptedException, RepositoryException {
        JackrabbitObservationManager oManager = (JackrabbitObservationManager) obsMgr;
        EventResult listener = new EventResult(log);
        JackrabbitEventFilter filter = new JackrabbitEventFilter()
                .setAdditionalPaths('/' + testPath + "/a", '/' + testPath + "/x")
                .setEventTypes(NODE_ADDED);
        oManager.addEventListener(listener, filter);
        try {
            Node b = testRootNode.addNode("a").addNode("b");
            b.addNode("c");
            Node y = testRootNode.addNode("x").addNode("y");
            y.addNode("z");
            testRootNode.getSession().save();

            Event[] added = listener.getEvents(DEFAULT_WAIT_TIMEOUT);
            checkNodeAdded(added, new String[] {"a/b", "x/y"}, null);
        } finally {
            oManager.removeEventListener(listener);
        }
    }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

    }

    public void testRenameEventHandling() throws RepositoryException {
        Session s = getHelper().getSuperuserSession();
        ObservationManager mgr = s.getWorkspace().getObservationManager();
        EventResult result = new EventResult(log);

        try {
            mgr.addEventListener(result, Event.PERSIST|Event.NODE_ADDED|Event.NODE_MOVED|Event.NODE_REMOVED, testRootNode.getPath(), true, null, null, false);

            NodeIterator it = testRootNode.getNodes();

            Node n = it.nextNode();
            String name = n.getName();

            JackrabbitNode node = (JackrabbitNode) n;
            node.rename(name.toUpperCase());
            superuser.save();

            boolean foundMove = false;
            for (Event event : result.getEvents(5000)) {
                if (Event.NODE_MOVED == event.getType()) {
                    foundMove = true;
                    break;
                }
            }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        // create versionable node
        Node n1 = testRootNode.addNode(nodeName1);
        n1.addMixin(mixVersionable);
        testRootNode.save();

        EventResult listener = new EventResult(log);
        addEventListener(listener, Event.NODE_ADDED);
        Version v = n1.checkin();
        removeEventListener(listener);

        Event[] events = listener.getEvents(1000);
        Set paths = new HashSet();
        for (int i = 0; i < events.length; i++) {
            paths.add(events[i].getPath());
        }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        // create versionable node
        Node n1 = testRootNode.addNode(nodeName1);
        n1.addMixin(mixVersionable);
        testRootNode.save();

        EventResult listener = new EventResult(log);
        addEventListener(listener, Event.NODE_ADDED);

        // use a transaction
        UserTransaction utx = new UserTransactionImpl(superuser);
        // start transaction
        utx.begin();
        Version v = n1.checkin();
        // commit transaction
        utx.commit();

        removeEventListener(listener);

        Event[] events = listener.getEvents(1000);
        Set paths = new HashSet();
        for (int i = 0; i < events.length; i++) {
            paths.add(events[i].getPath());
        }
View Full Code Here

Examples of org.apache.jackrabbit.test.api.observation.EventResult

        String versionPath = v.getPath();

        n1.remove();
        testRootNode.save();

        EventResult listener = new EventResult(log);
        addEventListener(listener, Event.NODE_REMOVED);
        v.getContainingHistory().removeVersion(v.getName());
        removeEventListener(listener);

        Event[] events = listener.getEvents(1000);
        Set paths = new HashSet();
        for (int i = 0; i < events.length; i++) {
            paths.add(events[i].getPath());
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.