Tomek Rękawek created OAK-4847:
----------------------------------

             Summary: Support any types of node builders in the initializers
                 Key: OAK-4847
                 URL: https://issues.apache.org/jira/browse/OAK-4847
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
            Reporter: Tomek Rękawek
             Fix For: 1.6


In case that one of the following classes:

* org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent
* org.apache.jackrabbit.oak.security.privilege.PrivilegeInitializer
* org.apache.jackrabbit.oak.security.user.UserInitializer

tries to initialize a NodeBuilder which is not derived from the MemoryNodeState 
or ModifiedNodeState, it breaks with an exception:

{noformat}
java.lang.IllegalArgumentException
        at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:7
7)
        at 
org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore.merge(MemoryNo
deStore.java:126)
        at
org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:249)
(...)
        at
org.apache.jackrabbit.oak.plugins.nodetype.write.NodeTypeRegistry.regis
terBuiltIn(NodeTypeRegistry.java:86)
        at
org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent.initial
ize(InitialContent.java:120)
{noformat}

It can be fixed by copying the derived node state into a MemoryNodeState.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to