Actually I am using an altered version of the SpringModule 
JackRabbitSessionFactory, I've solved the problem by downcasting the 
NodeTypeManager to NodeTypeManagerImpl in order to have access to the 
.registerNodeTypes(resource.getInputStream(), contentType, true) method that 
takes a boolean argument.
More info : http://jira.springframework.org/browse/MOD-470

doees not seems to be JackRabbit problem ... my mistake

Nicolas




----- Original Message ----
From: Nicolas Brasseur <[email protected]>
To: jackrabbit mailing list <[email protected]>
Sent: Tuesday, September 8, 2009 11:39:40 PM
Subject: ConstraintViolationException: no matching property definition found ...

Hi,

I've recently switched to JackRabbit 1.6. And I think that since that switch I 
am unable to modify my node types definitions anymore.

For instance if I add a simple property definition like the following in a ndoe 
type definition:

    <propertyDefinition name="jbb:title3"      requiredType="Boolean"  
autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" 
multiple="false" />

I get the following stacktrace:

Caused by: javax.jcr.nodetype.ConstraintViolationException: no matching 
property definition found for {http://www.foo.com/bb}title3
    at 
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicablePropertyDef(EffectiveNodeType.java:768)
    at 
org.apache.jackrabbit.core.NodeImpl.getApplicablePropertyDefinition(NodeImpl.java:905)
    at 
org.apache.jackrabbit.core.NodeImpl.getOrCreateProperty(NodeImpl.java:412)
    at 
org.apache.jackrabbit.core.NodeImpl.getOrCreateProperty(NodeImpl.java:383)
    at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2487)
    at 
org.apache.jackrabbit.ocm.manager.objectconverter.impl.SimpleFieldsHelper.storeSimpleField(SimpleFieldsHelper.java:268)
    at 
org.apache.jackrabbit.ocm.manager.objectconverter.impl.SimpleFieldsHelper.storeSimpleFields(SimpleFieldsHelper.java:230)

If I completely drop the repository the problem does not happen anymore ... but 
that's not an option.

thanks for your help

Nicolas


      

Reply via email to