2016-04-04 1 views
0

Référentiel en cours d'exécution pour déplacer les anciens fichiers vers le référentiel d'archivage.Copier des noeuds versionnés vers un autre espace de travail de référentiel

Capable de copier des nœuds de document. Le problème est avec la copie des nœuds de version.

Essayer de itérer, pas tout à fait sûr sur la façon de copier toutes les propriétés des versions:

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(); 
    } 
} 

noeud Document -> nt: ressource est ajoutée

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) 

Les pointeurs sur la façon de se déplacer nœuds versionnés (du référentiel vers un autre référentiel et non une copie de l'espace de travail)?

Fonctionnant sur Java 1.6 avec Jackrabbit 2.8.0

Répondre