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.

Reply via email to