[java-identity-provider COMMIT] in /trunk: idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute....

noreply at shibboleth.net noreply at shibboleth.net
Fri Jan 13 16:20:56 EST 2017


Author: scantor
Date: Fri Jan 13 16:20:55 2017
New Revision: 8597

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8597&view=rev
Log:
IDP-1046 - Audit Guava Collections transform and filter for problematic usage

https://issues.shibboleth.net/jira/browse/IDP-1046

Also added some missing annotations.

Modified:
    trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
    trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationFlowDescriptor.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/CertificateContext.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddress.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/principal/impl/InexactPrincipalEvalPredicateFactory.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/security/KeyAuthoritySupport.java

Modified: trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java?rev=8597&r1=8596&r2=8597&view=diff
==============================================================================
--- trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java	(original)
+++ trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java	Fri Jan 13 16:20:55 2017
@@ -32,6 +32,7 @@
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
 import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -56,19 +57,19 @@
 public class IdPAttribute implements Comparable<IdPAttribute>, Cloneable {
 
     /** ID of this attribute. */
-    private final String id;
+    @Nonnull private final String id;
 
     /** Localized human intelligible attribute names. */
-    private Map<Locale, String> displayNames;
+    @Nonnull private Map<Locale, String> displayNames;
 
     /** Localized human readable descriptions of attribute. */
-    private Map<Locale, String> displayDescriptions;
+    @Nonnull private Map<Locale, String> displayDescriptions;
 
     /** Values for this attribute. */
-    private List<IdPAttributeValue<?>> values;
+    @Nonnull private List<IdPAttributeValue<?>> values;
 
     /** Encoders that may be used to encode this attribute. */
-    private Set<AttributeEncoder<?>> encoders;
+    @Nonnull private Set<AttributeEncoder<?>> encoders;
 
     /**
      * Constructor.
@@ -161,7 +162,7 @@
      * 
      * @return values of the attribute
      */
-    @Nonnull @NonnullElements @Unmodifiable public List<IdPAttributeValue<?>> getValues() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public List<IdPAttributeValue<?>> getValues() {
         return values;
     }
 
@@ -171,11 +172,11 @@
      * @param newValues the new values for this attribute
      */
     public void setValues(@Nullable @NullableElements final Collection<? extends IdPAttributeValue<?>> newValues) {
-        final ImmutableList.Builder<IdPAttributeValue<?>> builder = ImmutableList.builder();
         if (newValues != null) {
-            builder.addAll(Collections2.filter(newValues, Predicates.notNull()));
-        }
-        values = builder.build();
+            values = ImmutableList.copyOf(Collections2.filter(newValues, Predicates.notNull()));
+        } else {
+            values = ImmutableList.of();
+        }
     }
 
     /**
@@ -183,7 +184,7 @@
      * 
      * @return attribute encoders usable with this attribute
      */
-    @Nonnull @NonnullElements @Unmodifiable public Set<AttributeEncoder<?>> getEncoders() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<AttributeEncoder<?>> getEncoders() {
         return encoders;
     }
 
@@ -193,11 +194,11 @@
      * @param newEncoders the new encoders for this attribute
      */
     public void setEncoders(@Nullable @NullableElements final Collection<AttributeEncoder<?>> newEncoders) {
-        final ImmutableSet.Builder<AttributeEncoder<?>> builder = ImmutableSet.builder();
         if (newEncoders != null) {
-            builder.addAll(Collections2.filter(newEncoders, Predicates.notNull()));
-        }
-        encoders = builder.build();

[... 230 lines stripped ...]


More information about the commits mailing list