[java-identity-provider COMMIT] /trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/...

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 21 12:57:14 GMT 2012


Author: lajoie
Date: Wed Mar 21 12:57:14 2012
New Revision: 4127

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4127&view=rev
Log:
Once all the policies have been applied, we should iterate over the prefiltered attribute set, not the filtered one, in order to be able to determine which attributes were never touched by a permit rule.

Modified:
    trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java

Modified: trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java?rev=4127&r1=4126&r2=4127&view=diff
==============================================================================
--- trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java (original)
+++ trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java Wed Mar 21 12:57:14 2012
@@ -146,7 +146,7 @@
 
         Optional<Collection> filteredAttributeValues;
         Attribute filteredAttribute;
-        for (String attributeId : filterContext.getPermittedAttributeValues().keySet()) {
+        for (String attributeId : filterContext.getPrefilteredAttributes().keySet()) {
             filteredAttributeValues = getFilteredValues(attributeId, filterContext);
             if (filteredAttributeValues.isPresent() && !filteredAttributeValues.get().isEmpty()) {
                 try {
@@ -168,7 +168,7 @@
      * @param attributeId ID of the attribute whose values are to be retrieved
      * @param filterContext current attribute filter context
      * 
-     * @return {@link Optional#absent()} if not values were permitted to be released, {@link Optional} containing an
+     * @return {@link Optional#absent()} if no values were permitted to be released, {@link Optional} containing an
      *         empty collection if values were permitted but then all were removed by deny policies, or {@link Optional}
      *         with a collection containing permitted values
      */
@@ -182,10 +182,6 @@
         if (filteredAttributeValues == null || filteredAttributeValues.isEmpty()) {
             log.debug("Attribute filtering engine '{}': no policy permitted release of attribute {} values", getId(),
                     attributeId);
-            //
-            // Note that this code will not be exercised - empty attributes are stripped out in 
-            // AttributeFilterPolicy#apply
-            //
             return Optional.absent();
         }
 



More information about the commits mailing list