[java-identity-provider] branch main updated: JSPT-108 ServiceableComponent should implement AutoClose

Rod Widdowson rdw at steadingsoftware.com
Sat Jul 23 13:15:16 UTC 2022


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=aaf354c60b028df2bde68b7bc1e87ea15fedf47b

The following commit(s) were added to refs/heads/main by this push:
     new aaf354c60 JSPT-108 ServiceableComponent should implement AutoClose
aaf354c60 is described below

commit aaf354c60b028df2bde68b7bc1e87ea15fedf47b
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Jul 23 14:12:24 2022 +0100

    JSPT-108 ServiceableComponent should implement AutoClose
    
    https://shibboleth.atlassian.net/browse/JSPT-108
    
    Exploit the fact of being AutoClose
---
 .../authn/impl/ValidateExternalAuthentication.java | 14 +++--------
 .../PrepareTicketValidationResponseAction.java     | 14 ++++-------
 .../cas/service/impl/ReloadingServiceRegistry.java |  9 ++------
 .../impl/AbstractAttributeDisplayFunction.java     |  9 ++------
 .../idp/profile/impl/FilterAttributes.java         | 10 ++------
 .../idp/profile/impl/ResolveAttributes.java        |  9 ++------
 .../impl/ProxySAML1NameIdentifierGenerator.java    |  9 ++------
 .../nameid/impl/ProxySAML2NameIDGenerator.java     |  9 ++------
 .../idp/saml/profile/impl/ReloadMetadata.java      |  9 +++-----
 .../impl/AddAttributeStatementToAssertion.java     | 11 +++------
 .../impl/FilterByQueriedAttributeDesignators.java  | 14 ++++-------
 .../impl/AddAttributeStatementToAssertion.java     |  8 +------
 .../profile/impl/FilterByQueriedAttributes.java    |  9 ++------
 .../profile/impl/ValidateSAMLAuthentication.java   | 27 ++++++----------------
 14 files changed, 40 insertions(+), 121 deletions(-)

diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
index b16ecc9bd..a314468b7 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
@@ -294,16 +294,12 @@ public class ValidateExternalAuthentication extends AbstractValidationAction {
             attributeContext.setIdPAttributes(null);
             return;
         }
-        
-        
         final AttributeFilterContext filterContext = extContext.getSubcontext(AttributeFilterContext.class, true);
         
         populateFilterContext(filterContext);
         
