[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