/** * Test if workspace-restoring a node works on checked-out node. */ public void testWorkspaceRestoreOnCheckedOutNodeJcr2() throws RepositoryException { VersionManager versionManager = versionableNode.getSession().getWorkspace().getVersionManager(); String path = versionableNode.getPath(); if (!versionManager.isCheckedOut(path)) { versionManager.checkout(path); } superuser.getWorkspace().getVersionManager().restore(new Version[]{version}, true); } }
/** * Tests if VersionHistory.getVersionableIdentifier() returns the ID of the * corresponding versionable node. * @since JCR 2.9 */ public void testGetVersionableIdentifier() throws RepositoryException { VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager(); vm.checkpoint(versionableNode.getPath()); assertEquals("Method getVersionableIdentifier() must return the identifier of the corresponding Node.", vm.getVersionHistory(versionableNode.getPath()).getVersionableIdentifier(), versionableNode.getIdentifier()); } }
/** * @throws RepositoryException */ public void testFrozenChildNodeUUUID() throws RepositoryException { versionableNode.addNode("child"); versionableNode.getSession().save(); VersionManager versionManager = versionableNode.getSession().getWorkspace().getVersionManager(); String path = versionableNode.getPath(); Version v = versionManager.checkin(path); Node n = v.getFrozenNode().getNode("child"); String puuid = n.getProperty(jcrUUID).getValue().getString(); String nuuid = n.getIdentifier(); assertEquals("jcr:uuid needs to be equal to the getIdentifier() return value.", nuuid, puuid); }
/** * Test if workspace-restoring a node works on checked-in node. */ public void testWorkspaceRestoreOnCheckedInNodeJcr2() throws RepositoryException { VersionManager versionManager = versionableNode.getSession().getWorkspace().getVersionManager(); String path = versionableNode.getPath(); if (versionManager.isCheckedOut(path)) { versionManager.checkin(path); } superuser.getWorkspace().getVersionManager().restore(new Version[]{version}, true); }
/** * @throws RepositoryException */ public void testFrozenNodeUUUID() throws RepositoryException { VersionManager versionManager = versionableNode.getSession().getWorkspace().getVersionManager(); String path = versionableNode.getPath(); Version v = versionManager.checkin(path); Node n = v.getFrozenNode(); String puuid = n.getProperty(jcrUUID).getValue().getString(); String nuuid = n.getIdentifier(); assertEquals("jcr:uuid needs to be equal to the getIdentifier() return value.", nuuid, puuid); }
public void testVersionablePathsAfterRename() throws Exception { Node node1 = testRootNode.addNode(nodeName1); node1.addMixin(JcrConstants.MIX_VERSIONABLE); superuser.save(); String destPath = testRoot + "/" + nodeName2; superuser.move(node1.getPath(), destPath); superuser.save(); Node vh = getVersionManager().getVersionHistory(node1.getPath()); assertTrue(vh.isNodeType("rep:VersionablePaths")); String workspaceName = superuser.getWorkspace().getName(); assertTrue(vh.hasProperty(workspaceName)); assertEquals(node1.getPath(), vh.getProperty(workspaceName).getString()); }
public void testFrozenUUID() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); Node child = n.addNode(nodeName2, "nt:folder"); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); Version v = vMgr.checkpoint(n.getPath()); vMgr.checkpoint(n.getPath()); Version baseVersion = vMgr.getBaseVersion(n.getPath()); Node frozenChild = baseVersion.getFrozenNode().getNode(child.getName()); assertEquals(child.getIdentifier(), frozenChild.getProperty(Property.JCR_FROZEN_UUID).getString()); vMgr.restore(v, true); }
/** * VersionManager.merge(): If this node does not have a corresponding node in the * indicated workspace <br> then the merge method returns quietly and no * changes are made.<br> */ public void testMergeNodeNonCorrespondingNodeJcr2() throws RepositoryException { // create new node - this node has no corresponding node in default workspace Node subNode = nodeToMerge.addNode(nodeName3, versionableNodeType); subNode.setProperty(propertyName1, CHANGED_STRING); superuserW2.save(); VersionManager versionManager = subNode.getSession().getWorkspace().getVersionManager(); String path = subNode.getPath(); versionManager.checkin(path); versionManager.merge(path, workspace.getName(), true); assertTrue(subNode.getProperty(propertyName1).getString().equals(CHANGED_STRING)); }
public void testVersionReferencesV1() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); String p = n.getPath(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); Version v1 = vMgr.checkpoint(p); // check if versionable node has references to v1.0 assertEquals("v1.0", v1.getIdentifier(), n.getProperty(Property.JCR_BASE_VERSION).getString()); assertEquals("v1.0", v1.getIdentifier(), n.getProperty(Property.JCR_PREDECESSORS).getValues()[0].getString()); checkReferences("v1.0", v1.getReferences(), p + "/jcr:baseVersion", p + "/jcr:predecessors" ); }
public void testMovedVersionedReferences() throws RepositoryException { Node ref = testRootNode.addNode(nodeName2, testNodeType); ref.addMixin(mixReferenceable); superuser.save(); Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); n.setProperty("myref", ref); superuser.save(); String p = n.getPath(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); Version v1 = vMgr.checkpoint(p); String newPath = testRootNode.getPath() + "/" + nodeName3; superuser.move(ref.getPath(), newPath); superuser.save(); ref = superuser.getNode(newPath); Node frozen = v1.getFrozenNode(); assertEquals("ref", ref.getPath(), frozen.getProperty("myref").getNode().getPath()); checkReferences("ref in version store", ref.getReferences(), n.getPath() + "/myref"); }
public void testFrozenNode() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); Node child = n.addNode(nodeName2, ntUnstructured); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); vMgr.checkpoint(n.getPath()); Version v = vMgr.getBaseVersion(n.getPath()); Node frozenChild = v.getFrozenNode().getNode(child.getName()); assertEquals(ntFrozenNode, frozenChild.getPrimaryNodeType().getName()); }
@FixFor( "MODE-793" ) public void testPropertyCardinalityShouldPropagateToFrozenNode() throws Exception { session = getHelper().getReadWriteSession(); VersionManager versionManager = session.getWorkspace().getVersionManager(); Node root = getTestRoot(session); Node parentNode = root.addNode("checkedOutNodeNopTest"); parentNode.addMixin("mix:versionable"); parentNode.setProperty("foo", new String[] {"bar", "baz"}); session.save(); assertEquals(true, parentNode.getProperty("foo").getDefinition().isMultiple()); Version version = versionManager.checkin(parentNode.getPath()); Node frozenNode = version.getFrozenNode(); assertEquals(true, frozenNode.getProperty("foo").getDefinition().isMultiple()); }
public void testVersionReferencesVH() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); String p = n.getPath(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); VersionHistory vh = vMgr.getVersionHistory(p); // check if versionable node has references to root version assertEquals("Version History", vh.getIdentifier(), n.getProperty(Property.JCR_VERSION_HISTORY).getString()); checkReferences("Version History", vh.getReferences(), p + "/jcr:versionHistory"); }
public void testRestoreRemovedJcr2() throws RepositoryException { String path = versionableNode.getPath(); Version v1 = versionManager.checkin(path); versionableNode.remove(); versionableNode = null; superuser.save(); versionManager.restore(path, v1, true); versionableNode = superuser.getNode(path); String value = versionableNode.getProperty(propertyName1).getString(); assertEquals("Restoring a node must set the correct property.", propertyValue2, value); }
public void testGetTypeOfPredecessors() throws RepositoryException { Node node = testRootNode.addNode(nodeName1, testNodeType); node.addMixin(mixVersionable); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); vMgr.checkin(node.getPath()); assertEquals(PropertyType.nameFromValue(PropertyType.REFERENCE), PropertyType.nameFromValue(node.getProperty(jcrPredecessors).getType())); }
/** * Test if the a label added with VersionHistory.addVersionLabel(String, * String, boolean) corresponds to adding a reference property to the * jcr:versionLabels node of this history node, with the label as name of * the property, and the reference targeting the version. * * @see VersionHistory#addVersionLabel(String, String, boolean) */ public void testAddVersionCheckVersionLabelsNodeJcr2() throws RepositoryException { vHistory.addVersionLabel(version.getName(), versionLabel, false); // get jcr:versionLabels node vHistory = versionableNode.getSession().getWorkspace().getVersionManager().getVersionHistory(versionableNode.getPath()); Node versionLabelNode = vHistory.getNode(jcrVersionLabels); assertTrue("The version label that has been successfully added must be present in the node '" + jcrVersionLabels + "'.", versionLabelNode.getProperty(versionLabel).getString().equals(version.getUUID())); }
/** * Test if the nodes jcr:predecessors property is copied to the new version * on checkin. * * @throws RepositoryException */ public void testPredecessorIsCopiedToNewVersionJcr2() throws RepositoryException { Value[] nPredecessorsValue = versionableNode.getProperty(jcrPredecessors).getValues(); VersionManager versionManager = versionableNode.getSession().getWorkspace().getVersionManager(); String path = versionableNode.getPath(); Version v = versionManager.checkin(path); Value[] vPredecessorsValue = v.getProperty(jcrPredecessors).getValues(); assertEquals("The versionable checked-out node's jcr:predecessors property is copied to the new version on checkin.", Arrays.asList(nPredecessorsValue), Arrays.asList(vPredecessorsValue)); }
public void testGetVersionHistory2() throws Exception { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(JcrConstants.MIX_VERSIONABLE); superuser.save(); Session s = getHelper().getSuperuserSession(); try { VersionHistory vh = s.getWorkspace().getVersionManager().getVersionHistory(n.getPath()); assertNotNull(vh); } finally { s.logout(); } }
public void testGetNodeByIdentifier() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); String id = vMgr.getBaseVersion(n.getPath()).getIdentifier(); assertTrue("Session.getNodeByIdentifier() did not return Version object for a nt:version node.", superuser.getNodeByIdentifier(id) instanceof Version); }