[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-impl/src: main/java/net/shibboleth/idp/attribute/res...

noreply at shibboleth.net noreply at shibboleth.net
Tue Jan 8 07:10:16 EST 2013


Author: rdw
Date: Tue Jan  8 07:10:15 2013
New Revision: 4260

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4260&view=rev
Log:
IDP-12 IDP-13 IDP-18

Clean up a few method names (make consistent, remove typos)
Add extra testing around nulls coming back from the strategies (and test the tests)
Clean up the testing Strategies.

Added:
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/ConstantStringStrategy.java
      - copied, changed from r4258, trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/IdPEntityIdStrategy.java
Modified:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinition.java
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML2NameIDAttributeDefinition.java
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinition.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/IdPEntityIdStrategy.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/PrincipalStrategy.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/RpEntityIdStrategy.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinitionTest.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML2NameIDAttributeDefinitionTest.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java

Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinition.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinition.java?rev=4260&r1=4259&r2=4260&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinition.java (original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/ad/SAML1NameIdentifierAttributeDefinition.java Tue Jan  8 07:10:15 2013
@@ -34,11 +34,11 @@
 import net.shibboleth.idp.attribute.resolver.PluginDependencySupport;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.saml.saml1.core.NameIdentifier;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -157,13 +157,14 @@
      * @param resolutionContext current resolution context
      * 
      * @return the constructed NameIdentifier
+     * @throws AttributeResolutionException if the IdP Name is empty.
      */
     protected NameIdentifier buildNameId(@Nonnull String nameIdValue,
-            @Nonnull AttributeResolutionContext resolutionContext) {
+            @Nonnull AttributeResolutionContext resolutionContext) throws AttributeResolutionException {
 
         log.debug("NameIdAttribute {} : Building a SAML1 NameIdentifier with value for {}", getId(), nameIdValue);
 
-        final String idpEntityId = idPEntityIdStrategy.apply(resolutionContext);
+        final String idpEntityId = StringSupport.trimOrNull(idPEntityIdStrategy.apply(resolutionContext));
 
         NameIdentifier nameIdentifier = nameIdentifierBuilder.buildObject();
         nameIdentifier.setNameIdentifier(nameIdValue);
@@ -174,8 +175,11 @@
 
         if (nameIdQualifier != null) {
             nameIdentifier.setNameQualifier(nameIdQualifier);
+        } else if (null != idpEntityId) {
+            nameIdentifier.setNameQualifier(idpEntityId);
         } else {
-            nameIdentifier.setNameQualifier(idpEntityId);
+            throw new AttributeResolutionException("Attribute definition '" + getId()
+                    + " provided IdP EntityId was empty");
         }
 
         return nameIdentifier;
@@ -188,9 +192,11 @@
      * @param theValue an arbitrary value.
      * @param resolutionContext the context to get the rest of the values from
      * @return null or an attributeValue;
+     * @throws AttributeResolutionException if the IdP Name is empty.
      */
     @Nullable private XMLObjectAttributeValue encodeOneValue(@Nonnull AttributeValue theValue,
-            @Nonnull AttributeResolutionContext resolutionContext) {

[... 674 lines stripped ...]


More information about the commits mailing list