jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sascha Theves (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2678) RepositoryCopier has problems with multi-valued properties
Date Mon, 19 Jul 2010 06:31:51 GMT

    [ https://issues.apache.org/jira/browse/JCR-2678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12889766#action_12889766

Sascha Theves commented on JCR-2678:

I mean if I restore the created copy I get node type definitions that are unexpected (multi-valued
properties are now single valued). And yes I could implement a method to get safely the value
but how do I insert new values? That is impossible because you can not insert multiple values
in a single-valued property. So up to that point (restored the backup) I can not work with
the repository any longer because the node type definitions are not that ones I would expect.
So my code can not handle that situation anymore.

I will try to write a unit test for that behavior.

> 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
>         Attachments: RepositoryCopierTest.java
> 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.

View raw message