[
https://issues.apache.org/jira/browse/JCR-2678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12889197#action_12889197
]
Stefan Guggisberg commented on JCR-2678:
----------------------------------------
what do you mean by "you damage your data"?
why would you not be able to use your repository anymore?
AFAIU the problem is that a multi-value property with a single value becomes a
single-value property.
i agree that it is a problem and inconvenient but certainly not a critical
issue.
you can still retrieve its value. as a workaround you could read the values
using a utility method, e.g.
Values[] safeGetValues(Property prop) throws RepositoryException {
if (prop.getDefinition().isMultiple()) {
return prop.getValues();
} else {
return new Value[]{prop.getValue()};
}
}
> RepositoryCopier has problems with multi-valued properties
> ----------------------------------------------------------
>
> Key: JCR-2678
> URL: https://issues.apache.org/jira/browse/JCR-2678
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.6.2
> Environment: Jackrabbit 1.6.2
> Reporter: Sascha Theves
> Fix For: 1.6.3
>
>
> When using the RepositoryCopier to backup and restore your repository you run
> into problems with multi-valued properties where you have only one value
> assigned.
> The backup works fine but when you try to restore the backup and want to get
> the values of a multi-valued property you get:
> java.lang.RuntimeException: property /ns:someNode/ns:multiValued is a
> single-valued property, so it's value can not be retrieved as an array
> at
> org.apache.jackrabbit.core.PropertyImpl.internalGetValues(PropertyImpl.java:441)
> at
> org.apache.jackrabbit.core.PropertyImpl.getValues(PropertyImpl.java:475)
> at xxx.MyClass.getProperty(MyClass.java:274)
> You can reproduce that by using the RepositoryCopier to copy your repository
> and then read it back again. You must have a node with a multi-valued
> property in it where you have only _one_ value contained in the property to
> the time the backup is created.
> The node type definition looks like:
> // The namespace declaration
> <ns='http://noPlaceLikeHome/'>
> <nt='http://www.jcp.org/jcr/nt/1.0'>
> // Node type name
> [ns:myNodeType]
> - ns:multiValued (string)
> multiple
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.