Скопируйте папку в Alfresco
Я хочу скопировать папку в другую, под открытым небом, рекурсивно, с Java.
У меня есть только NodeRef каждой папки.
Как сделать?
2 ответа
Используйте CopyService.copyAndRename:
copyService.copyAndRename(
sourceNodeRef,
destinationNodeRef,
ContentModel.ASSOC_CONTAINS,
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "New name"),
true // Recursive
);
Вдохновленный собственным сценарием Alfresco ScriptNode.java.
На всякий случай кто-нибудь ищет скопировать файл (ы) из папки назначения на свежем воздухе:
String docName = nodeService.getProperty(fileNode, ContentModel.PROP_NAME).toString();
QName documentName = QName.createQName(CustomModel.CUSTOM_NAMESPACE_URI,docName);
NodeRef copiedFile = copyService.copy(fileNode, destnode, ContentModel.ASSOC_CONTAINS, documentName);
nodeService.setProperty(copiedFile, ContentModel.PROP_NAME, docName);
Последняя строка устанавливает имя скопированного файла в фактическое имя документа; иначе вы найдете имя скопированного файла как noderef файла