@Override protected String getVersionSeriesId() { try { return version.getIdentifier(); } catch (RepositoryException e) { return null; } }
@Override protected String getBaseNodeId() throws RepositoryException { return this.version.getIdentifier(); }
public String getUuid() { try { return version.getIdentifier(); } catch (RepositoryException e) { throw new VersionException("Error while retrieving the version UUID", e); } }
@NotNull @Override public String[] perform() throws RepositoryException { List<String> labels = new ArrayList<String>(); for (String label : dlg.getVersionLabels(version.getIdentifier())) { labels.add(sessionContext.getJcrName(label)); } return labels.toArray(new String[labels.size()]); } });
@NotNull @Override public String[] perform() throws RepositoryException { List<String> labels = new ArrayList<String>(); for (String label : dlg.getVersionLabels(version.getIdentifier())) { labels.add(sessionContext.getJcrName(label)); } return labels.toArray(new String[labels.size()]); } });
@Nonnull @Override public String[] perform() throws RepositoryException { List<String> labels = new ArrayList<String>(); for (String label : dlg.getVersionLabels(version.getIdentifier())) { labels.add(sessionContext.getJcrName(label)); } return labels.toArray(new String[labels.size()]); } });
/** {@inheritDoc} */ public String[] getVersionLabels(Version version) throws VersionException, RepositoryException { try { String versionIdentifier = version.getIdentifier(); return remote.getVersionLabels(versionIdentifier); } catch (RemoteException ex) { throw new RemoteRepositoryException(ex); } }
/** {@inheritDoc} */ public void restore(Version version, boolean removeExisting) throws RepositoryException { try { remote.restore(version.getIdentifier(), removeExisting); } catch (RemoteException e) { throw new RemoteRepositoryException(e); } }
/** {@inheritDoc} */ public void doneMerge(String absPath, Version version) throws RepositoryException { try { remote.doneMerge(absPath, version.getIdentifier()); } catch (RemoteException e) { throw new RemoteRepositoryException(e); } }
/** {@inheritDoc} */ public void restore(String absPath, Version version, boolean removeExisting) throws RepositoryException { try { remote.restoreVI(absPath, version.getIdentifier(), removeExisting); } catch (RemoteException e) { throw new RemoteRepositoryException(e); } }
/** {@inheritDoc} */ public void restore(Version[] versions, boolean removeExisting) throws RepositoryException { try { String[] versionIdentifiers = new String[versions.length]; for (int i = 0; i < versions.length; i++) { versionIdentifiers[i] = versions[i].getIdentifier(); } remote.restore(versionIdentifiers, removeExisting); } catch (RemoteException e) { throw new RemoteRepositoryException(e); } }
/** {@inheritDoc} */ public boolean hasVersionLabel(Version version, String label) throws VersionException, RepositoryException { try { String versionIdentifier = version.getIdentifier(); return remote.hasVersionLabel(versionIdentifier, label); } catch (RemoteException ex) { throw new RemoteRepositoryException(ex); } }
/** {@inheritDoc} */ public void cancelMerge(String absPath, Version version) throws RepositoryException { try { remote.cancelMerge(absPath, version.getIdentifier()); } catch (RemoteException e) { throw new RemoteRepositoryException(e); } }
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 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); }
public void testVersionReferencesV0() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); String p = n.getPath(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); Version v0 = vMgr.getVersionHistory(p).getRootVersion(); // check if versionable node has references to root version assertEquals("Root Version", v0.getIdentifier(), n.getProperty(Property.JCR_BASE_VERSION).getString()); assertEquals("Root Version", v0.getIdentifier(), n.getProperty(Property.JCR_PREDECESSORS).getValues()[0].getString()); checkReferences("Root Version", v0.getReferences(), p + "/jcr:baseVersion", p + "/jcr:predecessors" ); }
@Test public void testGetPreviousVersion() throws RepositoryException { // GIVEN Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); Node node = session.getRootNode().addNode("pageTestGetPreviousVersion", NodeTypes.Content.NAME); node.addNode("paragraph", NodeTypes.Content.NAME); session.save(); Version version1_0 = versionManager.addVersion(node); node.addNode("area", NodeTypes.Content.NAME); session.save(); Version version1_1 = versionManager.addVersion(node); // WHEN Version previousVersion1_0 = VersionUtil.getPreviousVersion(version1_0); Version previousVersion1_1 = VersionUtil.getPreviousVersion(version1_1); // THEN assertTrue(version1_0.isSame(previousVersion1_1)); assertEquals(version1_0.getLinearPredecessor().getIdentifier(), previousVersion1_0.getIdentifier()); }
@SuppressWarnings( "deprecation" ) @Test @FixFor( "MODE-1775" ) public void shouldFindVersionNodeByIdentifierAndByUuid() throws Exception { registerNodeTypes(session, "cnd/versioning.cnd"); // Set up parent node and check it in ... Node parent = session.getRootNode().addNode("versionableNode", "ver:versionable"); parent.setProperty("versionProp", "v"); parent.setProperty("copyProp", "c"); parent.setProperty("ignoreProp", "i"); session.save(); Version version = versionManager.checkin(parent.getPath()); // Now look for the version node by identifier, using the different ways to get an identifier ... assertThat(session.getNodeByIdentifier(version.getIdentifier()), is((Node)version)); assertThat(session.getNodeByIdentifier(version.getProperty("jcr:uuid").getString()), is((Node)version)); assertThat(session.getNodeByUUID(version.getProperty("jcr:uuid").getString()), is((Node)version)); }
private static void assertVersionableProperties(final Session session, final String... names) throws RepositoryException { VersionManager vMgr = session.getWorkspace().getVersionManager(); for (final String mixin : MIXINS) { final String pathPrefix = VERSIONABLES_PATH_PREFIX + mixin + "/"; for (final String name : names) { final String path = pathPrefix + name; Node versionable = session.getNode(path); String versionHistoryUuid = versionable.getProperty(JCR_VERSIONHISTORY).getString(); assertEquals(getVersionHistoryForPath(session, path).getIdentifier(), versionHistoryUuid); final Version baseVersion = vMgr.getBaseVersion(path); assertEquals("1.2", baseVersion.getName()); final Value[] predecessors = versionable.getProperty(JCR_PREDECESSORS).getValues(); assertEquals(1, predecessors.length); assertEquals(baseVersion.getIdentifier(), predecessors[0].getString()); } } }
public void testVersionFromQuery() throws RepositoryException, NotExecutableException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); vMgr.checkpoint(n.getPath()); QueryManager qm = superuser.getWorkspace().getQueryManager(); Version v = vMgr.getBaseVersion(n.getPath()); Query q = qm.createQuery("//element(*, nt:version)[@jcr:uuid = '" + v.getIdentifier() + "']", Query.XPATH); NodeIterator nodes = q.execute().getNodes(); assertTrue(nodes.hasNext()); assertTrue(nodes.nextNode() instanceof Version); RowIterator rows = q.execute().getRows(); assertTrue(rows.hasNext()); assertTrue(rows.nextRow().getNode() instanceof Version); }