You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2012/06/04 21:18:23 UTC
[jira] [Updated] (SLING-2502) Incorrect escaping of property names
in JcrModifiablePropertyMap on save
[ 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