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: TCK: multivalue
Date Wed, 30 Nov 2005 17:04:34 GMT
On 11/30/05, Gennady Azarenkov <gazarenkov@gmail.com> wrote:
> thanks, Stefan
>
> >since prop1 *exists* and it is defined as being single-valued, as
> >reported by prop1.getDefinition().isMultiple() == false, setting it
> >to a value array *must* throw a ValueFormatException in order to
> >be compliant with the spec.
>
> well, according to
> >> "Whether a particular property is a multi-valued property is governed by
> >> the
> >> property definition applicable to it, which is determined by the node
> >> type of the
> >> property's parent node."
> prop1.getDefinition().isMultiple() can return either false or true
> (both are applicable for an *abstract* property based on PropertyDefinition
> only)
> unless multiplicity flag is stored with property, but in this case
> it seems logical to have Property.isMultiple(), no?

no;) the reason for grouping those methods in a separate interface
(PropertyDefinition in this case) was that we tried to avoid
cluttering the already 'heavy' Node and Property interfaces even more.

the definition of an Item is determined upon its creation and doesn't
change afterwards.

see 6.7.18 in the spec:

<quote>
...
PropertyDefinition getDefinition()
...
However, it is assumed that upon creation of this property, a single
particular definition was used and it is that definition that this
method returns.
...
</quote>

therefore, in the above example, prop1 *is* single-valued and cannot
be set with a valuer array.

cheers
stefan

>
> regards,
> Gena
>
> Gennady Azarenkov
>
> eXo platform
>
> ----- Original Message -----
> From: "Stefan Guggisberg" <stefan.guggisberg@gmail.com>
> To: <jackrabbit-dev@incubator.apache.org>; "Gennady Azarenkov"
> <gennady.azarenkov@exoplatform.com>
> Sent: Wednesday, November 30, 2005 4:08 PM
> Subject: Re: TCK: multivalue
>
>
> On 11/30/05, Gennady Azarenkov <gazarenkov@gmail.com> wrote:
> > hi,
> >
> > are the SetValueString.testMultiValue() and
> > TestSetValueStringTest.testMultiString() tests correct
> > for a case if parent can have both multi- and single- valued property (as
> > it
> > is in TCK)?
> >
> > having nt:unstructured /testroot/node1 node with single valued child
> > prop1="JCR"
> > then trying to set Value[] to this property and expecting
> > ValueFormatException
> >
> > but nt:unctructured can have either single- or multi- valued (residual)
> > child prop
> > and (4.7.1):
> > "Whether a particular property is a multi-valued property is governed by
> > the
> > property
> > definition applicable to it, which is determined by the node type of the
> > property's parent node."
>
> since prop1 *exists* and it is defined as being single-valued, as
> reported by prop1.getDefinition().isMultiple() == false, setting it
> to a value array *must* throw a ValueFormatException in order to
> be compliant with the spec.
>
> cheers
> stefan
>
> >
> > independently on current value. Correct?
> >
> > regards,
> > Gena
> >
> > Gennady Azarenkov
> >
> > eXo platform
> >
> >
>
>

Mime
View raw message