[ 
https://issues.apache.org/jira/browse/SLING-2502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Parvulescu updated SLING-2502:
-----------------------------------

    Attachment: SLING-2502.patch

I'm taking a stab at this: I'm introducing a new set that only contains the new 
properties.
I'm assuming that the existing properties don't really need to be escaped 
again, as they passed the check before.
See also [0]:
{quote}
Once the node exists, its name just needs to be passed around, but no escaping 
should happen for accessing the node, since it will already be in the right form
{quote}

This will fix a part of the problem: it handles updating properties that 
contain ":" like jcr:title, jcr:lastModified and friends.
It doesn't however, handle adding properties that fall into this category.

Minor issue:
Not sure yet why the #clear() method re-initializes the changedProperties set:  
       
{code}
this.changedProperties.addAll(this.cache.keySet());
{code}

Attaching proposed patch.

[0] http://wiki.apache.org/jackrabbit/EncodingAndEscaping
                
> Incorrect escaping of property names in JcrModifiablePropertyMap on save
> ------------------------------------------------------------------------
>
>                 Key: SLING-2502
>                 URL: https://issues.apache.org/jira/browse/SLING-2502
>             Project: Sling
>          Issue Type: Bug
>          Components: JCR
>    Affects Versions: JCR Resource 2.1.0
>            Reporter: Alex Parvulescu
>         Attachments: SLING-2502.patch
>
>
> This follows SLING-2425 where there was a change in the way JCR properties 
> are escaped before being persited.
> The regression happens for properties that have ":" in the name.
> For example: jcr:title after the #save() call will turn into jcr%3Atitle so 
> the node will end up with a brand new property, instead of having the old 
> jcr:title updated.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to