2014-05-09 87 views
0

時在露天越來越空白的文件,我想用這個代碼來檢索文件的先前版本:在露天,檢索根版本

 VersionHistory history = this.versionService 
       .getVersionHistory(nodeRef); 

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

它的工作,直到我到1.0版本,然後我得到的空白內容。 這是正常的行爲嗎? 我也試過getRootVersion(),但得到了相同的結果。

當我看文件的詳細信息頁面,版本歷史,我可以「查看」不同版本的內容 。版本1.0在這裏也顯示空白。

如果有人能夠對此有所瞭解,我將不勝感激。 謝謝

在通過虛擬webdav驅動器添加到Alfresco的文件中可以看到此行爲。我發現當我通過 Alfresco Explorer使用「添加內容」界面添加一個文件時,一切都按預期工作,1.0版可以正確讀取。 任何人都可以提出什麼是造成這種差異?謝謝

回答

1

如果您檢查CMIS代碼以獲取所有版本,那麼它有點不同。 它還將當前版本添加到列表中並執行一些檢查。

public List<NodeRef> getAllVersions(String objectId) throws CMISConstraintException, CMISVersioningException, 
      CMISObjectNotFoundException, CMISInvalidArgumentException, CMISPermissionDeniedException 
    { 
     NodeRef nodeRef = getVersionSeries(objectId, NodeRef.class, true); 

     List<NodeRef> objects = new LinkedList<NodeRef>(); 
     NodeRef pwc = checkOutCheckInService.getWorkingCopy(nodeRef); 
     if (pwc != null) 
     { 
      objects.add(pwc); 
     } 
     VersionHistory versionHistory = versionService.getVersionHistory(nodeRef); 
     if (versionHistory != null) 
     { 
      Version current = versionService.getCurrentVersion(nodeRef); 
      while (current != null) 
      { 
       objects.add(current.getFrozenStateNodeRef()); 
       current = versionHistory.getPredecessor(current); 
      } 
     } 
     else if (pwc == null) 
     { 
      objects.add(nodeRef); 
     } 
     return objects; 
    } 
+0

這個例子是javascript。我需要一個Java解決方案。 –

+0

Aah oke,我更改了代碼 –

+0

在上面的代碼中,getVersionSeries方法在哪裏? –