[ https://issues.apache.org/jira/browse/JCR-2480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12828573#action_12828573
]
Thomas Draier commented on JCR-2480:
------------------------------------
Hi Marcel,
I'm not using the TemplateBuilderFactory here (which is mainly used by the CndImporter) -
i directly register my node types using the registerNodeTypes(NodeTypeDefinition[] ntds, boolean
allowUpdate) method . I currently use an empty array in the default values, which is converted
to null afterwards when re-reading the definition from the database. If I use a null value
instead, it is then stored as an empty array - the QNodeTypeDefinitionImpl.createQPropertyDefinitions()
method make this conversion :
QValue[] defVls = propDef.getDefaultValues() == null
? QValue.EMPTY_ARRAY
: ValueFormat.getQValues(propDef.getDefaultValues(), resolver, qValueFactory);
So in all cases, a change in the definition is detected .. the main question is, what is best
to use here for the default values, when no values are set .. ? null or empty array .. ?
> Property definition not properly initialized
> --------------------------------------------
>
> Key: JCR-2480
> URL: https://issues.apache.org/jira/browse/JCR-2480
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core, jackrabbit-spi-commons
> Affects Versions: 2.0-beta6
> Reporter: Thomas Draier
> Priority: Minor
>
> Hi,
> When reading property definitions from the repository, the "defaultValues" is not properly
initialized by the NodeTypeReader , if no default values has been set . The defaultValues
keeps a null value instead of an empty array. This causes problems when calling NodeTypeManager.regiterNodeTypes()
- the property definitions are always seen as modified even they don't . A trivial modification
is detected and definitions is rewritten everytime. Passing null as default values for the
new definitions does not work, as it's replaced by an empty array.
> Modifying the initialization of the QPropertyDefinitionBuilder.defaultValues with an
empty list , as it's done for valueConstraints, fixes the issues
> regards
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|