You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (Jira)" <ji...@apache.org> on 2025/02/24 13:47:00 UTC
[jira] [Comment Edited] (OAK-5229) Using Node.setPrimaryType() should fail if non-matching childnodes
[ https://issues.apache.org/jira/browse/OAK-5229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17756700#comment-17756700 ]
Julian Reschke edited comment on OAK-5229 at 2/24/25 1:46 PM:
--------------------------------------------------------------
Just a thought after re-reading this...:
Whatever a client uses as sequence for updating a node type and the related properties - if we fail early, it will be hard to use. If the client starts adding properties before the new type is known, failing early will prevent it to get to the point when it can set the type.
was (Author: reschke):
Just a thought after re-reading this...:
Whatever a client uses as sequence for updating a node type and the related properties - if we fail early, it will be hard to use. If the client starts adding properties before the new type is known, failing early will prevent it to get to the poinzt when it can set the type.
> Using Node.setPrimaryType() should fail if non-matching childnodes
> ------------------------------------------------------------------
>
> Key: OAK-5229
> URL: https://issues.apache.org/jira/browse/OAK-5229
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Affects Versions: 1.5.14
> Reporter: Tobias Bocanegra
> Priority: Critical
> Attachments: OAK-5229-tests.patch, OAK-5229-v2.patch, OAK-5229-v3.patch, OAK-5229-v4.patch, OAK-5229-v5.patch, OAK-5229-v6.patch, OAK-5229.patch
>
>
> 1. Assume the following:
> {noformat}
> /testNode [nt:unstructured]
> /unstructured_child [nt:unstructured]
> {noformat}
> 2. setting "/testNode".setPrimaryType("nt:folder")
> 3. save the session.
> Altering the primary type works, thus leaving the repository in an inconsistent state.
> Interestingly, subsequent calls to "/testNode/unstructured_child".setProperty() will fail:
> {noformat}
> javax.jcr.nodetype.ConstraintViolationException: OakConstraint0001: /test_node[[nt:folder]]: No matching definition found for child node unstructured_child with effective type [nt:unstructured]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)