Author: cziegeler Date: Mon May 15 16:57:59 2017 New Revision: 1795224 URL: http://svn.apache.org/viewvc?rev=1795224&view=rev Log: SLING-6859 : Make dependency to javax.jcr optional
Modified: sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/SlingPostServlet.java Modified: sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/SlingPostServlet.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/SlingPostServlet.java?rev=1795224&r1=1795223&r2=1795224&view=diff ============================================================================== --- sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/SlingPostServlet.java (original) +++ sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/SlingPostServlet.java Mon May 15 16:57:59 2017 @@ -191,10 +191,10 @@ public class SlingPostServlet extends Sl /** Cached array of post response creators used during request processing. */ private PostResponseCreator[] cachedPostResponseCreators = new PostResponseCreator[0]; - private final ImportOperation importOperation = new ImportOperation(); - private VersioningConfiguration baseVersioningConfiguration; + private ImportOperation importOperation; + @Override protected void doPost(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws IOException { @@ -416,6 +416,10 @@ public class SlingPostServlet extends Sl @Activate protected void activate(final BundleContext bundleContext, final Config configuration) { + // the following operations require JCR: + if ( JCRSupport.INSTANCE.jcrEnabled()) { + importOperation = new ImportOperation(); + } // configure now this.configure(configuration); @@ -490,10 +494,11 @@ public class SlingPostServlet extends Sl this.modifyOperation.setDateParser(dateParser); this.modifyOperation.setDefaultNodeNameGenerator(nodeNameGenerator); - this.importOperation.setDefaultNodeNameGenerator(nodeNameGenerator); this.modifyOperation.setIgnoredParameterNamePattern(paramMatchPattern); - this.importOperation.setIgnoredParameterNamePattern(paramMatchPattern); - + if ( this.importOperation != null ) { + this.importOperation.setDefaultNodeNameGenerator(nodeNameGenerator); + this.importOperation.setIgnoredParameterNamePattern(paramMatchPattern); + } } @Override @@ -511,8 +516,9 @@ public class SlingPostServlet extends Sl internalOperations = null; } modifyOperation.setExtraNodeNameGenerators(null); - importOperation.setExtraNodeNameGenerators(null); - importOperation.setContentImporter(null); + if ( this.importOperation != null ) { + this.importOperation = null; + } } /** @@ -658,7 +664,9 @@ public class SlingPostServlet extends Sl } this.cachedNodeNameGenerators = localCache; this.modifyOperation.setExtraNodeNameGenerators(this.cachedNodeNameGenerators); - this.importOperation.setExtraNodeNameGenerators(this.cachedNodeNameGenerators); + if ( this.importOperation != null ) { + this.importOperation.setExtraNodeNameGenerators(this.cachedNodeNameGenerators); + } } /** @@ -722,11 +730,15 @@ public class SlingPostServlet extends Sl policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY) protected void bindContentImporter(final Object importer) { - importOperation.setContentImporter(importer); + if ( this.importOperation != null ) { + importOperation.setContentImporter(importer); + } } protected void unbindContentImporter(final Object importer) { - importOperation.unsetContentImporter(importer); + if ( this.importOperation != null ) { + importOperation.unsetContentImporter(importer); + } } private VersioningConfiguration createBaseVersioningConfiguration(Config config) {