[ 
https://issues.apache.org/jira/browse/SLING-3778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14070068#comment-14070068
 ] 

Robert Munteanu commented on SLING-3778:
----------------------------------------

The issue is both about the multi-valued information not being propagated and 
about the conversion from a single to a multi-valued property not being 
properly handled. We need to tackle both, but in the beginning I'd like to 
handle the conversion from single to multiple, which would fix the error in 
this particular scenario, and then revisit the ResourceProxy model and add more 
type information to the properties. Having a simple {{Map<String, Object>}} for 
the properties was a good start, but we need more. Unfortunately, it's going to 
propagate throughout the code base so the refactoring won't make it in time for 
1.0.2 .

> [tooling] multi valued properties are not correctly exported to the server
> --------------------------------------------------------------------------
>
>                 Key: SLING-3778
>                 URL: https://issues.apache.org/jira/browse/SLING-3778
>             Project: Sling
>          Issue Type: Bug
>          Components: IDE
>            Reporter: Stefan Egli
>            Assignee: Robert Munteanu
>            Priority: Critical
>             Fix For: Sling Eclipse IDE 1.0.2
>
>
> Consider the following .content.xml:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <jcr:root 
>     xmlns:sling="http://sling.apache.org/jcr/sling/1.0";
>     xmlns:jcr="http://www.jcp.org/jcr/1.0";
>     jcr:primaryType="sling:Folder"
>     multi="[first]"/>
> {code}
> This content is not correctly exported to the server - the property ends up 
> as a non-mvp.
> A subsequent change of the properties an array with 2 entries results in :
> {code}
> [July 21, 2014 9:28:44 PM CEST] AddOrUpdateNodeCommand -> 
> /apps/beispielapp/foo : JcrResult[ success:false, exception: 
> org.apache.sling.ide.transport.RepositoryException - 
> javax.jcr.ValueFormatException: /apps/beispielapp/foo/multiMultivalue 
> definition of /apps/beispielapp/foo/multi does not match to given value(s).] 
> (92 ms)
> org.apache.sling.ide.transport.RepositoryException: 
> javax.jcr.ValueFormatException: /apps/beispielapp/foo/multiMultivalue 
> definition of /apps/beispielapp/foo/multi does not match to given value(s).
>       at org.apache.sling.ide.impl.vlt.JcrResult.failure(JcrResult.java:33)
>       at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:65)
>       at 
> org.apache.sling.ide.transport.TracingCommand.execute(TracingCommand.java:43)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.execute(SlingLaunchpadBehaviour.java:455)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishContentModule(SlingLaunchpadBehaviour.java:415)
>       at 
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishModule(SlingLaunchpadBehaviour.java:231)
>       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.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:137)
>       at 
> org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
>       at 
> org.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:54)
>       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.ValueFormatException: 
> /apps/beispielapp/foo/multiMultivalue definition of 
> /apps/beispielapp/foo/multi does not match to given value(s).
>       at 
> org.apache.jackrabbit.jcr2spi.PropertyImpl.checkIsWritable(PropertyImpl.java:511)
>       at 
> org.apache.jackrabbit.jcr2spi.PropertyImpl.setValue(PropertyImpl.java:117)
>       at org.apache.jackrabbit.jcr2spi.NodeImpl.setProperty(NodeImpl.java:283)
>       at org.apache.jackrabbit.jcr2spi.NodeImpl.setProperty(NodeImpl.java:269)
>       at 
> org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.updateNode(AddOrUpdateNodeCommand.java:304)
>       at 
> org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.update(AddOrUpdateNodeCommand.java:99)
>       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:57)
>       ... 12 more
> {code}



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

Reply via email to