-        ServiceableComponent<AttributeFilter> component = null;
-
-        try {
-            component = attributeFilterService.getServiceableComponent();
+        try (final ServiceableComponent<AttributeFilter> component
+                    = attributeFilterService.getServiceableComponent()) {
             if (null == component) {
                 log.error("{} Error while filtering inbound attributes: Invalid Attribute Filter configuration",
                         getLogPrefix());
@@ -317,11 +313,7 @@ public class ValidateExternalAuthentication extends AbstractValidationAction {
         } catch (final AttributeFilterException e) {
             log.error("{} Error while filtering inbound attributes", getLogPrefix(), e);
             attributeContext.setIdPAttributes(null);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
-        }        
+        }
     }
     
     /**
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
index dbe5ae967..92561f8ee 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
@@ -172,6 +172,7 @@ public class PrepareTicketValidationResponseAction extends
         return true;
     }    
     
+    // Checkstyle: CyclomaticComplexity OFF
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
 
@@ -210,10 +211,9 @@ public class PrepareTicketValidationResponseAction extends
         
         final Collection<IdPAttribute> inputAttributes = attributeContext.getIdPAttributes().values();
         final ArrayList<Attribute> encodedAttributes = new ArrayList<>(inputAttributes.size());
-        
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = transcoderRegistry.getServiceableComponent();
+
+        try (final ServiceableComponent<AttributeTranscoderRegistry> component =
+                    transcoderRegistry.getServiceableComponent()) {
             if (component == null) {
                 log.error("{} Attribute transoding service unavailable", getLogPrefix());
                 ActionSupport.buildEvent(profileRequestContext, IdPEventIds.UNABLE_ENCODE_ATTRIBUTE);
@@ -227,14 +227,10 @@ public class PrepareTicketValidationResponseAction extends
                             attribute.getId());
                 }
             }
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
-        
         encodedAttributes.forEach(a -> response.addAttribute(a));
     }
+    // Checkstyle: CyclomaticComplexity ON
 
     /**
      * Access the registry of transcoding rules to transform the input attribute into a target type.
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/ReloadingServiceRegistry.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/ReloadingServiceRegistry.java
index a9d2be132..3fc704162 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/ReloadingServiceRegistry.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/ReloadingServiceRegistry.java
@@ -57,18 +57,13 @@ public class ReloadingServiceRegistry extends AbstractIdentifiableInitializableC
     @Nullable
     @Override
     public Service lookup(@Nonnull final String serviceURL) {
-        ServiceableComponent<ServiceRegistry> component = null;
-        try {
-            component = service.getServiceableComponent();
+        try (final ServiceableComponent<ServiceRegistry>
+            component = service.getServiceableComponent()) {
             if (null == component) {
                 log.error("ServiceRegistry '{}': error looking up service registry: Invalid configuration.", getId());
                 return null;
             }
             return component.getComponent().lookup(serviceURL);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
 }
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
index dca62a99f..7b13395a8 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
@@ -94,16 +94,11 @@ public abstract class AbstractAttributeDisplayFunction implements Function<IdPAt
 
         Map<Locale, String> displayInfo = cachedInfo.get(input);
         if (displayInfo == null) {
-            ServiceableComponent<AttributeTranscoderRegistry> component = null;
-            try {
-                component = transcoder.getServiceableComponent();
+            try (final ServiceableComponent<AttributeTranscoderRegistry> component =
+                    transcoder.getServiceableComponent()) {
                 if (component != null) {
                     displayInfo = getDisplayInfo(component.getComponent(), input);
                 }
-            } finally {
-                if (component != null) {
-                    component.unpinComponent();
-                }
             }
             cachedInfo.put(input, displayInfo);
         }
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
index c414d95b2..ccdf84c97 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
@@ -374,10 +374,8 @@ public class FilterAttributes extends AbstractProfileAction {
         
         populateFilterContext(profileRequestContext, filterContext);
 
-        ServiceableComponent<AttributeFilter> component = null;
-
-        try {
-            component = attributeFilterService.getServiceableComponent();
+        try (final ServiceableComponent<AttributeFilter> component =
+                    attributeFilterService.getServiceableComponent()) {
             if (null == component) {
                 log.error("{} Error encountered while filtering attributes : Invalid Attribute Filter configuration",
                         getLogPrefix());
@@ -401,10 +399,6 @@ public class FilterAttributes extends AbstractProfileAction {
             } else {
                 ActionSupport.buildEvent(profileRequestContext, IdPEventIds.UNABLE_FILTER_ATTRIBS);
             }
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
     
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
index 8e5d3b82c..7cb22c1a1 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
@@ -283,9 +283,8 @@ public final class ResolveAttributes extends AbstractProfileAction {
             }
         }
 
-        ServiceableComponent<AttributeResolver> component = null;
-        try {
-            component = attributeResolverService.getServiceableComponent();
+        try (final ServiceableComponent<AttributeResolver> component
+                = attributeResolverService.getServiceableComponent()) {
             if (null == component) {
                 log.error("{} Error resolving attributes: Invalid Attribute resolver configuration", getLogPrefix());
                 if (!maskFailures) {
@@ -308,10 +307,6 @@ public final class ResolveAttributes extends AbstractProfileAction {
             if (!maskFailures) {
                 ActionSupport.buildEvent(profileRequestContext, IdPEventIds.UNABLE_RESOLVE_ATTRIBS);
             }
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
 
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML1NameIdentifierGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML1NameIdentifierGenerator.java
index bce0c9640..161cdf0e4 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML1NameIdentifierGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML1NameIdentifierGenerator.java
@@ -55,17 +55,12 @@ public class ProxySAML1NameIdentifierGenerator implements SAML1NameIdentifierGen
     @Nullable public NameIdentifier generate(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull @NotEmpty final String format) throws SAMLException {
         
-        ServiceableComponent<NameIdentifierGenerationService> component = null;
-        try {
-            component = generatorService.getServiceableComponent();
+        try (final ServiceableComponent<NameIdentifierGenerationService> component
+                = generatorService.getServiceableComponent()) {
             if (component == null) {
                 throw new SAMLException("Invalid NameIdentifierGenerationService configuration");
             }
             return component.getComponent().getSAML1NameIdentifierGenerator().generate(profileRequestContext, format);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
 
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML2NameIDGenerator.java
index b648ec5f0..68dcaffb2 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/ProxySAML2NameIDGenerator.java
@@ -55,17 +55,12 @@ public class ProxySAML2NameIDGenerator implements SAML2NameIDGenerator {
     @Nullable public NameID generate(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull @NotEmpty final String format) throws SAMLException {
         
-        ServiceableComponent<NameIdentifierGenerationService> component = null;
-        try {
-            component = generatorService.getServiceableComponent();
+        try (final ServiceableComponent<NameIdentifierGenerationService>
+                component = generatorService.getServiceableComponent()) {
             if (component == null) {
                 throw new SAMLException("Invalid NameIdentifierGenerationService configuration");
             }
             return component.getComponent().getSAML2NameIDGenerator().generate(profileRequestContext, format);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
 
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
index 11d0c96c1..d6161f4c1 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
@@ -154,8 +154,9 @@ public class ReloadMetadata extends AbstractProfileAction {
     @Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         log.debug("{} Reloading metadata from '{}'", getLogPrefix(), id);
 
-        final ServiceableComponent<MetadataResolver> component = metadataResolverService.getServiceableComponent();
-        try {
+        try (final ServiceableComponent<MetadataResolver>
+                    component = metadataResolverService.getServiceableComponent()) {
+
             final MetadataResolver toProcess = findProvider(component.getComponent());
 
             if (toProcess != null) {
@@ -184,10 +185,6 @@ public class ReloadMetadata extends AbstractProfileAction {
         } catch (final IOException e) {
             log.error("{} I/O error responding to request", getLogPrefix(), e);
             ActionSupport.buildEvent(profileRequestContext, EventIds.IO_ERROR);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
     }
     
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
index b8751e0b0..868eeed61 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
@@ -134,10 +134,9 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
         }
 
         final ArrayList<Attribute> encodedAttributes = new ArrayList<>(attributes.size());
-        
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = getTranscoderRegistry().getServiceableComponent();
+
+        try (final ServiceableComponent<AttributeTranscoderRegistry>
+                    component = getTranscoderRegistry().getServiceableComponent()) {
             if (component == null) {
                 throw new AttributeEncodingException("Attribute transoding service unavailable");
             }
@@ -146,10 +145,6 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
                     encodeAttribute(component.getComponent(), profileRequestContext, attribute, encodedAttributes);
                 }
             }
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
 
         if (encodedAttributes.isEmpty()) {
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
index 248b8f85a..69831e46e 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
@@ -167,12 +167,11 @@ public class FilterByQueriedAttributeDesignators extends AbstractProfileAction {
     /** {@inheritDoc} */
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-        
+
         final Set<String> decodedAttributeIds = new HashSet<>();
 
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = transcoderRegistry.getServiceableComponent();
+        try (final ServiceableComponent<AttributeTranscoderRegistry>
+                    component = transcoderRegistry.getServiceableComponent()) {
             if (component == null) {
                 log.error("Attribute transcoder service unavailable");
                 ActionSupport.buildEvent(profileRequestContext, EventIds.MESSAGE_PROC_ERROR);
@@ -187,13 +186,8 @@ public class FilterByQueriedAttributeDesignators extends AbstractProfileAction {
                     log.warn("{} Error decoding AttributeDesignators", getLogPrefix(), e);
                 }
             }
-        } finally {
-            if (component != null) {
-                component.unpinComponent();
-            }
         }
-                
-        
+
         final Collection<IdPAttribute> keepers = new ArrayList<>(query.getAttributeDesignators().size());
         log.debug("Query content mapped to attribute IDs: {}", decodedAttributeIds);
         
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
index cfc1515cf..3a9208bef 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
@@ -137,9 +137,7 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
 
         final ArrayList<Attribute> encodedAttributes = new ArrayList<>(attributes.size());
         
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = getTranscoderRegistry().getServiceableComponent();
+        try (final ServiceableComponent<AttributeTranscoderRegistry> component = getTranscoderRegistry().getServiceableComponent()) {
             if (component == null) {
                 throw new AttributeEncodingException("Attribute transoding service unavailable");
             }
@@ -148,10 +146,6 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
                     encodeAttribute(component.getComponent(), profileRequestContext, attribute, encodedAttributes);
                 }
             }
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
 
         if (encodedAttributes.isEmpty()) {
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
index 9708b5c96..6feb3c09b 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
@@ -169,9 +169,8 @@ public class FilterByQueriedAttributes extends AbstractProfileAction {
                 
         final Multimap<String,IdPAttribute> mapped = HashMultimap.create();
 
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = transcoderRegistry.getServiceableComponent();
+        try (final ServiceableComponent<AttributeTranscoderRegistry>
+                    component = transcoderRegistry.getServiceableComponent()) {
             if (component == null) {
                 log.error("Attribute transcoder service unavailable");
                 ActionSupport.buildEvent(profileRequestContext, EventIds.MESSAGE_PROC_ERROR);
@@ -185,10 +184,6 @@ public class FilterByQueriedAttributes extends AbstractProfileAction {
                     log.error("{} Error decoding queried Attribute", getLogPrefix(), e);
                 }
             }
-        } finally {
-            if (component != null) {
-                component.unpinComponent();
-            }
         }
                 
         log.debug("{} Query content mapped to attribute IDs: {}", getLogPrefix(), mapped.keySet());
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
index ec77ca000..37382684c 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
@@ -446,9 +446,8 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
         
         final Multimap<String,IdPAttribute> mapped = HashMultimap.create();
 
-        ServiceableComponent<AttributeTranscoderRegistry> component = null;
-        try {
-            component = transcoderRegistry.getServiceableComponent();
+        try (final ServiceableComponent<AttributeTranscoderRegistry>
+                component = transcoderRegistry.getServiceableComponent()) {
             if (component == null) {
                 log.error("Attribute transcoder service unavailable");
                 return;
@@ -466,14 +465,10 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
                     }
                 }
             }
-        } finally {
-            if (component != null) {
-                component.unpinComponent();
-            }
         }
-                
+
         log.debug("{} Incoming SAML Attributes mapped to attribute IDs: {}", getLogPrefix(), mapped.keySet());
-        
+
         if (!mapped.isEmpty()) {
             attributeContext = profileRequestContext
                     .getSubcontext(RelyingPartyContext.class)
@@ -525,17 +520,13 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
             log.warn("{} No AttributeFilter service provided", getLogPrefix());
             return;
         }
-        
-        
+
         final AttributeFilterContext filterContext =
                 profileRequestContext.getSubcontext(AttributeFilterContext.class, true);
-        
+
         populateFilterContext(profileRequestContext, filterContext);
-        
-        ServiceableComponent<AttributeFilter> component = null;
 
-        try {
-            component = attributeFilterService.getServiceableComponent();
+        try (final ServiceableComponent<AttributeFilter> component = attributeFilterService.getServiceableComponent()) {
             if (null == component) {
                 log.error("{} Error while filtering inbound attributes: Invalid Attribute Filter configuration",
                         getLogPrefix());
@@ -547,10 +538,6 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
             }
         } catch (final AttributeFilterException e) {
             log.error("{} Error while filtering inbound attributes", getLogPrefix(), e);
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }        
     }
     

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list