[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
Tue Apr 30 09:04:05 EDT 2013


Author: rdw
Date: Tue Apr 30 09:04:05 2013
New Revision: 4433

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4433&view=rev
Log:
IDP-283 Remove use of Optional inside filtering Engine

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=4433&r1=4432&r2=4433&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 Tue Apr 30 09:04:05 2013
@@ -46,7 +46,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
@@ -144,17 +143,16 @@
             policy.apply(filterContext);
         }
 
-        Optional<Collection> filteredAttributeValues;
         Attribute filteredAttribute;
         for (String attributeId : filterContext.getPrefilteredAttributes().keySet()) {
-            filteredAttributeValues = getFilteredValues(attributeId, filterContext);
-            if (filteredAttributeValues.isPresent() && !filteredAttributeValues.get().isEmpty()) {
+            final Collection filteredAttributeValues = getFilteredValues(attributeId, filterContext);
+            if (null != filteredAttributeValues && !filteredAttributeValues.isEmpty()) {
                 try {
                     filteredAttribute = prefilteredAttributes.get(attributeId).clone();
                 } catch (CloneNotSupportedException e) {
                     throw new AttributeFilteringException(e);
                 }
-                filteredAttribute.setValues(filteredAttributeValues.get());
+                filteredAttribute.setValues(filteredAttributeValues);
                 filterContext.getFilteredAttributes().put(filteredAttribute.getId(), filteredAttribute);
             }
         }
@@ -168,11 +166,10 @@
      * @param attributeId ID of the attribute whose values are to be retrieved
      * @param filterContext current attribute filter context
      * 
-     * @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
-     */
-    protected Optional<Collection> getFilteredValues(@Nonnull @NotEmpty final String attributeId,
+     * @return null if no values were permitted to be released, an empty collection if values were permitted but 
+     *         then all were removed by deny policies, a collection containing permitted values
+     */
+    @Nullable protected Collection getFilteredValues(@Nonnull @NotEmpty final String attributeId,
             @Nonnull final AttributeFilterContext filterContext) {
         Constraint.isNotNull(attributeId, "attributeId can not be null");
         Constraint.isNotNull(filterContext, "filterContext can not be null");
@@ -182,7 +179,7 @@
         if (filteredAttributeValues == null || filteredAttributeValues.isEmpty()) {
             log.debug("Attribute filtering engine '{}': no policy permitted release of attribute {} values", getId(),
                     attributeId);
-            return Optional.absent();
+            return null;
         }
 
         if (filterContext.getDeniedAttributeValues().containsKey(attributeId)) {
@@ -192,13 +189,12 @@
         if (filteredAttributeValues.isEmpty()) {
             log.debug("Attribute filtering engine '{}': deny policies filtered out all values for attribute '{}'",
                     getId(), attributeId);
-            return Optional.absent();
         } else {
             log.debug("Attribute filtering engine '{}': {} values for attribute '{}' remained after filtering",
                     new Object[] {getId(), filteredAttributeValues.size(), attributeId,});
         }
 
-        return Optional.of(filteredAttributeValues);
+        return filteredAttributeValues;
     }
 
     /** {@inheritDoc} */



More information about the commits mailing list