JSON Import: serialization fails with node type denying child nodes even though 
mixin allows it
-----------------------------------------------------------------------------------------------

                 Key: SLING-392
                 URL: https://issues.apache.org/jira/browse/SLING-392
             Project: Sling
          Issue Type: Bug
          Components: JSON
    Affects Versions: 2.0.0
         Environment: Darwin 9.2.2 Darwin Kernel Version 9.2.2: Tue Mar  4 
21:17:34 PST 2008; root:xnu-1228.4.31~1/RELEASE_I386 i386
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)

            Reporter: Dominique Jäggi


when importing the following JSON file:

{
   "jcr:language":"de",
   "jcr:mixinTypes":[
      "mix:language"
           ],
    "jcr:primaryType":"nt:unstructured",

    "general_yes":{
        "sling:message":"Ja",
        "sling:key":"apps.mycompany.general.yes",
        "jcr:primaryType":"sling:messageEntry"
    }
}

using the sling initial content functionality, an exception is thrown because 
the mixins don't seem to be respected:

23.04.2008 14:47:29.092 *ERROR* [Background Updatech.com.mycompany.mymodule 
(91)] org.apache.sling.jcr.resource.internal.loader.Loader Cannot load initial 
content for bundle com.mycompany.mymodule : no definition found in parent 
node's node type for new node: no matching child node definition found for 
{}general_yes javax.jcr.nodetype.ConstraintViolationException: no definition 
found in parent node's node type for new node: no matching child node 
definition found for {}general_yes: no matching child node definition found for 
{}general_yes
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:752)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:718)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:665)
        at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1987)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.createNode(Loader.java:351)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.setupNode(Loader.java:399)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.createNode(Loader.java:355)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.createNode(Loader.java:317)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:256)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:243)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:243)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:243)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:243)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.install(Loader.java:243)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.installContent(Loader.java:175)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.registerBundleInternal(Loader.java:130)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.registerBundle(Loader.java:107)
        at 
org.apache.sling.jcr.resource.internal.ContentLoaderService.bundleChanged(ContentLoaderService.java:103)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:690)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:619)
        at 
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:532)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3568)
        at org.apache.felix.framework.Felix._startBundle(Felix.java:1570)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
        at 
org.apache.felix.framework.Felix$RefreshHelper.restart(Felix.java:4025)
        at org.apache.felix.framework.Felix.refreshPackages(Felix.java:3267)
        at org.apache.felix.framework.Felix._updateBundle(Felix.java:1871)
        at org.apache.felix.framework.Felix.updateBundle(Felix.java:1719)
        at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:372)
        at 
org.apache.sling.osgi.console.web.internal.core.InstallAction$2.doRun(InstallAction.java:242)
        at 
org.apache.sling.osgi.console.web.internal.core.InstallAction$InstallHelper.run(InstallAction.java:278)
Caused by: javax.jcr.nodetype.ConstraintViolationException: no matching child 
node definition found for {}general_yes
        at 
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicableChildNodeDef(EffectiveNodeType.java:735)
        at 
org.apache.jackrabbit.core.NodeImpl.getApplicableChildNodeDefinition(NodeImpl.java:878)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:748)
        ... 30 more
javax.jcr.nodetype.ConstraintViolationException: no matching child node 
definition found for {}general_yes
        at 
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicableChildNodeDef(EffectiveNodeType.java:735)
        at 
org.apache.jackrabbit.core.NodeImpl.getApplicableChildNodeDefinition(NodeImpl.java:878)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:748)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:718)
        at 
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:665)
        at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1987)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.createNode(Loader.java:351)
        at 
org.apache.sling.jcr.resource.internal.loader.Loader.setupNode(Loader.java:399)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to