[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdenti...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jan 29 21:09:39 EST 2014


Author: scantor
Date: Wed Jan 29 21:09:38 2014
New Revision: 3586

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3586&view=rev
Log:
Add format accessor to NameID generators to improve configuration.

Added:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/FormatSpecificNameIdentifierGenerator.java   (with props)
Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjectsTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjectsTest.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java?rev=3586&r1=3585&r2=3586&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java Wed Jan 29 21:09:38 2014
@@ -48,7 +48,8 @@
  * @param <NameIdType>  type of object produced
  */
 public abstract class AbstractNameIdentifierGenerator<NameIdType extends SAMLObject>
-        extends AbstractIdentifiableInitializableComponent implements NameIdentifierGenerator<NameIdType> {
+        extends AbstractIdentifiableInitializableComponent
+        implements FormatSpecificNameIdentifierGenerator<NameIdType> {
 
     /** A predicate indicating whether the component applies to a request. */
     @Nonnull private Predicate<ProfileRequestContext> activationCondition;
@@ -116,11 +117,8 @@
         omitQualifiers = flag;
     }
 
-    /**
-     * Get the Format attribute supported.
-     * 
-     * @return the format supported
-     */
+    /** {@inheritDoc} */
+    @Override
     @NonnullAfterInit @NotEmpty public String getFormat() {
         return format;
     }

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java?rev=3586&r1=3585&r2=3586&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java Wed Jan 29 21:09:38 2014
@@ -19,7 +19,6 @@
 
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -39,6 +38,7 @@
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.messaging.context.navigate.MessageLookup;
 import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.common.profile.FormatSpecificNameIdentifierGenerator;
 import org.opensaml.saml.common.profile.logic.MetadataNameIdentifierFormatStrategy;
 import org.opensaml.saml.saml1.core.Assertion;
 import org.opensaml.saml.saml1.core.NameIdentifier;
@@ -52,6 +52,10 @@
 
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
+import com.google.common.base.Predicates;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Lists;
 
 /**
@@ -90,7 +94,7 @@
     @Nonnull private Function<ProfileRequestContext, List<String>> formatLookupStrategy;
     
     /** Map of formats to generators. */
-    @Nonnull @NonnullElements private Map<String, List<SAML1NameIdentifierGenerator>> nameIdGeneratorMap;
+    @Nonnull @NonnullElements private ListMultimap<String, SAML1NameIdentifierGenerator> nameIdGeneratorMap;
 
     /** Fallback generator, generally for legacy support. */
     @Nullable private SAML1NameIdentifierGenerator defaultNameIdGenerator;
@@ -115,7 +119,7 @@
         responseLookupStrategy =
                 Functions.compose(new MessageLookup<Response>(), new OutboundMessageContextLookup<Response>());
         formatLookupStrategy = new MetadataNameIdentifierFormatStrategy();
-        nameIdGeneratorMap = Collections.emptyMap();
+        nameIdGeneratorMap = ArrayListMultimap.create();
         formats = Collections.emptyList();
     }
     
@@ -155,17 +159,27 @@
     }
     
     /**
-     * Set the map of formats to name identifier generation plugins to use.
-     * 

[... 315 lines stripped ...]


More information about the commits mailing list