You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/04/03 18:09:00 UTC

svn commit: r1790028 - /sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java

Author: cziegeler
Date: Mon Apr  3 18:09:00 2017
New Revision: 1790028

URL: http://svn.apache.org/viewvc?rev=1790028&view=rev
Log:
SLING-6723 : Make dependency to javax.jcr, jcr.contentloader and jcr.api optional

Modified:
    sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java

Modified: sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java?rev=1790028&r1=1790027&r2=1790028&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java (original)
+++ sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java Mon Apr  3 18:09:00 2017
@@ -576,7 +576,13 @@ public class SlingFileUploadHandler {
     throws PersistenceException {
         Map<String, Object> properties = null;
         if ( typeHint != null ) {
-            properties = Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, (Object)typeHint);
+            // sling resource type not allowed for nt:file nor nt:resource
+            if ( !jcrSupport.isNode(parent)
+                 || (!JcrConstants.NT_FILE.equals(typeHint) && !JcrConstants.NT_RESOURCE.equals(typeHint)) ) {
+                properties = Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, (Object)typeHint);
+            } else {
+                properties = Collections.singletonMap(JcrConstants.JCR_PRIMARYTYPE, (Object)typeHint);
+            }
         }
         final Resource result = parent.getResourceResolver().create(parent, name, properties);
         changes.add(Modification.onCreated(result.getPath()));