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]>.

Reply via email to