SLING-6723 : Make dependency to javax.jcr, jcr.contentloader and jcr.api optional
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1790029 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java b/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
index 0ebb080..aa5fb1a 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
@@ -127,10 +127,13 @@
boolean createNtFile = parentResource.isResourceType(JcrConstants.NT_FOLDER) || this.jcrSupport.isNodeType(parentResource, JcrConstants.NT_FOLDER);
String typeHint = prop.getTypeHint();
if (typeHint != null) {
- createNtFile = this.jcrSupport.isFileNodeType(parentResource.getResourceResolver(), typeHint);
- if ( !createNtFile ) {
+ Boolean isFileNodeType = this.jcrSupport.isFileNodeType(parentResource.getResourceResolver(), typeHint);
+ if ( isFileNodeType == null ) {
// assuming type not valid.
+ createNtFile = false;
typeHint = null;
+ } else {
+ createNtFile = isFileNodeType;
}
}
diff --git a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
index b8f6b97..fc1a8df 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
@@ -88,7 +88,7 @@
return false;
}
- public boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
+ public Boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
if ( supportImpl != null ) {
return ((JCRSupportImpl)supportImpl).isFileNodeType(resolver, nodeType);
}
diff --git a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
index 631f0b2..d5b040c 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
@@ -219,7 +219,7 @@
return false;
}
- public boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
+ public Boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
final Session session = resolver.adaptTo(Session.class);
if ( session != null ) {
try {
@@ -228,6 +228,7 @@
return nt.isNodeType(JcrConstants.NT_FILE);
} catch (RepositoryException e) {
// assuming type not valid.
+ return null;
}
}
return false;