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)