Скопируйте версионные узлы в другую рабочую область репозитория.

Текущий работающий репозиторий для перемещения старых файлов в архивный репозиторий.

Возможность копирования узлов документа. Проблема заключается в копировании узлов версии.

Пытаясь повторить, не совсем уверен, как скопировать все свойства версий:

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

Узел документа --> 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)

Любые указатели на то, как перемещать узлы с версиями (из репозитория в другой репозиторий, а не из копии рабочей области)?

Запуск на Java 1.6 с Jackrabbit 2.8.0


person techie2k    schedule 04.04.2016    source источник


Ответы (1)


Для этого вы можете использовать RepositoryCopier API. По сути, это позволяет перемещать данные между разными репозиториями. Для получения дополнительной информации посетите: https://jackrabbit.apache.org/api/1.6/org/apache/jackrabbit/core/RepositoryCopier.html

person Ducaz035    schedule 22.04.2016