[java-identity-provider COMMIT] in /trunk: idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/res...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Jan 28 05:19:47 EST 2014
Author: rdw
Date: Tue Jan 28 05:19:47 2014
New Revision: 5252
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5252&view=rev
Log:
IDP-359 Add embedded predicate class NameID C14N to simplify testing in pre-execute
Modified:
trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDTransientCanonicalization.java
Modified: trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java?rev=5252&r1=5251&r2=5252&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java (original)
+++ trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/ad/TransientIdAttributeDefinitionTest.java Tue Jan 28 05:19:47 2014
@@ -186,7 +186,7 @@
store.destroy();
}
- @Test public void decode2() throws ComponentInitializationException, ResolutionException, AttributeEncodingException, ProfileException {
+ @Test public void decode() throws ComponentInitializationException, ResolutionException, AttributeEncodingException, ProfileException {
final TransientIdAttributeDefinition defn = new TransientIdAttributeDefinition();
defn.setId(TEST_ATTRIBUTE_NAME);
Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDTransientCanonicalization.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDTransientCanonicalization.java?rev=5252&r1=5251&r2=5252&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDTransientCanonicalization.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDTransientCanonicalization.java Tue Jan 28 05:19:47 2014
@@ -31,73 +31,130 @@
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.saml2.core.NameID;
+import com.google.common.base.Predicate;
+
/**
* An action that operates on a {@link SubjectCanonicalizationContext} child of the current
- * {@link ProfileRequestContext}, and transforms the input {@link javax.security.auth.Subject}
- * into a principal name by searching for one and only one {@link NameIDPrincipal} custom principal.
+ * {@link ProfileRequestContext}, and transforms the input {@link javax.security.auth.Subject} into a principal name by
+ * searching for one and only one {@link NameIDPrincipal} custom principal.
*
* @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
- * @event {@link org.opensaml.profile.action.EventIds#INVALID_PROFILE_CTX}
- * @event {@link AuthnEventIds#SUBJECT_C14N_ERROR}
- * @event {@link AuthnEventIds#RESELECT_FLOW}
- * @pre <pre>ProfileRequestContext.getSubcontext(SubjectCanonicalizationContext.class, false) != null</pre>
- * @post <pre>SubjectCanonicalizationContext.getPrincipalName() != null
- * || SubjectCanonicalizationContext.getException() != null</pre>
+ * @event {@link AuthnEventIds#INVALID_SUBJECT}
+ * @pre <pre>
+ * ProfileRequestContext.getSubcontext(SubjectCanonicalizationContext.class, false) != null
+ * </pre>
+ * @post <pre>
+ * SubjectCanonicalizationContext.getPrincipalName() != null || SubjectCanonicalizationContext.getException() != null
+ * </pre>
*/
public class NameIDTransientCanonicalization extends AbstractTransientCanonicalization {
-
+
/** The custom Principal to operate on. */
@Nullable private String transientPrincipal;
-
-
-
+
+ /** Supplies logic for pre-execute test. */
+ @Nonnull private final ActivationCondition embeddedPredicate;
+
+ /**
+ * Constructor.
+ */
+ public NameIDTransientCanonicalization() {
+ embeddedPredicate = new ActivationCondition();
+ }
+
/** {@inheritDoc} */
- @Override
- protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
+ @Override protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final SubjectCanonicalizationContext c14nContext) throws SubjectCanonicalizationException {
-
- final Set<NameIDPrincipal> nameIDs;
- if (c14nContext.getSubject() != null) {
- nameIDs = c14nContext.getSubject().getPrincipals(NameIDPrincipal.class);
+
+ if (embeddedPredicate.apply(profileRequestContext, c14nContext, true)) {
+
[... 125 lines stripped ...]
More information about the commits
mailing list