jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Guggisberg <stefan.guggisb...@gmail.com>
Subject Re: Bug with multi-valued properties when exporting repository content?
Date Tue, 15 Nov 2005 09:31:33 GMT
On 11/14/05, Martin Perez <mpermar@gmail.com> wrote:
> Stefan, you were right, my message was a little unclear.
>
> With the "multivalued attribute is false" and "has a values attribute"
> phrases I meant that the PropertyImpl state object has those values in those
> attributes. So, in this case the property is supposed to be not multivalued
> but has multiple values.
>
> And, yes, I was using exportSystemView with skipBinary=false and
> noRecurse=false.
>
> If it is not clear I can try to explain better ( I must improve my english
> ), but basically the problem is that an exported multivalued property is
> imported as a single-valued property, but the internal Value[] array remains
> the same in both cases.

no problem martin, i got it now :-)

let's assume the following:

Property p1 = node1.setProperty("someName", new String[] {"someValue"});
Property p2 = node2.setProperty("someName", "someValue");

the problem is that in system view xml format both properties are
identical, i.e. the 'multiValued' information is not explicitly recorded:

<sv:property sv:name="someName" sv:type="String">
    <sv:value>someValue</sv:value>
</sv:property>

if on reimport the parent node's node type contains both single- and
multivalued
definitions that would be applicable the former is taken. nt:unstructured is an
example for a node type containing both single- and multivalued residual
property definitions.

please note that this is not a bug in jackrabbit but a issue of the
system view xml format as specified in 6.4.1 System View XML Mapping
of jsr 170.

cheers
stefan


>
> Regards,
>
> Martin
>
> On 11/14/05, Stefan Guggisberg <stefan.guggisberg@gmail.com> wrote:
> >
> > hi martin,
> >
> > On 11/12/05, Martin Perez <mpermar@gmail.com> wrote:
> > > Hi.
> > >
> > > I finished my holidays and so I expect to spam again this list with a
> > bunch
> > > of questions and possible bug reports :)
> > >
> > > First of all, I'm using a two weeks ago version of jackrabbit. So
> > forgive me
> > > if this bug has already been resolved.
> > >
> > > Now, the bug: I created a node with only one multi-valued property. The
> > > property also only has a single value. But, even as the property has one
> > > value, the property is multivalued and has a values attribute composed
> > by a
> > > Value[1] array and its multivalued attribute is true. All is fine.
> > >
> > > Now, I export that simple repository, and after this I import it. Here
> > is
> > > the surprise: now that simple property has a values attribute composed
> > by a
> > > Value[1] array (ok) but multivalued attribute is false !!!
> >
> > what do you mean with "multivalued attribute is false" and "has a
> > values attribute"?
> >
> > >
> > > I tested this with a property with two values, and in this case all
> > works
> > > correctly, so it seems that the problem is with multi-valued properties
> > with
> > > only one Value in their values array.
> > >
> > > Do you think that this could be a bug ? or maybe I'm missing
> > something...
> >
> > what export format did you choose? document view or system view?
> > note that the document view export format is not guaranteed to be fully
> > roundtrippable as some information is inevitably lost in order to make
> > the output more human readable.
> >
> > if you need to reimport the exported data you should use the system view
> > format.
> >
> > 6.4.2 Document View XML Mapping (ff.) of the jsr 170 specification
> > provides
> > more detailed information on this topic.
> >
> > cheers
> > stefan
> >
> >
> > >
> > > Thanks,
> > >
> > > Martin
> > >
> > >
> >
>
>

Mime
View raw message