This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.xss-2.0.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-xss.git
commit e2bf950c560a386721402f8cf5c390db12f20270 Author: Carsten Ziegeler <[email protected]> AuthorDate: Wed Apr 26 10:37:14 2017 +0000 SLING-6794 : Inconsistent handling of default configuration git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/xss@1792725 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/sling/xss/impl/XSSFilterImpl.java | 57 ++++++++++------------ 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java b/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java index c50b75c..f395d01 100644 --- a/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java +++ b/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java @@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory; ) public class XSSFilterImpl implements XSSFilter, ResourceChangeListener, ExternalResourceChangeListener { - private final Logger LOGGER = LoggerFactory.getLogger(XSSFilterImpl.class); + private final Logger logger = LoggerFactory.getLogger(XSSFilterImpl.class); // Default href configuration copied from the config.xml supplied with AntiSamy static final Attribute DEFAULT_HREF_ATTRIBUTE = new Attribute( @@ -97,7 +97,7 @@ public class XSSFilterImpl implements XSSFilter, ResourceChangeListener, Externa public void onChange(@Nonnull List<ResourceChange> resourceChanges) { for (ResourceChange change : resourceChanges) { if (change.getPath().endsWith(DEFAULT_POLICY_PATH)) { - LOGGER.info("Detected policy file change ({}) at {}. Updating default handler.", change.getType().name(), change.getPath()); + logger.info("Detected policy file change ({}) at {}. Updating default handler.", change.getType().name(), change.getPath()); updateDefaultHandler(); } } @@ -189,49 +189,44 @@ public class XSSFilterImpl implements XSSFilter, ResourceChangeListener, Externa private synchronized void updateDefaultHandler() { this.defaultHandler = null; - ResourceResolver xssResourceResolver = null; - try { - xssResourceResolver = resourceResolverFactory.getServiceResourceResolver(null); + try (final ResourceResolver xssResourceResolver = resourceResolverFactory.getServiceResourceResolver(null)) { Resource policyResource = xssResourceResolver.getResource(DEFAULT_POLICY_PATH); if (policyResource != null) { try (InputStream policyStream = policyResource.adaptTo(InputStream.class)) { setDefaultHandler(new PolicyHandler(policyStream)); - LOGGER.info("Installed default policy from {}.", policyResource.getPath()); + logger.info("Installed default policy from {}.", policyResource.getPath()); } catch (Exception e) { Throwable[] suppressed = e.getSuppressed(); if (suppressed.length > 0) { for (Throwable t : suppressed) { - LOGGER.error("Unable to load policy from " + policyResource.getPath(), t); + logger.error("Unable to load policy from " + policyResource.getPath(), t); } } - LOGGER.error("Unable to load policy from " + policyResource.getPath(), e); + logger.error("Unable to load policy from " + policyResource.getPath(), e); } - } else { - // the content was not installed but the service is active; let's use the embedded file for the default handler - LOGGER.warn("Could not find a policy file at the default location {}. Attempting to use the default resource embedded in" + - " the bundle.", DEFAULT_POLICY_PATH); - try (InputStream policyStream = this.getClass().getClassLoader().getResourceAsStream(EMBEDDED_POLICY_PATH)) { - setDefaultHandler(new PolicyHandler(policyStream)); - LOGGER.info("Installed default policy from the embedded {} file from the bundle.", EMBEDDED_POLICY_PATH); - } catch (Exception e) { - Throwable[] suppressed = e.getSuppressed(); - if (suppressed.length > 0) { - for (Throwable t : suppressed) { - LOGGER.error("Unable to load policy from embedded policy file.", t); - } + } + } catch (final LoginException e) { + logger.error("Unable to load the default policy file.", e); + } + if (defaultHandler == null) { + // the content was not installed but the service is active; let's use the embedded file for the default handler + logger.info("Could not find a policy file at the default location {}. Attempting to use the default resource embedded in" + + " the bundle.", DEFAULT_POLICY_PATH); + try (InputStream policyStream = this.getClass().getClassLoader().getResourceAsStream(EMBEDDED_POLICY_PATH)) { + setDefaultHandler(new PolicyHandler(policyStream)); + logger.info("Installed default policy from the embedded {} file from the bundle.", EMBEDDED_POLICY_PATH); + } catch (Exception e) { + Throwable[] suppressed = e.getSuppressed(); + if (suppressed.length > 0) { + for (Throwable t : suppressed) { + logger.error("Unable to load policy from embedded policy file.", t); } - LOGGER.error("Unable to load policy from embedded policy file.", e); } + logger.error("Unable to load policy from embedded policy file.", e); } - if (defaultHandler == null) { - throw new IllegalStateException("Cannot load a default policy handler."); - } - } catch (LoginException e) { - LOGGER.error("Unable to load the default policy file.", e); - } finally { - if (xssResourceResolver != null) { - xssResourceResolver.close(); - } + } + if (defaultHandler == null) { + throw new IllegalStateException("Cannot load a default policy handler."); } } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
