2016-04-04 5 views
0

古いファイルをアーカイブリポジトリに移動するための現在実行中のリポジトリ。コピーノードを別のリポジトリワークスペースにバージョン

ドキュメントノードをコピーすることができます。問題はバージョンノードのコピーにあります。

VersionManager versionManager1 =  
    oldChildNode.getSession().getWorkspace().getVersionManager(); 
    versionManager1.checkout(oldChildNode.getPath()); 
    VersionHistory versionHistory1 = versionManager1.getVersionHistory(oldChildNode.getPath()); 
VersionIterator versions = versionHistory1.getAllVersions(); 
while (versions.hasNext()) { 
    try { 
     Version versionedNode = versions.nextVersion(); 
     NodeIterator nodeIterator = versionedNode.getNodes(); 
     System.out.println(" Version is :: " + versionedNode.getName()); 
     while (nodeIterator.hasNext()) { 
      Node currentNode = nodeIterator.nextNode(); 
      System.out.println(" JCR Title :: " + currentNode.getName()); 
     } 
     }catch(UnsupportedRepositoryOperationException jcrexce){ 
     logger.info("Exception while accessing versioned nodes >> "); 
     jcrexce.printStackTrace(); 
    } catch(PathNotFoundException pexec){ 
     pexec.printStackTrace(); 
    } 
} 

Documentノード - > NT:すべてのバージョンのプロパティをコピーする方法についてはかなり確実ではない、反復処理しようとすると

リソースが

Structure: 
/** 
* Document node 
*/ 
[et:document] > nt:file, mix:title, mix:versionable, mix:shareable 
+ * (nt:file) VERSION 
- et:tags multiple 
- et:role multiple 
- et:docUserList multiple 
- et:id (LONG) 
- et:favourites (BOOLEAN) 
- et:lastAccessed (STRING) 
- et:lastAccessedOn (DATE) 
- et:documentSize (LONG) 
- et:fileOwnerName (STRING) 
- et:fileOwnerId (STRING) 
- * (undefined) 

移動する方法上の任意のポインタが追加されますバージョン管理されたノード(リポジトリから別のリポジトリへ、ワークスペースコピーではない)

あなたはそのためRepositoryCopier APIを使用することができJackrabbitの2.8.0

答えて

関連する問題