0
我正在面對Jackrabbit節點內容從一個路徑移動到另一個路徑的問題。JCR移動內容
嘗試將節點下的文檔列表(從jcr中的臨時節點)移動到新路徑(新節點,不包含任何文檔)。
節點是mixin類型。
下面是用於創建文檔節點的部分片段:
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本身,而不是讓所有的子節點迭代來移動內容並移至目標文件夾。
在JCR 2.0中使用Jackrabbit核心2.6.0。