首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能得到一个旧版本的节点的属性?

我怎样才能得到一个旧版本的节点的属性?
EN

Stack Overflow用户
提问于 2012-12-20 16:30:31
回答 2查看 1.7K关注 0票数 8

我已经创建了节点,并创建了3个版本。

代码语言:javascript
复制
String path = "/my111";
MyClass m1  = new  MyClass();
m1.setPath(path);
m1.setName("Myname");
m1.setLanguage("English");      
ocm.create(m1);
ocm.save();     

for (int i = 0; i < 4; i++) {
 ocm.checkout(path);
 m1.setName("mz676666" + i);
 ocm.update(m1);
 ocm.save();
 ocm.checkin(path);         
  } 

 VersionIterator iterator = ocm.getAllVersions(path);
 while (iterator.hasNext()) {
      Version version = (Version)iterator.next();
       System.out.println("version::"+version.getName());           
}


Output :

version::jcr:rootVersion
version::1.0
version::1.1
version::1.2
version::1.3

现在我想获取一个版本1.2name

我试过了

代码语言:javascript
复制
org.apache.jackrabbit.ocm.version.VersionIterator iterator = ocm.getAllVersions(path);
    while (iterator.hasNext()) {
        Version version = (Version)iterator.next();
        System.out.println("version::"+version.getName());

    MyClass m1 = (MyClass) ocm.getObject(path, version.getName());
    System.out.println(m1.getName());  // But it always print `null`. Why??
}

是否可以触发查询并获取数据?

我如何才能做到这一点?

请回答这个问题。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-25 19:52:46

我已经很长时间没有用过杰克兔了,所以我可能是错的。

但据我所知,以前版本节点的内容存储为version节点下的冻结节点。

因此,我认为您可以尝试使用以下命令来检索它:

代码语言:javascript
复制
VersionIterator iterator = ocm.getAllVersions(path);

while (iterator.hasNext()) {
    Version version = (Version)iterator.next();

    //Here you go:
    MarketingZone m1 = (MarketingZone) version.getFrozenNode();

    System.out.println(m1.getName());

}

希望这能有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2013-03-19 23:52:17

卢卡是对的。每个版本都有一个冻结的节点,表示检入时的节点。您可以像调用基节点一样在它上调用方法。

代码语言:javascript
复制
Version version = ...
Node node = version.getFrozenNode();
String name = node.getName();

// get a property, eg. someStringProperty
String someStringProperty = node.getProperty("someStringProperty").getString();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13968014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档