jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra" <tobias.bocane...@day.com>
Subject Re: Battling 'no matching property definition found for {}InstanceOf'
Date Sun, 07 May 2006 11:16:47 GMT
hi jack,
your behaviour is weird. maybe you can give us a code example?
i assume you do something like the following:

Node A = session.getRootNode().addNode("A", "ts:subjectProxy");
Node C = A.addNode("C", "ts:subjectProxy");
C.setProperty("p1", "foo");
C.setProperty("p2", "bar");
C.setProperty("m1", new String[]{"1", "2", "3"}");

and you are saying that the last setProperty does not work?

regards, toby

On 5/7/06, Jack Park <jack.park@sri.com> wrote:
> I just ran a test in which I used the simplest possible node type
> definition:
>     <nodeType name="ts:subjectProxy" isMixin="false"
>                                      hasOrderableChildNodes="false"
>                                      primaryItemName="">
>         <supertypes>
>             <supertype>nt:unstructured</supertype>
>             <supertype>mix:referenceable</supertype>
>         </supertypes>
>     </nodeType>
>
> Basically, it is just nt:unstructured with a mix:referenceable thrown in
> because I need that ability.
> I still run into the exception mentioned in the subject line, but not at
> the same place. I am now well past that place in code execution. At risk
> of boring some, let me sketch the nature of what is happening just when
> the Exception is thrown.
>
> There exists a Node (A) to which I have added a child Node (C).  I used
> C as an "InstanceOf"  B (another Node that is a child of A).
>
> So, C now contains  the InstanceOf property, a single-value property.
>
> Then, I add another property to C, a single (String) value'd property
> called 'NameProperty';
> Ok to this point.
> Next, I wish to add a multi-valued property to C. That's when the
> exception 'no matching property definition...' occurs.
>
> I have added two single-valued properties to C, and, in the process of
> adding a multi-valued property to C, someone hits the OhDang button and
> jackrabbit stops playing.
>
> Recapping the design, My nodes all are of the type sketched above,
> meaning they are essentially of type nt:unstructured, which, as Toby
> points out here, have the ability to accept both single and multi-valued
> properties.
>
> I politely (in great despiration ;) ask again. What am I missing here?
> (It's bound to be something really trivial :( but I don't yet see it.
>
> Many thanks.
> Jack
> Tobias Bocanegra wrote:
>
> > you're defining a multivalue-residual property but i think you want to
> > set a single-value property. if you need both, you can look at
> > nt:unstructured for an example.
> >
> > btw: if you know the names of the properties, i would make sense to
> > restrict the names and types aswell.
> >
> > regards, toby
> >
> > On 5/6/06, Jack Park <jack.park@sri.com> wrote:
> >
> >> I hope there is some trivial line of wisdom  I am missing, but the 'no
> >> matching property definition' exception keeps creeping in on me. Brief
> >> architectural explanation: I wish to model a taxonomy using Property
> >> objects of two kinds, one of which stores a single String (uuid of a
> >> Node), and another of which is a Value[] taking Value objects with uuids
> >> of Nodes. Actually, there are up to 4 such Property objects per node,
> >> each a different name: InstanceOf, HasInstances, SubclassOf,
> >> HasSubclasses, where InstanceOf is the only single-valued Property.
> >>
> >> Oddly enough, SubclassOf and HasSubclasses are already in Node objects
> >> when the InstanceOf Property is created and the exception tossed.
> >>
> >> The particular Node definition is below. I'd really like to learn what
> >> I  am missing here.
> >>
> >> Many thanks in advance.
> >> Jack
> >>
> >>     <nodeType name="ts:subjectProxy" isMixin="false"
> >>                                      hasOrderableChildNodes="false"
> >>                                      primaryItemName="">
> >>         <supertypes>
> >>             <supertype>nt:hierarchyNode</supertype>
> >>             <supertype>mix:referenceable</supertype>
> >>         </supertypes>
> >>
> >>         <propertyDefinition name="*"
> >>                             requiredType="undefined"
> >>                             autoCreated="false"
> >>                             mandatory="false"
> >>                             onParentVersion="COPY"
> >>                             protected="false"
> >>                             multiple="true"/>
> >>
> >>         <childNodeDefinition name="*"
> >>                              defaultPrimaryType=""
> >>                              autoCreated="false"
> >>                              mandatory="false"
> >>                              onParentVersion="COPY"
> >>                              protected="false"
> >>                              sameNameSiblings="true">
> >>             <requiredPrimaryTypes>
> >>
> >> <requiredPrimaryType>nt:hierarchyNode</requiredPrimaryType>
> >>                 <supertype>mix:referenceable</supertype>
> >>             </requiredPrimaryTypes>
> >>         </childNodeDefinition>
> >>     </nodeType>
> >>
> >>
> >
> >
> > --
> > -----------------------------------------< tobias.bocanegra@day.com >---
> > Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
> > T +41 61 226 98 98, F +41 61 226 98 97
> > -----------------------------------------------< http://www.day.com >---
>
>
>


--
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Mime
View raw message