You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Ian Boston <ie...@tfd.co.uk> on 2009/12/04 19:51:55 UTC

Problem with node type defs in JR1.6

Hi,
I have a modified DefaultSecurityManager (and related classes) and I  
am certain I have made a mistake somewhere, but on initialization I get

04.12.2009 18:40:09.020 *ERROR* [SCR Component Actor]  
org 
.apache.sling.jcr.jackrabbit.server.impl.security.standard.ACLProvider  
Failed to set-up minimal access control for root node of workspace  
default javax.jcr.nodetype.ConstraintViolationException: no matching  
property definition found for {internal}privileges
         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.internalSetProperty(NodeImpl.java: 
1444)
         at  
org.apache.jackrabbit.core.NodeImpl.internalSetProperty(NodeImpl.java: 
1423)
         at  
org 
.apache 
.jackrabbit 
.core 
.DynamicProtectedItemModifier 
.setProperty(DynamicProtectedItemModifier.java:118)
         at  
org 
.apache 
.sling 
.jcr 
.jackrabbit 
.server.impl.security.standard.ACLEditor.setPolicy(ACLEditor.java:189)
         at  
org 
.apache 
.sling 
.jcr 
.jackrabbit 
.server 
.impl.security.standard.ACLProvider.initRootACL(ACLProvider.java:356)
         at  
org 
.apache 
.sling 
.jcr 
.jackrabbit 
.server.impl.security.standard.ACLProvider.init(ACLProvider.java:182)
         at  
org 
.apache 
.sling 
.jcr 
.jackrabbit 
.server 
.impl.security.dynamic.DynamicACLProvider.init(DynamicACLProvider.java: 
42)
         at  
org 
.apache 
.sling 
.jcr 
.jackrabbit 
.server 
.impl 
.security 
.dynamic 
.DynamicAccessControlProviderFactoryImpl 
.createProvider(DynamicAccessControlProviderFactoryImpl.java:103)
         at  
org 
.apache 
.jackrabbit 
.core 
.DynamicSecurityManager 
.getAccessControlProvider(DynamicSecurityManager.java:425)
  at  
org 
.apache 
.jackrabbit 
.core 
.DynamicSecurityManager.getAccessManager(DynamicSecurityManager.java: 
280)
         at  
org 
.apache 
.jackrabbit.core.SessionImpl.createAccessManager(SessionImpl.java:384)
         at  
org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:302)
         at  
org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:271)
         at  
org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java:105)


Any ideas why or where I can look to debug. ?

I think the main difference up to this point is a change in package  
name for the ACLProvider other than that its standard. My extensions  
only relate to the construction of permissions bitmaps.

The I believe the default node types have been registered since I see  
the log line
04.12.2009 18:40:01.843 *INFO* [SCR Component Actor]  
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry no custom node  
type definitions found


Ian



Re: Problem with node type defs in JR1.6

Posted by Ian Boston <ie...@tfd.co.uk>.
Problem solved.

setProperty with the right name but the wrong type will generate the  
exception.

javax.jcr.nodetype.ConstraintViolationException: no matching property  
definition found for {internal}privileges

I as trying to set a {internal}privileges with a Value[] containing  
String rather than Name

Ian



On 4 Dec 2009, at 18:51, Ian Boston wrote:

> Hi,
> I have a modified DefaultSecurityManager (and related classes) and I  
> am certain I have made a mistake somewhere, but on initialization I  
> get
>
> 04.12.2009 18:40:09.020 *ERROR* [SCR Component Actor]  
> org 
> .apache 
> .sling.jcr.jackrabbit.server.impl.security.standard.ACLProvider  
> Failed to set-up minimal access control for root node of workspace  
> default javax.jcr.nodetype.ConstraintViolationException: no matching  
> property definition found for {internal}privileges
>        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.internalSetProperty(NodeImpl.java: 
> 1444)
>        at  
> org 
> .apache.jackrabbit.core.NodeImpl.internalSetProperty(NodeImpl.java: 
> 1423)
>        at  
> org 
> .apache 
> .jackrabbit 
> .core 
> .DynamicProtectedItemModifier 
> .setProperty(DynamicProtectedItemModifier.java:118)
>        at  
> org 
> .apache 
> .sling 
> .jcr 
> .jackrabbit 
> .server.impl.security.standard.ACLEditor.setPolicy(ACLEditor.java:189)
>        at  
> org 
> .apache 
> .sling 
> .jcr 
> .jackrabbit 
> .server 
> .impl.security.standard.ACLProvider.initRootACL(ACLProvider.java:356)
>        at  
> org 
> .apache 
> .sling 
> .jcr 
> .jackrabbit 
> .server.impl.security.standard.ACLProvider.init(ACLProvider.java:182)
>        at  
> org 
> .apache 
> .sling 
> .jcr 
> .jackrabbit 
> .server 
> .impl 
> .security.dynamic.DynamicACLProvider.init(DynamicACLProvider.java:42)
>        at  
> org 
> .apache 
> .sling 
> .jcr 
> .jackrabbit 
> .server 
> .impl 
> .security 
> .dynamic 
> .DynamicAccessControlProviderFactoryImpl 
> .createProvider(DynamicAccessControlProviderFactoryImpl.java:103)
>        at  
> org 
> .apache 
> .jackrabbit 
> .core 
> .DynamicSecurityManager 
> .getAccessControlProvider(DynamicSecurityManager.java:425)
> at  
> org 
> .apache 
> .jackrabbit 
> .core 
> .DynamicSecurityManager.getAccessManager(DynamicSecurityManager.java: 
> 280)
>        at  
> org 
> .apache 
> .jackrabbit.core.SessionImpl.createAccessManager(SessionImpl.java:384)
>        at  
> org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:302)
>        at  
> org.apache.jackrabbit.core.SessionImpl.<init>(SessionImpl.java:271)
>        at  
> org.apache.jackrabbit.core.XASessionImpl.<init>(XASessionImpl.java: 
> 105)
>
>
> Any ideas why or where I can look to debug. ?
>
> I think the main difference up to this point is a change in package  
> name for the ACLProvider other than that its standard. My extensions  
> only relate to the construction of permissions bitmaps.
>
> The I believe the default node types have been registered since I  
> see the log line
> 04.12.2009 18:40:01.843 *INFO* [SCR Component Actor]  
> org.apache.jackrabbit.core.nodetype.NodeTypeRegistry no custom node  
> type definitions found
>
>
> Ian
>
>