【问题标题】:Retrieve the contents of a previous version of an Alfresco NodeRef检索先前版本的 Alfresco NodeRef 的内容
【发布时间】:2014-05-08 14:45:18
【问题描述】:

我正在尝试检索以前版本的 Alfresco NodeRef 的内容。

String previousDeployedVersion = "1.3";
VersionHistory history = this.versionService.getVersionHistory(nodeRef);

// Retrieve and display all version labels 

ArrayList<Version> versions = (ArrayList<Version>) history.getAllVersions();

for (Version v1 : versions) 
{
  logger("version = " + v1.getVersionLabel());
}

//// In my test, it displays 1.4, 1.3, 1.2, 1.1, 1.0

Version version = history.getVersion(previousDeployedVersion);
NodeRef previousNode = version.getVersionedNodeRef();

ContentReader contentReader = contentService.getReader(previousNode,
    ContentModel.PROP_CONTENT);

String contentString = contentReader.getContentString();
logger("contentString = " + contentString);

/// At this point it display the content of the current version (1.4) of the NodeRef

有人对如何获取以前版本的内容有任何建议吗 还是我做错了什么?

谢谢

【问题讨论】:

    标签: version alfresco


    【解决方案1】:

    从版本中获取冻结状态的 NodeRef。像这样:

    VersionHistory vh = versionService.getVersionHistory(nodeRef);
    Version version = vh.getHeadVersion();
    NodeRef frozenNodeRef = version.getFrozenStateNodeRef();
    // version = vh.getPredecessor(version); // Going  back in history
    ContentReader contentReader = contentService.getReader(frozenNodeRef,
        ContentModel.PROP_CONTENT);
    

    【讨论】:

    • 我改变了这一行 NodeRef previousNode = version.getVersionedNodeRef();到 NodeRef previousNode = version.getFrozenStateNodeRef();它正在工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    相关资源
    最近更新 更多