InternalValue.createCopy for binary properties (jcr:data) causes problems
-------------------------------------------------------------------------
Key: JCR-1346
URL: https://issues.apache.org/jira/browse/JCR-1346
Project: Jackrabbit
Issue Type: Bug
Components: jackrabbit-core
Affects Versions: 1.4
Reporter: Rob Owen
Fix For: 1.4.1
Running 1.4 with no data store configured, and option
org.jackrabbit.useDataStore not set (i.e true), the following code gives 0 for
the property length.
Node n = root.getNode(relPath);
session.getWorkspace().copy(n.getPath(), destPath);
Node contentNode = n.getNode(JcrConstants.JCR_CONTENT);
Property p = contentNode.getProperty(JcrConstants.JCR_DATA);
System.out.println("length = "+p.getLength());
InternalValue.createCopy checks USE_DATA_STORE and returns the same value for
the source node's state. BundleBinding.writeState() calls
BLOBInMemory.discard() when persisting the new node. This has now changed the
value of the existing nodes property. Setting the option
org.jackrabbit.useDataStore to false works fine. Possibly the check for binary
property type in InternalValue.createCopy should be done first?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.