jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jack Park <jack.p...@sri.com>
Subject Re: Battling 'no matching property definition found for {}InstanceOf'
Date Sun, 07 May 2006 00:12:59 GMT
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 >---



Mime
View raw message