[
https://issues.apache.org/jira/browse/OAK-3621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004001#comment-15004001
]
angela commented on OAK-3621:
-----------------------------
[~asanso], i had a second look at the test with the {{mix:title}} case (see
your attachement and the test case): what happens is that a property called
{{jcr:title}} with the non-String type is due to the unstructured primary type
of your node defined by {{nt:unstructured}} i.e. the property (despite being
name {{jcr:title}} has a declaring node type with is NOT {{mix:title}} but
rather {{nt:unstructured}} and is thus a residual single valued property with a
required type == {{UNDEFINED}}.
executing the same test with a node that has type {{nt:folder}} (i.e. one that
doesn't define a property with required type UNDEFINED), will in fact have the
desired effect and the {{jcr:title}} property will be of type {{STRING}} (and
defined by {{mix:title}}.
i will adjust that specific test-case accordingly.
> Required property type not respected
> ------------------------------------
>
> Key: OAK-3621
> URL: https://issues.apache.org/jira/browse/OAK-3621
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, jcr
> Reporter: Antonio Sanso
> Attachments: OAK-3621_test.patch, mixin_definition.png,
> property_type.png
>
>
> It seems like Section 7.1.5 Adding and Writing Properties of jsr 170
> {code}
> Sets the specified (single
> value) property of this node
> to the specified value. If the property does not yet
> exist, it is created. The property type of the property
> will be that specified by the node type of this node.
> If the property type of the
> supplied Value object is
> different from that required, then a best-effort
> conversion is attempted. If the conversion fails, a
> ValueFormatException is thrown. If another error
> occurs, a RepositoryException is thrown.
> If the node type of this node
> does not indicate a
> specific property type, then the property type of the
> supplied Value object is used and if the property
> already exists (has previously been set) it assumes
> both the new value and new property type.
> {code}
> is not respected.In the provided screenshots you can see a mixin definition
> having a long property. But the property type in the creation node is Boolean
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)