2014-01-13 5 views
0

Я столкнулся с проблемой в содержимом узла Jackrabbit, переходя от одного пути к другому.JCR move content

Попытка перемещения списка документов (от временного узла в jcr) под узлом к ​​новому пути (новый узел, который не содержит каких-либо документов).

Узлы типа микширования.

Ниже приводится частичный фрагмент для создания узла документа:

Node documentNode = session.getNode("/1/doc/1").addNode("Test_Sample", "et:document"); 
documentNode.setProperty(PROPERTY_ID, 123); 
documentNode.setProperty(Property.JCR_TITLE, "Test Sample"); 
documentNode.setProperty(Property.JCR_DESCRIPTION, "Sample Description"); 
documentNode.setProperty(ETNodeTypes.ET_TAGS.getName(), "web"); 

Node resourceNode = documentNode.addNode (Property.JCR_CONTENT, "nt:resource"); 
resourceNode.setProperty (Property.JCR_MIMETYPE, "application/xstream"); 
resourceNode.setProperty (Property.JCR_ENCODING, "UTF-8"); 
Binary value = session.getValueFactory().createBinary(new ByteArrayInputStream(document.getData())); 
resourceNode.setProperty (Property.JCR_DATA, value); 

Calendar lastModified = Calendar.getInstance(); 
resourceNode.setProperty (Property.JCR_LAST_MODIFIED, lastModified); 
session.save(); 

VersionManager versionManager = session.getWorkspace().getVersionManager(); 
documentNode.addMixin(JcrConstants.MIX_VERSIONABLE); 
versionManager.checkin(documentNode.getPath()); 
doc.setVersionNumber(versionManager.getBaseVersion(documentNode.getPath()).getName()); 
return documentNode.getIdentifier(); 

Описание Тип узла:

/** 
* Document node 
*/ 
[et:document] > nt:file, mix:title, mix:versionable, mix:shareable 
+ * (nt:file) VERSION 
- et:tags multiple 
- et:role multiple 
- et:id (LONG) 

Требуется, чтобы переместить содержимое с помощью самого JCR API, вместо того, чтобы все суб-узлы итерации и переместитесь в папку назначения.

Использование ядра Jackrabbit 2.6.0 с JCR 2.0.

ответ

0

Не знаете, в чем проблема, вы можете использовать либо Session.move, либо Workspace.move для перемещения узлов, API-документов, с которыми я связываюсь, чтобы объяснить различия.

Убедитесь, что определение целевого узла принимает типы узлов, которые вы перемещаете под ним, или используйте целевой объект nt:unstructured для начала, поскольку он принимает под ним любой тип узла.

Смежные вопросы