[java-identity-provider] branch master updated: IDP-1487 - Add shorthand method for running AttributeFilter service
Scott Cantor
cantor.2 at osu.edu
Fri Aug 30 12:37:57 EDT 2019
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=306bd0f2f4df7a0e0eabf3134282a99f3db0a7f4
The following commit(s) were added to refs/heads/master by this push:
new 306bd0f IDP-1487 - Add shorthand method for running AttributeFilter service
306bd0f is described below
commit 306bd0f2f4df7a0e0eabf3134282a99f3db0a7f4
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Aug 30 12:37:54 2019 -0400
IDP-1487 - Add shorthand method for running AttributeFilter service
https://issues.shibboleth.net/jira/browse/IDP-1487
---
.../filter/context/AttributeFilterContext.java | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
index 91fd309..ee3b4ff 100644
--- a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
+++ b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
@@ -28,15 +28,21 @@ import javax.annotation.Nullable;
import javax.annotation.concurrent.NotThreadSafe;
import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.filter.AttributeFilter;
+import net.shibboleth.idp.attribute.filter.AttributeFilterException;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.service.ReloadableService;
+import net.shibboleth.utilities.java.support.service.ServiceableComponent;
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.profile.context.ProxiedRequesterContext;
import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
import org.opensaml.saml.metadata.resolver.MetadataResolver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
@@ -433,4 +439,31 @@ public final class AttributeFilterContext extends BaseContext {
return proxiedRequesterContext;
}
+ /**
+ * Helper method to invoke an AttributeFilter service using this context.
+ *
+ * @param attributeFilterService the service to invoke
+ *
+ * @since 4.0.0
+ */
+ public void filterAttributes(@Nonnull final ReloadableService<AttributeFilter> attributeFilterService) {
+
+ final Logger log = LoggerFactory.getLogger(AttributeFilterContext.class);
+ ServiceableComponent<AttributeFilter> component = null;
+ try {
+ component = attributeFilterService.getServiceableComponent();
+ if (null == component) {
+ log.error("Error filtering attributes: Invalid Attribute filter configuration");
+ } else {
+ component.getComponent().filterAttributes(this);
+ }
+ } catch (final AttributeFilterException e) {
+ log.error("Error filtering attributes", e);
+ } finally {
+ if (null != component) {
+ component.unpinComponent();
+ }
+ }
+ }
+
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list