[ http://issues.apache.org/jira/browse/JCR-186?page=comments#action_12318664 ]
Brian Moseley commented on JCR-186: ----------------------------------- fair enough, whatever works :) jcr properties which are defined to be protected are easy to handle - or at least they are if you can tell that saving fails for that reason. server-generated dav properties that don't have corresponding jcr properties are a harder problem. as an example, my server automatically attaches a protected "CALDAV:calendar-restrictions" dav property to certain collections. it's a static property whose value is determined by constants defined elsewhere in the server. with the current implementation, a dav client could PROPPATCH that property directly into the repository, because the node type representing the resource being PROPPATCHed allows arbitrary properties to be set (to represent dead dav properties). because there's not actually a property def for this property in the repository, saving the node won't throw a "protected property" exception, so we need to have some way in the dav layer to realize that the dav property is protected and not allow a corresponding jcr property to be set in the first place. i hope that made sense :) > simple webdav server allows PROPPATCH of protected properties > ------------------------------------------------------------- > > Key: JCR-186 > URL: http://issues.apache.org/jira/browse/JCR-186 > Project: Jackrabbit > Type: Bug > Reporter: Brian Moseley > Assignee: angela > > DavResourceImpl.alterProperties, setProperty and removeProperty should check > if a dav property is protected before setting or removing it. attempting to > change a protected property should result (i believe) in a 409 Conflict > response for that particular property. > solving this will likely require getting the DavProperty instance > corresponding to each property included in the request. DavResourceImpl will > need a way to obtain instances defined by jcr-server extensions (eg the > CALDAV:calendar-description property). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
