Stefan Egli created SLING-3639:
----------------------------------

             Summary: Changing node types to/from sling:Folder within 
.content.xml fails
                 Key: SLING-3639
                 URL: https://issues.apache.org/jira/browse/SLING-3639
             Project: Sling
          Issue Type: Bug
          Components: IDE
            Reporter: Stefan Egli
            Assignee: Stefan Egli
             Fix For: Sling Eclipse IDE 1.0.0


When changing the type of a node serialized into a .content.xml to/from 
sling:Folder, various exceptions occur.

This ticket is to have a reference between the various bugfixes related to this.

An earlier fix likely related to this is : http://svn.apache.org/r1599996

Consider the following structure:
{code}
grandparent [nt:unstructured]
\- parent [nt:unstructured]
 |- child1 [nt:unstructured]
 \- child2 [nt:unstructured]
{code}

initially the structure is serialized into one:
{code}
grandparent/.content.xml
{code}

If child2 is changed to sling:Folder, the content is published and re-imported, 
the underlying vault serialization looks as follows:

{code}
grandparent/.content.xml
grandparent/parent/child2/.content.xml
{code}

Changing child2 back to nt:unstructured results in:

{code}
[June 4, 2014 10:52:04 AM CEST] AddOrUpdateNodeCommand -> 
/content/okapp/grandparent/parent : JcrResult[ success:true] (53 ms)
[June 4, 2014 10:52:39 AM CEST] AddOrUpdateNodeCommand -> 
/content/okapp/grandparent/parent/child2 : JcrResult[ success:false, exception: 
org.apache.sling.ide.transport.RepositoryException - 
javax.jcr.nodetype.ConstraintViolationException: node 
/content/okapp/grandparent/parent/child2: no applicable definition found in 
parent node's node type] (48 ms)
org.apache.sling.ide.transport.RepositoryException: 
javax.jcr.nodetype.ConstraintViolationException: node 
/content/okapp/grandparent/parent/child2: no applicable definition found in 
parent node's node type
        at org.apache.sling.ide.impl.vlt.JcrResult.failure(JcrResult.java:33)
        at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:62)
        at 
org.apache.sling.ide.transport.TracingCommand.execute(TracingCommand.java:43)
        at 
org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.execute(SlingLaunchpadBehaviour.java:364)
        at 
org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishContentModule(SlingLaunchpadBehaviour.java:330)
        at 
org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishModule(SlingLaunchpadBehaviour.java:182)
        at 
org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
        at 
org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
        at 
org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:987)
        at 
org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
        at 
org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3154)
        at 
org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: javax.jcr.nodetype.ConstraintViolationException: node 
/content/okapp/grandparent/parent/child2: no applicable definition found in 
parent node's node type
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at 
org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:69)
        at 
org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:51)
        at 
org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(RepositoryServiceImpl.java:611)
        at 
org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.access$600(RepositoryServiceImpl.java:547)
        at 
org.apache.jackrabbit.spi2davex.RepositoryServiceImpl.submit(RepositoryServiceImpl.java:452)
        at 
org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.execute(WorkspaceManager.java:858)
        at 
org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.access$500(WorkspaceManager.java:817)
        at 
org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:620)
        at 
org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:139)
        at org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:250)
        at org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:333)
        at 
org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.update(AddOrUpdateNodeCommand.java:113)
        at 
org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:80)
        at 
org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:1)
        at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:54)
        ... 11 more
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to