当前位置: 首页>>代码示例>>Java>>正文


Java VersionHistory类代码示例

本文整理汇总了Java中javax.jcr.version.VersionHistory的典型用法代码示例。如果您正苦于以下问题:Java VersionHistory类的具体用法?Java VersionHistory怎么用?Java VersionHistory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


VersionHistory类属于javax.jcr.version包,在下文中一共展示了VersionHistory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getPageByVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Override
public Page getPageByVersion(final String path, final String versionName) {
    return jcrTemplate.execute(session -> {
        Node rootNode = session.getRootNode();
        Node node = JcrUtils.getNodeIfExists(rootNode, path);
        if (node != null) {
            VersionManager vm = session.getWorkspace().getVersionManager();
            VersionHistory history = vm.getVersionHistory("/" + path);
            Version version = history.getVersion(versionName);
            if (version != null) {
                Node frozenNode = version.getFrozenNode();
                return convertNodeToPage(frozenNode);
            } else {
                return null;
            }
        } else {
            return null;
        }
    });
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:21,代码来源:PageServiceImpl.java

示例2: getVersionList

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
protected List<T> getVersionList(Node node, NodeFilter nodeFilter) {
    try {
        List<T> versionList = new ArrayList<T>();
        //VersionHistory versionHistory = node.getVersionHistory();
        VersionHistory versionHistory = JcrUtils.getVersionManager(node.getSession()).getVersionHistory(node.getPath());
        VersionIterator versionIterator = versionHistory.getAllVersions();
        versionIterator.skip(1);
        while (versionIterator.hasNext()) {
            Version version = versionIterator.nextVersion();
            NodeIterator nodeIterator = version.getNodes();
            while (nodeIterator.hasNext()) {
                T entityVersion = getJcrom().fromNode(getEntityClass(), nodeIterator.nextNode(), nodeFilter);
                //Version baseVersion = node.getBaseVersion();
                Version baseVersion = JcrUtils.getVersionManager(node.getSession()).getBaseVersion(node.getPath());
                getJcrom().setBaseVersionInfo(entityVersion, baseVersion.getName(), baseVersion.getCreated());
                versionList.add(entityVersion);
            }
        }
        return versionList;
    } catch (RepositoryException e) {
        throw new JcrMappingException("Could not get version list", e);
    }
}
 
开发者ID:dooApp,项目名称:jcromfx,代码行数:24,代码来源:AbstractJcrDAO.java

示例3: getPageVersions

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Override
public List<PageVersion> getPageVersions(final String path) {
    return jcrTemplate.execute(session -> {
        Node rootNode = session.getRootNode();
        Node node = JcrUtils.getNodeIfExists(rootNode, path);
        if (node != null) {
            VersionManager vm = session.getWorkspace().getVersionManager();
            VersionHistory history = vm.getVersionHistory("/" + path);
            List<PageVersion> versions = new ArrayList<>();
            for (VersionIterator it = history.getAllVersions(); it.hasNext(); ) {
                Version version = (Version) it.next();
                if (!"jcr:rootVersion".equals(version.getName())) {
                    versions.add(convertNodeToPageVersion(version));
                }
            }
            return versions;
        } else {
            return null;
        }
    });
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:22,代码来源:PageServiceImpl.java

示例4: initialize

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
private void initialize() throws RepositoryException {
    if (versionName.equals("latest")) {
        populate(resource, resource.getPath(), 0);
        versionDate = Properties.lastModified(resource);
    }

    VersionManager versionManager = resource.getResourceResolver().adaptTo(Session.class).getWorkspace().getVersionManager();
    try {
        VersionHistory history = versionManager.getVersionHistory(this.resource.getPath());
        VersionIterator versionIterator = history.getAllVersions();
        while (versionIterator.hasNext()) {
            Version next = versionIterator.nextVersion();
            versionSelection.add(new VersionSelectionImpl(next.getName(), next.getCreated().getTime()));
            if (next.getName().equalsIgnoreCase(versionName)) {
                String versionPath = next.getFrozenNode().getPath();
                Resource versionResource = resource.getResourceResolver().resolve(versionPath);
                populate(versionResource, versionPath, 0);
                versionDate = next.getCreated().getTime();
            }
        }
    } catch (javax.jcr.UnsupportedRepositoryOperationException e) {
        log.debug(String.format("node %s not versionable", this.resource.getPath()));
    }
    versionSelection.add(new VersionSelectionImpl("latest", Properties.lastModified(resource)));
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:26,代码来源:PageCompareDataImpl.java

示例5: removeVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Override
public void removeVersion(final FedoraSession session, final String absPath, final String label) {
    final Session jcrSession = getJcrSession(session);
    final Workspace workspace = jcrSession.getWorkspace();
    try {
        final Version v = getVersionForLabel(workspace, absPath, label);
        if (v == null) {
            throw new PathNotFoundException("Unknown version \"" + label + "\"!");
        } else if (workspace.getVersionManager().getBaseVersion(absPath).equals(v) ) {
            throw new VersionException("Cannot remove most recent version snapshot.");
        } else {
            // remove labels
            final VersionHistory history = v.getContainingHistory();
            final String[] versionLabels = history.getVersionLabels(v);
            for ( final String versionLabel : versionLabels ) {
                LOGGER.debug("Removing label: {}", versionLabel);
                history.removeVersionLabel( versionLabel );
            }
            history.removeVersion( v.getName() );
        }
    } catch (final RepositoryException e) {
        throw new RepositoryRuntimeException(e);
    }
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:25,代码来源:VersionServiceImpl.java

示例6: checkpoint

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
private static String checkpoint(final Session session, final String absPath, final String label)
        throws RepositoryException {
    if (!validLabel(label)) {
        throw new VersionException("Invalid label: " + label);
    }

    LOGGER.trace("Setting version checkpoint for {}", absPath);
    final Workspace workspace = session.getWorkspace();
    final VersionManager versionManager = workspace.getVersionManager();
    final VersionHistory versionHistory = versionManager.getVersionHistory(absPath);
    if (versionHistory.hasVersionLabel(label)) {
        throw new LabelExistsVersionException("The specified label \"" + label
                + "\" is already assigned to another version of this resource!");
    }
    final Version v = versionManager.checkpoint(absPath);
    if (v == null) {
        return null;
    }
    versionHistory.addVersionLabel(v.getName(), label, false);
    return v.getFrozenNode().getIdentifier();
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:22,代码来源:VersionServiceImpl.java

示例7: getVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Override
public FedoraResource getVersion(final String label) {
    try {
        final Node n = getFrozenNode(label);

        if (n != null) {
            return new FedoraResourceImpl(n);
        }

        if (isVersioned()) {
            final VersionHistory hist = getVersionManager().getVersionHistory(getPath());

            if (hist.hasVersionLabel(label)) {
                LOGGER.debug("Found version for {} by label {}.", this, label);
                return new FedoraResourceImpl(hist.getVersionByLabel(label).getFrozenNode());
            }
        }

        LOGGER.warn("Unknown version {} with label {}!", getPath(), label);
        return null;
    } catch (final RepositoryException e) {
        throw new RepositoryRuntimeException(e);
    }

}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:26,代码来源:FedoraResourceImpl.java

示例8: testRevertToVersionByLabel

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Test
public void testRevertToVersionByLabel() throws RepositoryException {
    final String versionLabel = "v";
    final VersionManager mockVersionManager = mock(VersionManager.class);
    final VersionHistory mockHistory = mock(VersionHistory.class);
    final Version mockVersion1 = mock(Version.class);
    final Version mockPreRevertVersion = mock(Version.class);
    when(mockVersionManager.checkin(EXAMPLE_VERSIONED_PATH)).thenReturn(mockPreRevertVersion);
    when(mockPreRevertVersion.getContainingHistory()).thenReturn(mockHistory);
    when(mockHistory.hasVersionLabel(versionLabel)).thenReturn(true);
    when(mockHistory.getVersionByLabel(versionLabel)).thenReturn(mockVersion1);
    when(mockWorkspace.getVersionManager()).thenReturn(mockVersionManager);
    when(mockVersionManager.getVersionHistory(EXAMPLE_VERSIONED_PATH)).thenReturn(mockHistory);

    testObj.revertToVersion(testSession, EXAMPLE_VERSIONED_PATH, versionLabel);
    verify(mockVersionManager).restore(mockVersion1, true);

    verify(mockVersionManager, never()).checkpoint(EXAMPLE_VERSIONED_PATH);
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:20,代码来源:VersionServiceImplTest.java

示例9: testGetVersionLabels

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Test
public void testGetVersionLabels() throws RepositoryException {
    when(mockNode.isNodeType(FROZEN_NODE)).thenReturn(true);
    final VersionHistory mockVersionHistory = mock(VersionHistory.class);
    final Version mockVersion = mock(Version.class);
    when(mockVersion.getName()).thenReturn("uuid");
    final Workspace mockWorkspace = mock(Workspace.class);
    when(mockSession.getWorkspace()).thenReturn(mockWorkspace);
    final VersionManager mockVersionManager = mock(VersionManager.class);
    when(mockWorkspace.getVersionManager()).thenReturn(mockVersionManager);
    final VersionIterator mockVersionIterator = mock(VersionIterator.class);
    when(mockVersionHistory.getAllVersions()).thenReturn(mockVersionIterator);
    when(mockVersionIterator.hasNext()).thenReturn(false);

    when(mockVersionManager.getVersionHistory(anyString())).thenReturn(
            mockVersionHistory);

    testObj.getVersions();

    verify(mockVersionManager).getVersionHistory(anyString());
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:22,代码来源:FedoraResourceImplTest.java

示例10: getVersionFiles

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
@Override
public List<VersionFile> getVersionFiles(String path) throws Exception{
	path = processPath(path);
	Node rootNode=getRootNode();
	if (!rootNode.hasNode(path)) {
		throw new RuleException("File [" + path + "] not exist.");
	}
	List<VersionFile> files = new ArrayList<VersionFile>();
	Node fileNode = rootNode.getNode(path);
	VersionHistory versionHistory = versionManager.getVersionHistory(fileNode.getPath());
	VersionIterator iterator = versionHistory.getAllVersions();
	while (iterator.hasNext()) {
		Version version = iterator.nextVersion();
		String versionName = version.getName();
		if (versionName.startsWith("jcr:")) {
			continue; // skip root version
		}
		Node fnode = version.getFrozenNode();
		VersionFile file = new VersionFile();
		file.setName(version.getName());
		file.setPath(fileNode.getPath());
		Property prop = fnode.getProperty(CRATE_USER);
		file.setCreateUser(prop.getString());
		prop = fnode.getProperty(CRATE_DATE);
		file.setCreateDate(prop.getDate().getTime());
		if(fnode.hasProperty(VERSION_COMMENT)){
			prop=fnode.getProperty(VERSION_COMMENT);
			file.setComment(prop.getString());
		}
		files.add(file);
	}
	return files;
}
 
开发者ID:youseries,项目名称:urule,代码行数:34,代码来源:BaseRepositoryService.java

示例11: readVersionFile

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
private InputStream readVersionFile(String path, String version) throws Exception{
	path = processPath(path);
	Node rootNode=getRootNode();
	if (!rootNode.hasNode(path)) {
		throw new RuleException("File [" + path + "] not exist.");
	}
	Node fileNode = rootNode.getNode(path);
	VersionHistory versionHistory = versionManager.getVersionHistory(fileNode.getPath());
	Version v = versionHistory.getVersion(version);
	Node fnode = v.getFrozenNode();
	Property property = fnode.getProperty(DATA);
	Binary fileBinary = property.getBinary();
	return fileBinary.getStream();
}
 
开发者ID:youseries,项目名称:urule,代码行数:15,代码来源:BaseRepositoryService.java

示例12: getVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
protected T getVersion(Node node, String versionName, NodeFilter nodeFilter) {
    try {
        //VersionHistory versionHistory = node.getVersionHistory();
        VersionHistory versionHistory = JcrUtils.getVersionManager(node.getSession()).getVersionHistory(node.getPath());
        Version version = versionHistory.getVersion(versionName);
        return getJcrom().fromNode(getEntityClass(), version.getNodes().nextNode(), nodeFilter);
    } catch (RepositoryException e) {
        throw new JcrMappingException("Could not get version", e);
    }
}
 
开发者ID:dooApp,项目名称:jcromfx,代码行数:11,代码来源:AbstractJcrDAO.java

示例13: removeVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
protected void removeVersion(Node node, String versionName) {
    try {
        //VersionHistory versionHistory = node.getVersionHistory();
        VersionHistory versionHistory = JcrUtils.getVersionManager(node.getSession()).getVersionHistory(node.getPath());
        versionHistory.removeVersion(versionName);
    } catch (RepositoryException e) {
        throw new JcrMappingException("Could not remove version", e);
    }
}
 
开发者ID:dooApp,项目名称:jcromfx,代码行数:10,代码来源:AbstractJcrDAO.java

示例14: getVersionSize

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
protected long getVersionSize(Node node) {
    try {
        //VersionHistory versionHistory = node.getVersionHistory();
        VersionHistory versionHistory = JcrUtils.getVersionManager(node.getSession()).getVersionHistory(node.getPath());
        return versionHistory.getAllVersions().getSize() - 1;
    } catch (RepositoryException e) {
        throw new JcrMappingException("Could not get version history size", e);
    }
}
 
开发者ID:dooApp,项目名称:jcromfx,代码行数:10,代码来源:AbstractJcrDAO.java

示例15: updateVersion

import javax.jcr.version.VersionHistory; //导入依赖的package包/类
protected String updateVersion(Session session, Node nodeByUUID) throws RepositoryException, OleDocStoreException {
    session.save();
    String currentVersion = null;
    if (isVersioningEnabled()) {
        VersionManager versionManager = getVersionManager(session);
        versionManager.checkpoint(nodeByUUID.getPath());
        VersionHistory versionHistory = versionManager.getVersionHistory(nodeByUUID.getPath());
        VersionIterator allVersions = versionHistory.getAllVersions();
        while (allVersions.hasNext()) {
            currentVersion = allVersions.nextVersion().getName();
        }
        logger.info("Version updated for UUID:" + nodeByUUID.getIdentifier() + "  ====  version:" + currentVersion);
    }
    return currentVersion;
}
 
开发者ID:VU-libtech,项目名称:OLE-INST,代码行数:16,代码来源:JcrAbstractDocumentManager.java


注:本文中的javax.jcr.version.VersionHistory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。