Package org.apache.jackrabbit.core

Examples of org.apache.jackrabbit.core.NodeImpl


                "   <sv:property sv:name=\"jcr:primaryType\" sv:type=\"Name\"><sv:value>rep:User</sv:value></sv:property>" +
                "   <sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>" +mismatchUUID+ "</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:password\" sv:type=\"String\"><sv:value>{sha1}8efd86fb78a56a5145ed7739dcb00c78581c5375</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>t</sv:value></sv:property></sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getUsersPath());
        try {
            doImport(target, xml);

            assertTrue(target.isModified());
            assertTrue(sImpl.hasPendingChanges());

            // node must be present:
            assertTrue(target.hasNode("t"));
            NodeImpl n = (NodeImpl) target.getNode("t");
            assertEquals(mismatchUUID, n.getUUID());

            // but UserManager.getAuthorizable(String) will not find the
            // authorizable
            Authorizable newUser = umgr.getAuthorizable("t");
            assertNull(newUser);
View Full Code Here


                "   <sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>e358efa4-89f5-3062-b10d-d7316b65649e</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:password\" sv:type=\"String\"><sv:value>{sha1}8efd86fb78a56a5145ed7739dcb00c78581c5375</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>"+ existing.getName() +"</sv:value></sv:property>" +
                "</sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getUsersPath());
        try {
            doImport(target, xml);
            fail("Import must detect conflicting principals.");
        } catch (SAXException e) {
            // success
View Full Code Here

                "   <sv:property sv:name=\"jcr:primaryType\" sv:type=\"Name\"><sv:value>rep:Group</sv:value></sv:property>" +
                "   <sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>0120a4f9-196a-3f9e-b9f5-23f31f914da7</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>g</sv:value></sv:property>" +
                "</sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);
            fail("Import must detect conflicting principals.");
        } catch (SAXException e) {
            // success
View Full Code Here

         importing a group with a multi-valued rep:principalName property
         - nonProtected node rep:Group must be created.
         - protected property rep:principalName must be ignored
         - saving changes must fail with ConstraintViolationEx.
         */
        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);

            assertTrue(target.isModified());
            assertTrue(sImpl.hasPendingChanges());

            Authorizable newGroup = umgr.getAuthorizable("g");
            assertNotNull(newGroup);

            assertTrue(target.hasNode("g"));
            assertTrue(target.hasProperty("g/rep:principalName"));
            assertFalse(target.getProperty("g/rep:principalName").getDefinition().isProtected());

            // saving changes of the import -> must fail as mandatory prop is missing
            try {
                sImpl.save();
                fail("Import must be incomplete. Saving changes must fail.");
            } catch (ConstraintViolationException e) {
                // success
            }

        } finally {
            sImpl.refresh(false);
            if (target.hasNode("g")) {
                target.getNode("g").remove();
                sImpl.save();
            }
        }
    }
View Full Code Here

                "   <sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>e358efa4-89f5-3062-b10d-d7316b65649e</sv:value></sv:property>" +
                "   <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>t</sv:value></sv:property>" +
                "</sv:node>");

        for (String xml : incompleteXml) {
            NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getUsersPath());
            try {
                doImport(target, xml);
                // saving changes of the import -> must fail as mandatory prop is missing
                try {
                    sImpl.save();
                    fail("Import must be incomplete. Saving changes must fail.");
                } catch (ConstraintViolationException e) {
                    // success
                }
            } finally {
                sImpl.refresh(false);
                if (target.hasNode("t")) {
                    target.getNode("t").remove();
                    sImpl.save();
                }
            }
        }
    }
View Full Code Here

        /*
         importing a group without rep:principalName property
         - saving changes must fail with ConstraintViolationEx.
         */
        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);
            // saving changes of the import -> must fail as mandatory prop is missing
            try {
                sImpl.save();
                fail("Import must be incomplete. Saving changes must fail.");
            } catch (ConstraintViolationException e) {
                // success
            }

        } finally {
            sImpl.refresh(false);
            if (target.hasNode("g")) {
                target.getNode("g").remove();
                sImpl.save();
            }
        }
    }
