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

Bertrand Delacretaz commented on SLING-8186:
--------------------------------------------

Thanks for clarifying [~cziegeler]!

I think there is a subtlety that causes this issue: the old code would only 
delete a property, it basically does

{code}
parent.adaptTo(ModifiableValueMap.class).remove(property.getName()); 
{code}

whereas now a resource with the same name as that property is deleted, the new 
code basically does

{code}
childRsrc = resolver.getResource(parent.getPath() + '/' + property.getName());
resolver.delete(childRsrc)
{code}

I'm wondering if that change was actually needed, wouldn't the old code also 
work with the Resource API? I think we do require a Resource to be adaptable to 
ModifiableValueMap with that API, or not?

The old code has the benefit of checking that what's being deleted is actually 
a property and not a Resource.

> Moved nt:file node disappears when @Delte parameter is used in same request
> ---------------------------------------------------------------------------
>
>                 Key: SLING-8186
>                 URL: https://issues.apache.org/jira/browse/SLING-8186
>             Project: Sling
>          Issue Type: Bug
>          Components: Servlets
>    Affects Versions: Servlets Post 2.3.26
>            Reporter: Burkhard Pauli
>            Priority: Major
>
> If a file is moved to a new location with the @MoveFrom parameter and the 
> request contains the @Delete parameter at the same time, the file is dropped 
> and never saved to the new location.
> Step to reproduce the issue:
>  # Create a node of type nt:file at the location {{/content/file}}
>  # Execute the following curl command:
>  {{curl -u admin:admin -F './test/title=Hello World' -F 
> './test/file@MoveFrom=/content/file' -F './test@Delete=true' 
> [http://localhost:4502/content]}}
> Observed behaviour:
>  The file is not saved at the new location at {{/content/test/file}} and it 
> is not available anymore at the old location {{/content/file}}
> Expected:
>  The file is saved at the new location {{/content/test/file}} as long as 
> other properties are saved when the request contains the delete operation 
> (like the title property in the example above).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to