[java-identity-provider] branch master updated: IDP-1315 - Add relyingPartyID="" attribute to custom Syntaxes

Scott Cantor cantor.2 at osu.edu
Wed Sep 26 16:21:56 EDT 2018


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=278640bbcb24c1cdfa0495736c837eeb207dc223

The following commit(s) were added to refs/heads/master by this push:
       new  278640b   IDP-1315 - Add relyingPartyID="" attribute to custom Syntaxes
278640b is described below

commit 278640bbcb24c1cdfa0495736c837eeb207dc223
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Sep 26 16:21:51 2018 -0400

    IDP-1315 - Add relyingPartyID="" attribute to custom Syntaxes
    
    https://issues.shibboleth.net/jira/browse/IDP-1315
    
    Work around conversion warnings using factory methods.
---
 .../resolver/spring/BaseResolverPluginParser.java  |  3 +-
 .../spring/enc/BaseAttributeEncoderParser.java     |  1 +
 .../idp/profile/logic/RelyingPartyIdPredicate.java | 43 +++++++++++++++++++++-
 3 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
index b110492..c060af1 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
@@ -77,7 +77,8 @@ public abstract class BaseResolverPluginParser extends AbstractSingleBeanDefinit
         } else if (config.hasAttributeNS(null, "relyingParties")) {
             final BeanDefinitionBuilder rpBuilder =
                     BeanDefinitionBuilder.genericBeanDefinition(RelyingPartyIdPredicate.class);
-            rpBuilder .addConstructorArgValue(
+            rpBuilder.setFactoryMethod("fromCandidates");
+            rpBuilder.addConstructorArgValue(
                     SpringSupport.getAttributeValueAsList(config.getAttributeNodeNS(null, "relyingParties")));
             builder.addPropertyValue("activationCondition", rpBuilder.getBeanDefinition());
         }
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
index 7eedcee..0250547 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
@@ -84,6 +84,7 @@ public abstract class BaseAttributeEncoderParser extends AbstractSingleBeanDefin
         } else if (config.hasAttributeNS(null, "relyingParties")) {
             final BeanDefinitionBuilder rpBuilder =
                     BeanDefinitionBuilder.genericBeanDefinition(RelyingPartyIdPredicate.class);
+            rpBuilder.setFactoryMethod("fromCandidates");
             rpBuilder .addConstructorArgValue(
                     SpringSupport.getAttributeValueAsList(config.getAttributeNodeNS(null, "relyingParties")));
             builder.addPropertyValue("activationCondition", rpBuilder.getBeanDefinition());
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java
index f65e6ab..626c90b 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java
@@ -25,6 +25,7 @@ import javax.annotation.Nonnull;
 import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
 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.logic.StrategyIndirectedPredicate;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
@@ -54,7 +55,7 @@ public class RelyingPartyIdPredicate extends StrategyIndirectedPredicate<Profile
      * 
      * @param candidate a single value to check against
      */
-    public RelyingPartyIdPredicate(@Nonnull @NonnullElements @ParameterName(name="candidate") final String candidate) {
+    public RelyingPartyIdPredicate(@Nonnull @NotEmpty @ParameterName(name="candidate") final String candidate) {
         this(Collections.singleton(candidate));
     }
 
@@ -67,4 +68,44 @@ public class RelyingPartyIdPredicate extends StrategyIndirectedPredicate<Profile
         super(new RelyingPartyIdLookupFunction(), pred);
     }
     
+    /**
+     * Workaround for Spring type conversion ambiguities.
+     * 
+     * @param candidates hardwired set of values to check against
+     * 
+     * @return the predicate
+     * 
+     * @since 3.4.0
+     */
+    @Nonnull public static RelyingPartyIdPredicate fromCandidates(
+            @Nonnull @NonnullElements final Collection<String> candidates) {
+        return new RelyingPartyIdPredicate(candidates);
+    }
+    
+    /**
+     * Workaround for Spring type conversion ambiguities.
+     * 
+     * @param candidate a single value to check against
+     * 
+     * @return the predicate
+     * 
+     *  @since 3.4.0
+     */
+    @Nonnull public static RelyingPartyIdPredicate fromCandidate(@Nonnull @NotEmpty final String candidate) {
+        return new RelyingPartyIdPredicate(candidate);
+    }
+
+    /**
+     * Workaround for Spring type conversion ambiguities.
+     * 
+     * @param pred generalized predicate
+     * 
+     * @return the predicate
+     * 
+     * @since 3.4.0
+     */
+    @Nonnull public static RelyingPartyIdPredicate fromPredicate(@Nonnull final Predicate<String> pred) {
+        return new RelyingPartyIdPredicate(pred);
+    }
+    
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list