View Full Code Here

                            "</sv:node>" +
                        "</sv:node>" +
                    "</sv:node>" +
                "</sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getUsersPath());
        try {
            doImport(target, xml);

            assertTrue(target.isModified());
            assertTrue(sImpl.hasPendingChanges());

            Authorizable newUser = umgr.getAuthorizable("t3");
            assertNotNull(newUser);
            assertFalse(newUser.isGroup());
            assertEquals("t3", newUser.getPrincipal().getName());
            assertEquals("t3", newUser.getID());

            NodeImpl n = ((UserImpl) newUser).getNode();
            assertTrue(n.isNew());

            Node parent = n.getParent();
            assertFalse(n.isSame(target));
            assertTrue(((NodeImpl) parent).isNodeType(UserConstants.NT_REP_AUTHORIZABLE_FOLDER));
            assertFalse(parent.getDefinition().isProtected());

            assertTrue(target.hasNode("some"));
            assertTrue(target.hasNode("some/intermediate/path"));
View Full Code Here

    public void testImportNewMembers() throws IOException, RepositoryException, SAXException, NotExecutableException {
        String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><sv:node sv:name=\"gFolder\" xmlns:mix=\"http://www.jcp.org/jcr/mix/1.0\" xmlns:nt=\"http://www.jcp.org/jcr/nt/1.0\" xmlns:fn_old=\"http://www.w3.org/2004/10/xpath-functions\" xmlns:fn=\"http://www.w3.org/2005/xpath-functions\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:sv=\"http://www.jcp.org/jcr/sv/1.0\" xmlns:rep=\"internal\" xmlns:jcr=\"http://www.jcp.org/jcr/1.0\">" +
                "<sv:property sv:name=\"jcr:primaryType\" sv:type=\"Name\"><sv:value>rep:AuthorizableFolder</sv:value></sv:property><sv:node sv:name=\"g\"><sv:property sv:name=\"jcr:primaryType\" sv:type=\"Name\"><sv:value>rep:Group</sv:value></sv:property><sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>b2f5ff47-4366-31b6-a533-d8dc3614845d</sv:value></sv:property><sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>g</sv:value></sv:property></sv:node><sv:node sv:name=\"g1\"><sv:property sv:name=\"jcr:primaryType\" sv:type=\"Name\"><sv:value>rep:Group</sv:value></sv:property><sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>0120a4f9-196a-3f9e-b9f5-23f31f914da7</sv:value></sv:property><sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>g1</sv:value></sv:property><sv:property sv:name=\"rep:members\" sv:type=\"WeakReference\"><sv:value>b2f5ff47-4366-31b6-a533-d8dc3614845d</sv:value></sv:property></sv:node></sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);

            Group g = (Group) umgr.getAuthorizable("g");
            assertNotNull(g);
            Group g1 = (Group) umgr.getAuthorizable("g1");
            assertNotNull(g1);

            NodeImpl n = ((AuthorizableImpl) g1).getNode();
            assertTrue(n.hasProperty(UserConstants.P_MEMBERS));

            // getWeakReferences only works upon save.
            sImpl.save();

            assertTrue(g1.isMember(g));          
View Full Code Here

                "       <sv:property sv:name=\"jcr:uuid\" sv:type=\"String\"><sv:value>b2f5ff47-4366-31b6-a533-d8dc3614845d</sv:value></sv:property>" +
                "       <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>g</sv:value></sv:property>" +
                "   </sv:node>" +
                "</sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);

            Group g = (Group) umgr.getAuthorizable("g");
            assertNotNull(g);
            Group g1 = (Group) umgr.getAuthorizable("g1");
            assertNotNull(g1);

            NodeImpl n = ((AuthorizableImpl) g1).getNode();
            assertTrue(n.hasProperty(UserConstants.P_MEMBERS));

            // getWeakReferences only works upon save.           
            sImpl.save();

            assertTrue(g1.isMember(g));
View Full Code Here

                "       <sv:property sv:name=\"rep:principalName\" sv:type=\"String\"><sv:value>g1</sv:value></sv:property>" +
                "       <sv:property sv:name=\"rep:members\" sv:type=\"WeakReference\"><sv:value>" +uuid+ "</sv:value></sv:property>" +
                "   </sv:node>" +
                "</sv:node>";

        NodeImpl target = (NodeImpl) sImpl.getNode(umgr.getGroupsPath());
        try {
            doImport(target, xml);

            Group g1 = (Group) umgr.getAuthorizable("g1");
            assertNotNull(g1);

            // getWeakReferences only works upon save.
            sImpl.save();

            assertTrue(g1.isMember(admin));

            boolean found = false;
            for (Iterator<Group> it = admin.declaredMemberOf(); it.hasNext() && !found;) {
                found = "g1".equals(it.next().getID());
            }
            assertTrue(found);

        } finally {
            sImpl.refresh(false);
            target.getNode("gFolder").remove();
            sImpl.save();
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.core.NodeImpl

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.