Jackrabbit 2.1 имеет версии узлов. Мы хотим поддержать «отмену» удаления одного из этих узлов. «Нахождение этого» кажется сложной частью.Как восстановить «версированный узел» в репозитории jackrabbit 2.1?
ответ
Не знаете, как пройти по версии дерева правильно - должно быть возможно, я думаю, при переходе /jcr:system/jcr:versionStorage
см JCR 1.0 section 8.2.2.1 и JCR 2.0 section 15.10 - но вы можете запросить версию дерева с запросом, как
SELECT * FROM nt:frozenNode WHERE prop = 'value'
(если есть индекс поиска, настроенный для рабочей области версии в Jackrabbit, который должен быть по умолчанию).
Узлов возвращаемых будут замороженные узлами, получить родительский узел для получения версии:
NodeIterator iter = res.getNodes();
while (iter.hasNext()) {
Node frozenNode = iter.nextNode();
Version v = (Version) frozenNode.getParent();
// ...
}
Это имеет смысл хранить (родительский) путь узла в собственности всякий раз, когда вы создаете версию в на первом месте, чтобы вы могли запросить его, а также узнать, где его восстановить позже (см. ниже).
Вы знаете, что он удаляется, когда jcr:frozenUuid
из frozenNode не могут быть найдены в сессии:
boolean deleted = false;
try {
session.getNodeByUUID(
frozenNode.getProperty(JcrConstants.JCR_FROZENUUID).getString()
);
} catch (ItemNotFoundException e) {
deleted = true;
} catch (RepositoryException e) {
continue;
}
Чтобы восстановить его, взять версию и передать его менеджеру версии, наряду с абсолютный путь, чтобы восстановить его (который может исходить от имущества, сохраненного на замерзшей узле версии, с):
VersionManager vMgr = session.getWorkspace().getVersionManager();
vMgr.restore(path, v, true);
Если вы каким-то образом знают это без необходимости искать его, вы можете также получить версию по UUID:
Version v = (Version) session.getNodeByUUID(versionUUID);
- 1. Как восстановить «версированный узел» в репозитории jackrabbit 2.1?
- 2. Каков наилучший способ архивирования документов в репозитории Jackrabbit?
- 3. Невозможно удалить узел в jackrabbit
- 4. посмотреть, существует ли узел в Jackrabbit AbstractWebDavServlet в JackRabbit
- 5. jstree: как восстановить/восстановить узел
- 6. Как восстановить политики acl с помощью importXML в apache jackrabbit?
- 7. Удалить узел JackRabbit 1.4 не через API
- 8. Что такое узел и свойство в репозитории контента?
- 9. Как я могу восстановить репозитории git-daemon
- 10. Как восстановить узел журнала HDFS?
- 11. Jackrabbit AccessControll
- 12. Как восстановить случайно удаленные папки в репозитории SVN
- 13. Узел Восстановить отправить целое число?
- 14. Невозможно олицетворять - Jackrabbit
- 15. Местоположение репозитория Jackrabbit
- 16. JCR (JackRabbit) Инструменты репозитория
- 17. Apache Sling upgrade Jackrabbit
- 18. Как обновить или удалить пользователей в Jackrabbit?
- 19. не в состоянии запустить узел-лавочка восстановить
- 20. Ошибка Symfony 2.1: import @ORM \ Таблица в репозитории
- 21. узел-лавочка восстановить ошибку в nodejs
- 22. Невозможно переместить (переименовать) узел с помощью Jackrabbit и WebDAV
- 23. Обновление Jackrabbit 1.3 до Jackrabbit 2.1.1
- 24. Как правильно добавить доступные версии в jackrabbit
- 25. Именование узлов в репозитории контента
- 26. JCR Jackrabbit Versionising
- 27. Lucene Jackrabbit
- 28. Как сделать резервную копию репозитория Apache Jackrabbit, не закрывая Jackrabbit?
- 29. Шифрование паролей в Jackrabbit
- 30. Handle InvalidItemStateException в jackrabbit