@Override public Version getLinearPredecessor() throws RepositoryException { return version.getLinearPredecessor(); }
public Version getLinearPredecessor() throws RepositoryException { return version.getLinearPredecessor(); }
@Override public Version getLinearPredecessor() throws RepositoryException { Version internalVersion = delegate.getLinearPredecessor(); return new VersionFacade<>(internalVersion, session); }
@Override public boolean isAdded() { try { if (isResource()) { Node node = version.getLinearPredecessor().getFrozenNode().getNode(relativePath); return node == null; } else { Property prop = version.getLinearPredecessor().getFrozenNode().getProperty(relativePath); return prop == null; } } catch (Exception e) { } return true; }
@Override public boolean isAdded() { try { if (isResource()) { Node node = version.getLinearPredecessor().getFrozenNode().getNode(relativePath); return node == null; } else { Property prop = version.getLinearPredecessor().getFrozenNode().getProperty(relativePath); return prop == null; } } catch (Exception e) { // no-op } return true; }
@Override public Version getLinearPredecessor() throws RepositoryException { Version linearPredecessor = getWrappedVersion().getLinearPredecessor(); return linearPredecessor != null ? wrapVersion(linearPredecessor) : null; }
@Override public boolean isChanged() { try { if (isResource()) { return false; } Property prop = version.getLinearPredecessor().getFrozenNode().getProperty(relativePath); String currentValue = config.printProperty(prop); String oldValue = config.printProperty(property); return !currentValue.equals(oldValue); } catch (Exception e) { log.error("Unable to check changed status", e); } return false; }
@Override public boolean isChanged() { try { if (isResource()) { return false; } Property prop = version.getLinearPredecessor().getFrozenNode().getProperty(relativePath); String currentValue = config.printProperty(prop); String oldValue = config.printProperty(property); return !currentValue.equals(oldValue); } catch (Exception e) { log.error("Unable to check changed status", e); } return false; }
public JcrVersion execute() throws Exception { return JcrVersion.Wrapper.wrap(getDelegate().getLinearPredecessor(), getJcrSession()); } });
public Version getLinearPredecessor() throws RepositoryException { return VersionWrapper.wrap(getDelegate().getLinearPredecessor(), getSessionWrapper()); }
/** {@inheritDoc} */ public RemoteVersion getLinearPredecessor() throws RepositoryException, RemoteException { try { Version linearPredecessor = version.getLinearPredecessor(); if (linearPredecessor == null) { return null; } else { return getFactory().getRemoteVersion(linearPredecessor); } } catch (RepositoryException ex) { throw getRepositoryException(ex); } }
/** * @see VersionHistory#getAllLinearVersions() */ public VersionIterator getAllLinearVersions() throws RepositoryException { checkStatus(); // TODO: improve and use lazy loading of versions as needed. // TODO: change session.getNodeByUUID to Session.getNodeByIdentifier as soon as implemented List<Version> versions = new ArrayList<Version>(); Version rootV = getRootVersion(); Node vn = session.getNodeByUUID(getVersionableUUID()); Version v = vn.getBaseVersion(); while (v != null && !rootV.isSame(v)) { versions.add(0, v); v = v.getLinearPredecessor(); } versions.add(0, rootV); return new VersionIteratorAdapter(versions); }
/** * @see VersionHistory#getAllLinearVersions() */ public VersionIterator getAllLinearVersions() throws RepositoryException { checkStatus(); // TODO: improve and use lazy loading of versions as needed. // TODO: change session.getNodeByUUID to Session.getNodeByIdentifier as soon as implemented List<Version> versions = new ArrayList<Version>(); Version rootV = getRootVersion(); Node vn = session.getNodeByUUID(getVersionableUUID()); Version v = vn.getBaseVersion(); while (v != null && !rootV.isSame(v)) { versions.add(0, v); v = v.getLinearPredecessor(); } versions.add(0, rootV); return new VersionIteratorAdapter(versions); }
/** * @see Version#getLinearSuccessor() */ public Version getLinearSuccessor() throws RepositoryException { // TODO: improve. VersionHistory vh = getContainingHistory(); for (VersionIterator it = vh.getAllLinearVersions(); it.hasNext();) { Version v = it.nextVersion(); if (isSame(v.getLinearPredecessor())) { return v; } } // no linear successor found return null; }
/** * @see Version#getLinearSuccessor() */ public Version getLinearSuccessor() throws RepositoryException { // TODO: improve. VersionHistory vh = getContainingHistory(); for (VersionIterator it = vh.getAllLinearVersions(); it.hasNext();) { Version v = it.nextVersion(); if (isSame(v.getLinearPredecessor())) { return v; } } // no linear successor found return null; }
/** * Checks obtaining the linear predecessor. * @since JCR 2.0 */ public void testGetLinearPredecessorSuccessor() throws RepositoryException { String path = versionableNode.getPath(); VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager(); // get the previous version Version pred = vm.getBaseVersion(path); // shouldn't have a predecessor assertNull(pred.getLinearPredecessor()); // shouldn't have a successor yet assertNull(pred.getLinearSuccessor()); // check root version Version root = vm.getVersionHistory(path).getRootVersion(); assertNull(root.getLinearSuccessor()); // create a new version vm.checkout(path); Version version = vm.checkin(path); // refresh the predecessor pred = (Version)versionableNode.getSession().getNode(pred.getPath()); assertTrue("linear predecessor of new version should be previous version", version.getLinearPredecessor().isSame(pred)); assertTrue("linear successor of previous version should be new version", pred.getLinearSuccessor().isSame(version)); }
@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()); }
@Test public void testLinearPredecessorIsWrapped() throws Exception { // GIVEN Session session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); VersionManager versionMan = Components.getComponent(VersionManager.class); Node node = session.getRootNode().addNode( "page", NodeTypes.Page.NAME); session.save(); Version createdVersion_1 = versionMan.addVersion(node); Version createdVersion_2 = versionMan.addVersion(node); // WHEN Version version = createdVersion_2.getLinearPredecessor(); // THEN assertTrue(version instanceof ContentDecoratorVersionWrapper); assertTrue(version.isSame(createdVersion_1)); }