[ https://issues.apache.org/jira/browse/JCR-517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting resolved JCR-517. ------------------------------- Resolution: Won't Fix Assignee: Jukka Zitting Resolving as Won't Fix. Properties like jcr:title are already in wide use. Users should just be aware of the problems of reusing property names like jcr:frozenMixinTypes. > Reserved status of namespace jcr not enforced. > ---------------------------------------------- > > Key: JCR-517 > URL: https://issues.apache.org/jira/browse/JCR-517 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core, versioning > Affects Versions: 0.9, 1.0, 1.0.1 > Reporter: Peeter Piegaze > Assignee: Jukka Zitting > Priority: Minor > > The failure to enforce the reserved status of the jcr namespace leads to at > least one problem. > A versionable node can be created with properties jcr:frozenPrimaryType, > jcr:frozenMixinTypes or jcr:frozenUuid. These clash with the meta-data > properties used in the nt:frozenNode. > When the versionable is checked-in and then later restored, the corrupt > frozen node can cause an exception. The following code demonstrates the > problem: > > <code> > Repository repository = new TransientRepository(); > Session session = repository.login(new SimpleCredentials("username", > "password".toCharArray())); > try { > Node root = session.getRootNode(); > Node a = root.addNode("a", "nt:unstructured"); > a.addMixin("mix:versionable"); > a.setProperty("jcr:frozenMixinTypes", new String[]{"x"}); > session.save(); > Version v = a.checkin(); > a.checkout(); > a.remove(); > session.save(); > root.restore(v, "a", true); > } finally { > session.logout(); > } > </code> > The solution is to enforce the reserved status of jcr (and nt, mix and xml, > while we are at it). The rules should be: > 1) A client cannot register a node type that uses reserved namespaces in > either the name of the node type or in the name of any off its child item > definitions. > 2) A client cannot create a residual child item with a name that uses a > reserved namespace. Clients can, of course, create an item with a reserved > namespace if the item is defined in a built-in JCR node type. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.