[java-identity-provider] branch master updated: OSJ-280 - Remove generics from Message/Profile APIs

Scott Cantor cantor.2 at osu.edu
Wed Jul 31 12:45:36 EDT 2019


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=3b629a78280f66a2591c7561dd0a7efab3dafd73

The following commit(s) were added to refs/heads/master by this push:
       new  3b629a7   OSJ-280 - Remove generics from Message/Profile APIs
3b629a7 is described below

commit 3b629a78280f66a2591c7561dd0a7efab3dafd73
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Jul 31 12:45:33 2019 -0400

    OSJ-280 - Remove generics from Message/Profile APIs
    
    https://issues.shibboleth.net/jira/browse/OSJ-280
---
 .../filter/matcher/impl/ScriptedMatcherTest.java   |  2 +-
 .../impl/PredicatePolicyRuleTest.java              |  4 ++--
 .../policyrule/impl/ScriptedPolicyRuleTest.java    |  2 +-
 .../spring/policy/PredicateRuleParserTest.java     |  4 ++--
 .../resolver/AttributeResolutionLookupTest.java    |  2 +-
 .../idp/attribute/resolver/ad/impl/LogicTest.java  |  6 +++---
 .../dc/impl/ScriptedDataConnectorTest.java         |  6 +++---
 .../impl/AttributeResolutionContextTest.java       |  2 +-
 .../spring/ad/SimpleAttributeParserTest.java       |  2 +-
 .../idp/authn/AbstractAuthenticationAction.java    | 19 ++++++-----------
 .../idp/authn/AbstractExtractionAction.java        |  6 +-----
 .../AbstractSubjectCanonicalizationAction.java     | 19 ++++++-----------
 .../idp/authn/AbstractValidationAction.java        | 24 +++++++---------------
 .../impl/ExtractDuoAuthenticationFromHeaders.java  |  9 ++------
 .../cas/flow/impl/AbstractCASProtocolAction.java   |  2 --
 .../impl/AbstractOutgoingSamlMessageAction.java    |  4 ++--
 .../BuildSamlValidationFailureMessageAction.java   |  5 ++---
 .../BuildSamlValidationSuccessMessageAction.java   |  5 ++---
 .../cas/flow/impl/ProcessSamlMessageAction.java    |  3 +--
 .../idp/test/flows/mapper/SpoofSAMLMessage.java    |  2 +-
 .../test/flows/saml2/AbstractSAML2SSOFlowTest.java |  5 ++---
 .../idp/test/flows/saml2/SAML2POSTSSOFlowTest.java |  4 ++--
 .../saml2/SAML2POSTSimpleSignSSOFlowTest.java      |  4 ++--
 .../test/flows/saml2/SAML2RedirectSSOFlowTest.java |  4 ++--
 .../idp/profile/AbstractProfileAction.java         | 13 +++++-------
 .../AbstractProfileInterceptorAction.java          | 16 +++++----------
 .../profile/logic/SpringExpressionPredicate.java   |  4 ++--
 .../context/navigate/ScriptedFunctionTest.java     | 10 ++++-----
 .../idp/profile/logic/ScriptedPredicateTest.java   |  4 ++--
 .../idp/profile/impl/LogContextTree.java           |  6 +++---
 .../profile/impl/MetadataQueryRequestDecoder.java  |  4 ++--
 .../profile/impl/ResolverTestRequestDecoder.java   |  4 ++--
 .../profile/impl/WebFlowMessageHandlerAdaptor.java | 12 +++--------
 .../profile/impl/WebFlowProfileActionAdaptor.java  |  9 ++------
 .../impl/CriteriaSelfEntityIDResolver.java         |  2 +-
 ...gCriteriaRelyingPartyConfigurationResolver.java |  2 +-
 .../saml/saml1/profile/SAML1ActionSupportTest.java |  4 ++--
 .../saml/saml2/profile/SAML2ActionSupportTest.java |  4 ++--
 .../BaseIdPInitiatedSSORequestMessageDecoder.java  |  5 +----
 .../profile/impl/ExtractSubjectFromRequest.java    |  4 ++--
 .../impl/IdPInitiatedSSORequestMessageDecoder.java |  9 ++++----
 .../messaging/impl/LibertyHTTPSOAP11Decoder.java   | 22 ++++++++++++--------
 .../messaging/impl/LibertyHTTPSOAP11Encoder.java   | 14 ++++++-------
 .../impl/IdPInitiatedSSORequestMessageDecoder.java | 16 +++++++--------
 .../saml/saml2/profile/impl/SOAPLogoutRequest.java |  8 +++++---
 .../net/shibboleth/idp/saml/impl/TestSources.java  |  2 +-
 .../impl/CryptoTransientNameIDDecoderTest.java     |  2 +-
 .../CryptoTransientNameIdentifierDecoderTest.java  |  2 +-
 .../nameid/impl/NameIDCanonicalizationTest.java    |  2 +-
 .../impl/NameIdentifierCanonicalizationTest.java   |  2 +-
 .../idp/saml/nameid/impl/TransientDecoderTest.java |  2 +-
 .../IdPInitiatedSSORequestMessageDecoderTest.java  |  4 ++--
 .../impl/PopulateOutboundMessageContextTest.java   |  6 +++---
 .../impl/LibertyHTTPSOAP11DecoderTest.java         |  3 +--
 .../impl/LibertyHTTPSOAP11EncoderTest.java         |  4 +---
 .../IdPInitiatedSSORequestMessageDecoderTest.java  |  3 +--
 .../impl/ProcessRequestedAuthnContextTest.java     | 16 +++++++--------
 57 files changed, 151 insertions(+), 214 deletions(-)

diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
index c2544a8..0f0da6d 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/ScriptedMatcherTest.java
@@ -306,7 +306,7 @@ public class ScriptedMatcherTest extends AbstractMatcherPolicyRuleTest {
 
         matcher.setId("prc");
         matcher.initialize();
-        final  ProfileRequestContext<Object, Object> prc = new ProfileRequestContext<>();
+        final  ProfileRequestContext prc = new ProfileRequestContext();
         prc.getSubcontext(RelyingPartyContext.class, true).addSubcontext(filterContext);
         final SubjectContext sc = prc.getSubcontext(SubjectContext.class, true);
         
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
index 2c02e99..57abb0c 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
@@ -52,7 +52,7 @@ public class PredicatePolicyRuleTest {
         rule.setId("id");
         rule.setRulePredicate(new TestPred(false));
         rule.initialize();
-        ProfileRequestContext pc = new ProfileRequestContext<>();
+        ProfileRequestContext pc = new ProfileRequestContext();
         RelyingPartyContext rpc = pc.getSubcontext(RelyingPartyContext.class, true);
         assertEquals(rule.matches(rpc.getSubcontext(AttributeFilterContext.class, true)), Tristate.FALSE);
     }
@@ -102,7 +102,7 @@ public class PredicatePolicyRuleTest {
 
         /** {@inheritDoc} */
         @Override @Nullable public ProfileRequestContext apply(@Nullable AttributeFilterContext input) {
-            return new ProfileRequestContext<>();
+            return new ProfileRequestContext();
         }
 
     }
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
index 2063cb1..27f5096 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/impl/ScriptedPolicyRuleTest.java
@@ -216,7 +216,7 @@ public class ScriptedPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
         
         assertEquals(rule.matches(filterContext), Tristate.FAIL);
         
-        final ProfileRequestContext<Object, Object> prc = new ProfileRequestContext<>(); 
+        final ProfileRequestContext prc = new ProfileRequestContext(); 
         prc.getSubcontext(RelyingPartyContext.class, true).addSubcontext(filterContext);
         final SubjectContext sc = prc.getSubcontext(SubjectContext.class, true);
         
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
index 98d4a5e..dbf3c5c 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
@@ -57,7 +57,7 @@ public class PredicateRuleParserTest extends BaseAttributeFilterParserTest {
 
         assertEquals(rule.getRulePredicate().getClass(), Foo.class);
         assertNull(rule.getProfileContextStrategy().apply(new AttributeFilterContext()));
-        ProfileRequestContext pc = new ProfileRequestContext<>();
+        ProfileRequestContext pc = new ProfileRequestContext();
         assertSame(
                 rule.getProfileContextStrategy().apply(
                         pc.getSubcontext(RelyingPartyContext.class, true).getSubcontext(AttributeFilterContext.class,
@@ -121,7 +121,7 @@ public class PredicateRuleParserTest extends BaseAttributeFilterParserTest {
 
         /** {@inheritDoc} */
         @Override public ProfileRequestContext apply(@Nullable AttributeFilterContext input) {
-            return new ProfileRequestContext<>();
+            return new ProfileRequestContext();
         }
 
     }
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
index d0e9feb..6aeb144 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
@@ -34,7 +34,7 @@ import org.testng.annotations.Test;
 public class AttributeResolutionLookupTest {
     
     @Test public void apply() {
-        final ProfileRequestContext pfc = new ProfileRequestContext<>();
+        final ProfileRequestContext pfc = new ProfileRequestContext();
         pfc.getSubcontext(AttributeResolutionContext.class, true).setAttributeIssuerID("child");
 
         final TestClass what = new TestClass();
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
index c01fabf..89fac62 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
@@ -42,7 +42,7 @@ public class LogicTest {
     
 
     @Test public void empty() {
-        final ProfileRequestContext pfc = new ProfileRequestContext<>();
+        final ProfileRequestContext pfc = new ProfileRequestContext();
         
         assertFalse(aiip.test(pfc));
         assertFalse(app.test(pfc));
@@ -55,7 +55,7 @@ public class LogicTest {
     }
     
     @Test public void wrong() {
-        final ProfileRequestContext pfc = new ProfileRequestContext<>();
+        final ProfileRequestContext pfc = new ProfileRequestContext();
         final AttributeResolutionContext arc = pfc.getSubcontext(AttributeResolutionContext.class, true);
         
         arc.setAttributeIssuerID("badValue");
@@ -68,7 +68,7 @@ public class LogicTest {
     }
 
     @Test public void correct() {
-        final ProfileRequestContext pfc = new ProfileRequestContext<>();
+        final ProfileRequestContext pfc = new ProfileRequestContext();
         final AttributeResolutionContext arc = pfc.getSubcontext(AttributeResolutionContext.class, true);
         
         arc.setAttributeIssuerID("AII");
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
index 6d15ca3..980fe7a 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
@@ -70,7 +70,7 @@ public class ScriptedDataConnectorTest {
 
         connector.initialize();
 
-        final AttributeResolutionContext context = new ProfileRequestContext<>().getSubcontext(AttributeResolutionContext.class,  true);
+        final AttributeResolutionContext context = new ProfileRequestContext().getSubcontext(AttributeResolutionContext.class,  true);
         context.getSubcontext(AttributeResolverWorkContext.class, true);
         
         connector.resolve(context);
@@ -85,7 +85,7 @@ public class ScriptedDataConnectorTest {
 
         connector.initialize();
 
-        final AttributeResolutionContext context = new ProfileRequestContext<>().getSubcontext(AttributeResolutionContext.class,  true);
+        final AttributeResolutionContext context = new ProfileRequestContext().getSubcontext(AttributeResolutionContext.class,  true);
         
         final SubjectContext sc = context.getParent().getSubcontext(SubjectContext.class, true);
         
@@ -141,7 +141,7 @@ public class ScriptedDataConnectorTest {
 
         connector.initialize();
 
-        final AttributeResolutionContext context = new ProfileRequestContext<>().getSubcontext(AttributeResolutionContext.class,  true);
+        final AttributeResolutionContext context = new ProfileRequestContext().getSubcontext(AttributeResolutionContext.class,  true);
         context.getSubcontext(AttributeResolverWorkContext.class, true);
         final Map<String, IdPAttribute> result = connector.resolve(context);
 
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
index 917c3b3..6cc2164 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
@@ -114,7 +114,7 @@ public class AttributeResolutionContextTest {
     }
     
     @Test public void lookupsParent() {
-        final ProfileRequestContext profileCtx = new ProfileRequestContext<>();
+        final ProfileRequestContext profileCtx = new ProfileRequestContext();
         final AttributeResolutionContext context = profileCtx.getSubcontext(AttributeResolutionContext.class, true);
         
         context.setPrincipal(THE_PRINCIPAL);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/SimpleAttributeParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/SimpleAttributeParserTest.java
index 3514a1c..e21596a 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/SimpleAttributeParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/SimpleAttributeParserTest.java
@@ -117,7 +117,7 @@ public class SimpleAttributeParserTest extends BaseAttributeDefinitionParserTest
 
         AttributeDefinition attr = getAttributeDefn("resolver/relyingParties.xml", SimpleAttributeDefinition.class, context);
         RelyingPartyIdPredicate pre = (RelyingPartyIdPredicate) attr.getActivationCondition();
-        ProfileRequestContext prc = new ProfileRequestContext<>();
+        ProfileRequestContext prc = new ProfileRequestContext();
         RelyingPartyContext rpContext = prc.getSubcontext(RelyingPartyContext.class, true);
         rpContext.setRelyingPartyId("p1");
         assertTrue(pre.test(prc));
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractAuthenticationAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractAuthenticationAction.java
index 2780f5c..325e5d2 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractAuthenticationAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractAuthenticationAction.java
@@ -40,13 +40,10 @@ import org.opensaml.messaging.context.navigate.ChildContextLookup;
  * Authentication action implementations should override
  * {@link #doExecute(ProfileRequestContext, AuthenticationContext)}
  * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
- * 
  * @event {@link AuthnEventIds#INVALID_AUTHN_CTX}
  */
-public abstract class AbstractAuthenticationAction<InboundMessageType, OutboundMessageType>
-        extends AbstractProfileAction<InboundMessageType, OutboundMessageType> {
+public abstract class AbstractAuthenticationAction
+        extends AbstractProfileAction {
 
     /**
      * Strategy used to extract, and create if necessary, the {@link AuthenticationContext} from the
@@ -75,8 +72,7 @@ public abstract class AbstractAuthenticationAction<InboundMessageType, OutboundM
     
     /** {@inheritDoc} */
     @Override
-    protected final boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    protected final boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
 
         if (super.doPreExecute(profileRequestContext)) {
             authnContext = authnCtxLookupStrategy.apply(profileRequestContext);
@@ -93,8 +89,7 @@ public abstract class AbstractAuthenticationAction<InboundMessageType, OutboundM
     
     /** {@inheritDoc} */
     @Override
-    protected final void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    protected final void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         doExecute(profileRequestContext, authnContext);
     }
 
@@ -106,8 +101,7 @@ public abstract class AbstractAuthenticationAction<InboundMessageType, OutboundM
      * 
      * @return true iff execution should continue
      */
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext) {
         return true;
     }
@@ -118,8 +112,7 @@ public abstract class AbstractAuthenticationAction<InboundMessageType, OutboundM
      * @param profileRequestContext the current IdP profile request context
      * @param authenticationContext the current authentication context
      */
-    protected void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext) {
         
     }
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
index ef5c673..3fc6013 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
@@ -41,12 +41,8 @@ import org.slf4j.LoggerFactory;
  * 
  * <p>The base class adds a common mechanism for applying regular expression transforms to
  * the username prior to being added to the context tree.</p>
- *  
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
  */
-public abstract class AbstractExtractionAction<InboundMessageType, OutboundMessageType>
-        extends AbstractAuthenticationAction<InboundMessageType, OutboundMessageType> {
+public abstract class AbstractExtractionAction extends AbstractAuthenticationAction {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractExtractionAction.class);
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractSubjectCanonicalizationAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractSubjectCanonicalizationAction.java
index 9371fa7..e99d0ae 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractSubjectCanonicalizationAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractSubjectCanonicalizationAction.java
@@ -52,13 +52,10 @@ import org.slf4j.LoggerFactory;
  * Authentication action implementations should override
  * {@link #doExecute(ProfileRequestContext, SubjectCanonicalizationContext)}
  * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
- * 
  * @event {@link AuthnEventIds#INVALID_SUBJECT_C14N_CTX}
  */
-public abstract class AbstractSubjectCanonicalizationAction<InboundMessageType, OutboundMessageType>
-        extends AbstractProfileAction<InboundMessageType, OutboundMessageType> {
+public abstract class AbstractSubjectCanonicalizationAction
+        extends AbstractProfileAction {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractSubjectCanonicalizationAction.class);
@@ -158,8 +155,7 @@ public abstract class AbstractSubjectCanonicalizationAction<InboundMessageType,
     
     /** {@inheritDoc} */
     @Override
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         scContext = scCtxLookupStrategy.apply(profileRequestContext);
         if (scContext == null) {
             ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.INVALID_SUBJECT_C14N_CTX);
@@ -178,8 +174,7 @@ public abstract class AbstractSubjectCanonicalizationAction<InboundMessageType,
      * 
      * @return true iff execution should continue
      */
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final SubjectCanonicalizationContext c14nContext) {
         
         if (c14nContext.getSubject() == null) {
@@ -193,8 +188,7 @@ public abstract class AbstractSubjectCanonicalizationAction<InboundMessageType,
     
     /** {@inheritDoc} */
     @Override
-    protected final void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    protected final void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         doExecute(profileRequestContext, scContext);
     }
 
@@ -204,8 +198,7 @@ public abstract class AbstractSubjectCanonicalizationAction<InboundMessageType,
      * @param profileRequestContext the current IdP profile request context
      * @param c14nContext the current subject canonicalization context
      */
-    protected void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final SubjectCanonicalizationContext c14nContext) {
         
     }
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
index 6d4fa90..206ff4c 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
@@ -66,15 +66,11 @@ import com.google.common.collect.Iterables;
  * A base class for authentication related actions that validate credentials and produce an
  * {@link AuthenticationResult}.
  * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
- * 
  * @event {@link EventIds#INVALID_PROFILE_CTX}
  * @event {@link AuthnEventIds#REQUEST_UNSUPPORTED}
  * @pre <pre>ProfileRequestContext.getSubcontext(AuthenticationContext.class).getAttemptedFlow() != null</pre>
  */
-public abstract class AbstractValidationAction<InboundMessageType, OutboundMessageType>
-        extends AbstractAuthenticationAction<InboundMessageType, OutboundMessageType>
+public abstract class AbstractValidationAction extends AbstractAuthenticationAction
             implements PrincipalSupportingComponent {
 
     /** Default prefix for metrics. */
@@ -219,8 +215,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
      * 
      * @param strategy lookup strategy
      */
-    public void setRequesterLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,String> strategy) {
+    public void setRequesterLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
 
         requesterLookupStrategy = strategy;
@@ -277,8 +272,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
 // Checkstyle: CyclomaticComplexity OFF
     /** {@inheritDoc} */
     @Override
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext) {
         
         if (!super.doPreExecute(profileRequestContext, authenticationContext)) {
@@ -346,8 +340,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
      * @param profileRequestContext the current profile request context
      * @param authenticationContext the current authentication context
      */
-    protected void buildAuthenticationResult(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void buildAuthenticationResult(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext) {
         
         if (addDefaultPrincipals && authenticationContext.getAttemptedFlow() != null) {
@@ -423,8 +416,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
      * @param eventId the event to "return" via an {@link org.opensaml.profile.context.EventContext} if
      *  the exception message is not classified
      */
-    protected void handleError(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void handleError(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext, @Nonnull final Exception e,
             @Nonnull @NotEmpty final String eventId) {
 
@@ -450,8 +442,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
      * @param eventId the event to "return" via an {@link org.opensaml.profile.context.EventContext} if
      *  the message is not classified
      */
-    protected void handleError(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void handleError(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext, @Nullable final String message,
             @Nonnull @NotEmpty final String eventId) {
 
@@ -492,8 +483,7 @@ public abstract class AbstractValidationAction<InboundMessageType, OutboundMessa
      * @param eventId the event to "return" via an {@link org.opensaml.profile.context.EventContext} if
      *  the message is not classified
      */
-    protected void handleWarning(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void handleWarning(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext, @Nullable final String message,
             @Nonnull @NotEmpty final String eventId) {
         
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
index ba43d7c..8105619 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
@@ -43,9 +43,6 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
 /**
  * An action that extracts the Duo factor and device or passcode from HTTP request headers into a
  * {@link DuoAuthenticationContext}, and attaches it to the {@link AuthenticationContext}.
- * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
 
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
  * @event {@link AuthnEventIds#NO_CREDENTIALS}
@@ -57,8 +54,7 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
  * @post If getHttpServletRequest() != null, the content of the headers are checked.
  *      The information found will be attached via a {@link DuoAuthenticationContext}.
  */
-public class ExtractDuoAuthenticationFromHeaders<InboundMessageType,OutboundMessageType>
-        extends AbstractAuthenticationAction<InboundMessageType,OutboundMessageType> {
+public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationAction {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(ExtractDuoAuthenticationFromHeaders.class);
@@ -181,8 +177,7 @@ public class ExtractDuoAuthenticationFromHeaders<InboundMessageType,OutboundMess
 
 // Checkstyle: CyclomaticComplexity OFF
     /** {@inheritDoc} */
-    @Override protected void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext,
+    @Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final AuthenticationContext authenticationContext) {
 
         log.debug("{} Checking for Duo authentication headers", getLogPrefix());
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractCASProtocolAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractCASProtocolAction.java
index 45be3fc..b5ccb4a 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractCASProtocolAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractCASProtocolAction.java
@@ -35,8 +35,6 @@ import org.opensaml.profile.action.EventIds;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.webflow.execution.Event;
-import org.springframework.webflow.execution.RequestContext;
 
 /**
  * Base class for CAS protocol actions.
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractOutgoingSamlMessageAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractOutgoingSamlMessageAction.java
index 2933395..27a8a41 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractOutgoingSamlMessageAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/AbstractOutgoingSamlMessageAction.java
@@ -107,7 +107,7 @@ public abstract class AbstractOutgoingSamlMessageAction extends
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
 
-        final MessageContext<SAMLObject> msgContext = new MessageContext<>();
+        final MessageContext msgContext = new MessageContext();
         try {
             msgContext.setMessage(buildSamlResponse(profileRequestContext));
         } catch (final EventException e) {
@@ -139,6 +139,6 @@ public abstract class AbstractOutgoingSamlMessageAction extends
      * @throws EventException to signal an event
      */
     @Nonnull protected abstract Response buildSamlResponse(
-            @Nonnull final ProfileRequestContext<SAMLObject,SAMLObject> profileRequestContext) throws EventException;
+            @Nonnull final ProfileRequestContext profileRequestContext) throws EventException;
 
 }
\ No newline at end of file
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationFailureMessageAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationFailureMessageAction.java
index ad93c12..d8d6f53 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationFailureMessageAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationFailureMessageAction.java
@@ -27,7 +27,6 @@ import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
 
 import org.opensaml.profile.action.EventException;
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.saml1.core.Response;
 import org.opensaml.saml.saml1.core.Status;
 import org.opensaml.saml.saml1.core.StatusCode;
@@ -41,8 +40,8 @@ import org.opensaml.saml.saml1.core.StatusMessage;
 public class BuildSamlValidationFailureMessageAction extends AbstractOutgoingSamlMessageAction {
 
     @Override
-    @Nonnull protected Response buildSamlResponse(
-            @Nonnull final ProfileRequestContext<SAMLObject,SAMLObject> profileRequestContext) throws EventException {
+    @Nonnull protected Response buildSamlResponse(@Nonnull final ProfileRequestContext profileRequestContext)
+            throws EventException {
 
         final TicketValidationRequest request = getCASRequest(profileRequestContext);
         final TicketValidationResponse validationResponse = getCASResponse(profileRequestContext);
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationSuccessMessageAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationSuccessMessageAction.java
index cbcb258..b1fc014 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationSuccessMessageAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildSamlValidationSuccessMessageAction.java
@@ -36,7 +36,6 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.core.xml.schema.XSString;
 import org.opensaml.profile.action.EventException;
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.SAMLVersion;
 import org.opensaml.saml.saml1.core.Assertion;
 import org.opensaml.saml.saml1.core.Attribute;
@@ -98,8 +97,8 @@ public class BuildSamlValidationSuccessMessageAction extends AbstractOutgoingSam
     }
 
     @Override
-    @Nonnull protected Response buildSamlResponse(
-            @Nonnull final ProfileRequestContext<SAMLObject,SAMLObject> profileRequestContext) throws EventException {
+    @Nonnull protected Response buildSamlResponse(@Nonnull final ProfileRequestContext profileRequestContext)
+            throws EventException {
 
         final Instant now = Instant.now();
 
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
index 80da408..c8d7a3f 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
@@ -30,7 +30,6 @@ import net.shibboleth.idp.profile.ActionSupport;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.action.EventException;
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.saml1.core.AssertionArtifact;
 import org.opensaml.saml.saml1.core.Request;
 import org.slf4j.Logger;
@@ -70,7 +69,7 @@ public class ProcessSamlMessageAction extends
         }
 
         // Extract ticket from SAML request
-        final MessageContext<SAMLObject> msgContext = profileRequestContext.getInboundMessageContext();
+        final MessageContext msgContext = profileRequestContext.getInboundMessageContext();
         String ticket = null;
         if (msgContext.getMessage() instanceof Request) {
             final Request request = (Request) msgContext.getMessage();
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/mapper/SpoofSAMLMessage.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/mapper/SpoofSAMLMessage.java
index 13dbc16..56943c5 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/mapper/SpoofSAMLMessage.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/mapper/SpoofSAMLMessage.java
@@ -34,7 +34,7 @@ public class SpoofSAMLMessage extends AbstractProfileAction {
     protected void doExecute(
             @Nonnull final ProfileRequestContext profileRequestContext) {
 
-        MessageContext mc = new MessageContext<>();
+        final MessageContext mc = new MessageContext();
         profileRequestContext.setInboundMessageContext(mc);
         SAMLPeerEntityContext spec = mc.getSubcontext(SAMLPeerEntityContext.class, true);
         
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java
index 000f1b2..2d64593 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java
@@ -28,7 +28,6 @@ import net.shibboleth.utilities.java.support.net.SimpleURLCanonicalizer;
 import net.shibboleth.utilities.java.support.net.URLBuilder;
 
 import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.messaging.context.SAMLEndpointContext;
 import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
 import org.opensaml.saml.common.xml.SAMLConstants;
@@ -204,8 +203,8 @@ public abstract class AbstractSAML2SSOFlowTest extends AbstractSAML2FlowTest {
 
     }
 
-    public MessageContext<SAMLObject> buildOutboundMessageContext(AuthnRequest authnRequest, String bindingUri) {
-        MessageContext<SAMLObject> messageContext = new MessageContext<>();
+    public MessageContext buildOutboundMessageContext(AuthnRequest authnRequest, String bindingUri) {
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(authnRequest);
 
         SAMLPeerEntityContext peerContext = messageContext.getSubcontext(SAMLPeerEntityContext.class, true);
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSSOFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSSOFlowTest.java
index 293c7d1..9cd198a 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSSOFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSSOFlowTest.java
@@ -70,9 +70,9 @@ public class SAML2POSTSSOFlowTest extends AbstractSAML2SSOFlowTest {
         final AuthnRequest authnRequest = buildAuthnRequest(request);
         authnRequest.setDestination(getDestinationPost(request));
 
-        final MessageContext<SAMLObject> messageContext =
+        final MessageContext messageContext =
                 buildOutboundMessageContext(authnRequest, SAMLConstants.SAML2_POST_BINDING_URI);
-        final SAMLObject message = messageContext.getMessage();
+        final SAMLObject message = (SAMLObject) messageContext.getMessage();
         final String encodedMessage = encodeMessage(message);
         request.addParameter("SAMLRequest", encodedMessage);
     }
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSimpleSignSSOFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSimpleSignSSOFlowTest.java
index e65fd83..841e914 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSimpleSignSSOFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2POSTSimpleSignSSOFlowTest.java
@@ -70,9 +70,9 @@ public class SAML2POSTSimpleSignSSOFlowTest extends AbstractSAML2SSOFlowTest {
         final AuthnRequest authnRequest = buildAuthnRequest(request);
         authnRequest.setDestination(getDestinationPostSimpleSign(request));
 
-        final MessageContext<SAMLObject> messageContext =
+        final MessageContext messageContext =
                 buildOutboundMessageContext(authnRequest, SAMLConstants.SAML2_POST_SIMPLE_SIGN_BINDING_URI);
-        final SAMLObject message = messageContext.getMessage();
+        final SAMLObject message = (SAMLObject) messageContext.getMessage();
         final String encodedMessage = encodeMessage(message);
         request.addParameter("SAMLRequest", encodedMessage);
     }
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2RedirectSSOFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2RedirectSSOFlowTest.java
index 8351d22..4d56d17 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2RedirectSSOFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/SAML2RedirectSSOFlowTest.java
@@ -75,9 +75,9 @@ public class SAML2RedirectSSOFlowTest extends AbstractSAML2SSOFlowTest {
         final AuthnRequest authnRequest = buildAuthnRequest(request);
         authnRequest.setDestination(getDestinationRedirect(request));
 
-        final MessageContext<SAMLObject> messageContext =
+        final MessageContext messageContext =
                 buildOutboundMessageContext(authnRequest, SAMLConstants.SAML2_REDIRECT_BINDING_URI);
-        final SAMLObject message = messageContext.getMessage();
+        final SAMLObject message = (SAMLObject) messageContext.getMessage();
         final String encodedMessage = encodeMessage(message);
         request.addParameter("SAMLRequest", encodedMessage);
     }
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/AbstractProfileAction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/AbstractProfileAction.java
index 8505a2b..da11ef6 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/AbstractProfileAction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/AbstractProfileAction.java
@@ -61,13 +61,10 @@ import org.springframework.webflow.execution.RequestContext;
  * <p>Action implementations may override {@link #doExecute(RequestContext, ProfileRequestContext)}
  * if they require SWF functionality, but most should override {@link #doExecute(ProfileRequestContext)}
  * instead.</p>
- * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
  */
 @ThreadSafe
-public abstract class AbstractProfileAction<InboundMessageType,OutboundMessageType>
-        extends AbstractConditionalProfileAction<InboundMessageType,OutboundMessageType>
+public abstract class AbstractProfileAction
+        extends AbstractConditionalProfileAction
         implements Action, MessageSource, MessageSourceAware {
 
     /** Class logger. */
@@ -116,7 +113,7 @@ public abstract class AbstractProfileAction<InboundMessageType,OutboundMessageTy
     @Nonnull public Event execute(@Nonnull final RequestContext springRequestContext) {
         ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
 
-        final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext =
+        final ProfileRequestContext profileRequestContext =
                 profileContextLookupStrategy.apply(springRequestContext);
         if (profileRequestContext == null) {
             log.error("{} IdP profile request context is not available", getLogPrefix());
@@ -143,7 +140,7 @@ public abstract class AbstractProfileAction<InboundMessageType,OutboundMessageTy
      * @return a Web Flow event produced by the action
      */
     @Nonnull protected Event doExecute(@Nonnull final RequestContext springRequestContext,
-            @Nonnull final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext) {
+            @Nonnull final ProfileRequestContext profileRequestContext) {
         
         // Attach the Spring context to the context tree.
         final SpringRequestContext springSubcontext =
@@ -172,7 +169,7 @@ public abstract class AbstractProfileAction<InboundMessageType,OutboundMessageTy
      * @return  an event based on the profile request context, or "proceed"
      */
     @Nonnull protected Event getResult(@Nonnull final ProfileAction action,
-            @Nonnull final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext) {
+            @Nonnull final ProfileRequestContext profileRequestContext) {
         
         // Check for an EventContext on output.
         final EventContext eventCtx = profileRequestContext.getSubcontext(EventContext.class, false);
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/interceptor/AbstractProfileInterceptorAction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/interceptor/AbstractProfileInterceptorAction.java
index aff2438..ac673df 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/interceptor/AbstractProfileInterceptorAction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/interceptor/AbstractProfileInterceptorAction.java
@@ -42,12 +42,9 @@ import org.slf4j.LoggerFactory;
  * 
  * Interceptor action implementations should override
  * {@link #doExecute(ProfileRequestContext, ProfileInterceptorContext)}
- * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
  */
-public abstract class AbstractProfileInterceptorAction<InboundMessageType, OutboundMessageType> extends
-        AbstractProfileAction<InboundMessageType, OutboundMessageType> {
+public abstract class AbstractProfileInterceptorAction extends
+        AbstractProfileAction {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractProfileInterceptorAction.class);
@@ -95,16 +92,14 @@ public abstract class AbstractProfileInterceptorAction<InboundMessageType, Outbo
      * 
      * @return true iff execution should continue
      */
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final ProfileInterceptorContext interceptorContext) {
 
         return true;
     }
 
     /** {@inheritDoc} */
-    @Override protected final void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    @Override protected final void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         doExecute(profileRequestContext, profileInterceptorContext);
     }
 
@@ -114,8 +109,7 @@ public abstract class AbstractProfileInterceptorAction<InboundMessageType, Outbo
      * @param profileRequestContext the current profile request context
      * @param interceptorContext the current profile interceptor context
      */
-    protected void doExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext,
+    protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
             @Nonnull final ProfileInterceptorContext interceptorContext) {
 
     }
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SpringExpressionPredicate.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SpringExpressionPredicate.java
index 1ec7150..ff3299a 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SpringExpressionPredicate.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SpringExpressionPredicate.java
@@ -32,7 +32,7 @@ import org.springframework.expression.EvaluationContext;
  * @author Daniel Lutz
  */
 public class SpringExpressionPredicate
-    extends net.shibboleth.ext.spring.util.SpringExpressionPredicate<ProfileRequestContext<?,?>> {
+    extends net.shibboleth.ext.spring.util.SpringExpressionPredicate<ProfileRequestContext> {
 
     /**
      * Constructor.
@@ -46,7 +46,7 @@ public class SpringExpressionPredicate
     /** {@inheritDoc} */
     @Override
     protected void prepareContext(@Nonnull final EvaluationContext context,
-            @Nullable final ProfileRequestContext<?,?> input) {
+            @Nullable final ProfileRequestContext input) {
         context.setVariable("profileContext", input);
     }
 
diff --git a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/context/navigate/ScriptedFunctionTest.java b/idp-profile-api/src/test/java/net/shibboleth/idp/profile/context/navigate/ScriptedFunctionTest.java
index 92d7adb..40b50b0 100644
--- a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/context/navigate/ScriptedFunctionTest.java
+++ b/idp-profile-api/src/test/java/net/shibboleth/idp/profile/context/navigate/ScriptedFunctionTest.java
@@ -54,7 +54,7 @@ public class ScriptedFunctionTest {
 
     
     @Test public void simpleScript() throws ScriptException {
-        ProfileRequestContext prc = new ProfileRequestContext<>();
+        ProfileRequestContext prc = new ProfileRequestContext();
         
         final Object string = ScriptedContextLookupFunction.inlineScript(stringReturn()).apply(prc);
 
@@ -66,7 +66,7 @@ public class ScriptedFunctionTest {
     }
     
     @Test public void custom() throws ScriptException {
-        ProfileRequestContext prc = new ProfileRequestContext<>();
+        ProfileRequestContext prc = new ProfileRequestContext();
         
         final ScriptedContextLookupFunction script = ScriptedContextLookupFunction.inlineScript("custom;");
         script.setCustomObject("String");
@@ -78,7 +78,7 @@ public class ScriptedFunctionTest {
     
     
     @Test public void withType() throws ScriptException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
-        ProfileRequestContext prc = new ProfileRequestContext<>();
+        ProfileRequestContext prc = new ProfileRequestContext();
 
         final ScriptedContextLookupFunction script1 = ScriptedContextLookupFunction.inlineScript(stringReturn(), Object.class);
         
@@ -97,14 +97,14 @@ public class ScriptedFunctionTest {
     @Test(expectedExceptions={ClassCastException.class,}) public void wrongType() throws ScriptException {
         final ScriptedContextLookupFunction script1 = ScriptedContextLookupFunction.inlineScript(stringReturn(), Object.class);
         
-        script1.apply(new MessageContext<>());
+        script1.apply(new MessageContext());
         
     }
 
     @Test public void messageContext() throws ScriptException {
         final ScriptedContextLookupFunction<MessageContext> script1 = ScriptedContextLookupFunction.inlineMessageContextScript(stringReturn(), Object.class);
         
-        Assert.assertEquals(script1.apply(new MessageContext<>()), "String");
+        Assert.assertEquals(script1.apply(new MessageContext()), "String");
         Assert.assertEquals(script1.apply(null), "String");
     }
 }
diff --git a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/ScriptedPredicateTest.java b/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/ScriptedPredicateTest.java
index 6c87dd0..6218f8f 100644
--- a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/ScriptedPredicateTest.java
+++ b/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/ScriptedPredicateTest.java
@@ -39,9 +39,9 @@ public class ScriptedPredicateTest {
     private ProfileRequestContext noChild;
 
     @BeforeClass public void setup() {
-        withChild = new ProfileRequestContext<>();
+        withChild = new ProfileRequestContext();
         withChild.getSubcontext(RelyingPartyContext.class, true);
-        noChild = new ProfileRequestContext<>();
+        noChild = new ProfileRequestContext();
     }
 
     @Test public void simple() throws ScriptException {
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/LogContextTree.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/LogContextTree.java
index cd9fa19..0f9ebb0 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/LogContextTree.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/LogContextTree.java
@@ -112,14 +112,14 @@ public class LogContextTree extends AbstractProfileAction {
         final String indentString = getIndent(indent);
         
         if (current instanceof ProfileRequestContext) {
-            final ProfileRequestContext<?,?> prc = (ProfileRequestContext) current;
+            final ProfileRequestContext prc = (ProfileRequestContext) current;
             
             log.debug("{} PRC: {}", indentString, prc.getClass().getName());
             for (final BaseContext subcontext : prc) {
                 logContext(subcontext, indent+1);
             }
             
-            final MessageContext<?> inbound = prc.getInboundMessageContext();
+            final MessageContext inbound = prc.getInboundMessageContext();
             if (inbound != null) {
                 log.debug("{} PRC InboundMessageContext: {}", indentString, inbound.getClass().getName());
                 for (final BaseContext subcontext : inbound) {
@@ -129,7 +129,7 @@ public class LogContextTree extends AbstractProfileAction {
                 log.debug("{} PRC InboundMessageContext not present", indentString);
             }
             
-            final MessageContext<?> outbound = prc.getOutboundMessageContext();
+            final MessageContext outbound = prc.getOutboundMessageContext();
             if (outbound != null) {
                 log.debug("{} PRC OutboundMessageContext: {}", indentString, outbound.getClass().getName());
                 for (final BaseContext subcontext : outbound) {
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/MetadataQueryRequestDecoder.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/MetadataQueryRequestDecoder.java
index 0634c91..25d32e8 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/MetadataQueryRequestDecoder.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/MetadataQueryRequestDecoder.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Decodes an incoming metadata query request.
  */
-public class MetadataQueryRequestDecoder extends AbstractHttpServletRequestMessageDecoder<MetadataQueryRequest> {
+public class MetadataQueryRequestDecoder extends AbstractHttpServletRequestMessageDecoder {
 
     /** Name of the query parameter carrying the entityID: {@value} . */
     @Nonnull @NotEmpty public static final String ENTITY_ID_PARAM = "entityID";
@@ -66,7 +66,7 @@ public class MetadataQueryRequestDecoder extends AbstractHttpServletRequestMessa
         message.setEntityID(getEntityID(request));
         message.setProtocol(getProtocol(request));
         
-        final MessageContext<MetadataQueryRequest> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(message);
         setMessageContext(messageContext);
         
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolverTestRequestDecoder.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolverTestRequestDecoder.java
index fbd017e..4b71cbf 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolverTestRequestDecoder.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolverTestRequestDecoder.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Decodes an incoming resolver test message.
  */
-public class ResolverTestRequestDecoder extends AbstractHttpServletRequestMessageDecoder<ResolverTestRequest> {
+public class ResolverTestRequestDecoder extends AbstractHttpServletRequestMessageDecoder {
 
     /** Name of the query parameter carrying the subject name: {@value} . */
     @Nonnull @NotEmpty public static final String PRINCIPAL_PARAM = "principal";
@@ -70,7 +70,7 @@ public class ResolverTestRequestDecoder extends AbstractHttpServletRequestMessag
         
         final ResolverTestRequest message = new ResolverTestRequest(getPrincipal(request), getRequesterId(request),
                 getIndex(request), getProtocol(request));
-        final MessageContext<ResolverTestRequest> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(message);
         setMessageContext(messageContext);
         
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowMessageHandlerAdaptor.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowMessageHandlerAdaptor.java
index d0ab4a0..799d55b 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowMessageHandlerAdaptor.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowMessageHandlerAdaptor.java
@@ -54,16 +54,12 @@ import org.slf4j.LoggerFactory;
  * </ul>
  * </p>
  * 
- * @param <InboundMessageType> type of inbound message
- * @param <OutboundMessageType> type of outbound message
- * 
  * @event {@link EventIds#PROCEED_EVENT_ID}
  * @event {@link EventIds#INVALID_PROFILE_CTX}
  * @event {@link EventIds#INVALID_MSG_CTX}
  * @event any, as set
  */
-public class WebFlowMessageHandlerAdaptor<InboundMessageType, OutboundMessageType> 
-        extends AbstractProfileAction<InboundMessageType, OutboundMessageType> {
+public class WebFlowMessageHandlerAdaptor extends AbstractProfileAction {
     
     /** Used to indicate the target message context for invocation of the adapted message handler. */
     public enum Direction {
@@ -141,8 +137,7 @@ public class WebFlowMessageHandlerAdaptor<InboundMessageType, OutboundMessageTyp
     
     /** {@inheritDoc} */
     @Override
-    protected boolean doPreExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext) {
+    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         if (!super.doPreExecute(profileRequestContext)) {
             return false;
         }
@@ -211,8 +206,7 @@ public class WebFlowMessageHandlerAdaptor<InboundMessageType, OutboundMessageTyp
 
     /** {@inheritDoc} */
     @Override
-    protected void doPostExecute(
-            @Nonnull final ProfileRequestContext<InboundMessageType,OutboundMessageType> profileRequestContext) {
+    protected void doPostExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         
         final MetricContext metricCtx = profileRequestContext.getSubcontext(MetricContext.class);
         if (metricCtx != null) {
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowProfileActionAdaptor.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowProfileActionAdaptor.java
index 9034ce4..563a2e1 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowProfileActionAdaptor.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/WebFlowProfileActionAdaptor.java
@@ -30,13 +30,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
 /**
  * Adaptor that wraps a {@link ProfileAction} with a Spring Web Flow compatible action implementation
  * so that it can be executed as part of a flow.
- * 
- * @param <InboundMessageType> type of in-bound message
- * @param <OutboundMessageType> type of out-bound message
  */
 @ThreadSafe
-public class WebFlowProfileActionAdaptor<InboundMessageType, OutboundMessageType>
-    extends AbstractProfileAction<InboundMessageType, OutboundMessageType> {
+public class WebFlowProfileActionAdaptor extends AbstractProfileAction {
 
     /** A POJO bean being adapted.  */
     @Nonnull private final ProfileAction action;
@@ -52,8 +48,7 @@ public class WebFlowProfileActionAdaptor<InboundMessageType, OutboundMessageType
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull public void execute(
-            @Nonnull final ProfileRequestContext<InboundMessageType, OutboundMessageType> profileRequestContext) {
+    @Nonnull public void execute(@Nonnull final ProfileRequestContext profileRequestContext) {
         action.execute(profileRequestContext);
     }
 
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/CriteriaSelfEntityIDResolver.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/CriteriaSelfEntityIDResolver.java
index ffe4f6c..36b9e88 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/CriteriaSelfEntityIDResolver.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/CriteriaSelfEntityIDResolver.java
@@ -152,7 +152,7 @@ public class CriteriaSelfEntityIDResolver extends AbstractIdentifiedInitializabl
         log.debug("Resolved effective role descriptor from criteria: {}", roleDescriptor);
 
         if (entityID != null || entityDescriptor != null || roleDescriptor != null) {
-            final ProfileRequestContext prc = new ProfileRequestContext<>();
+            final ProfileRequestContext prc = new ProfileRequestContext();
             final RelyingPartyContext rpc = prc.getSubcontext(RelyingPartyContext.class, true);
             rpc.setVerified(true);
 
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DelegatingCriteriaRelyingPartyConfigurationResolver.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DelegatingCriteriaRelyingPartyConfigurationResolver.java
index b8a6bd0..8ebdfe5 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DelegatingCriteriaRelyingPartyConfigurationResolver.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DelegatingCriteriaRelyingPartyConfigurationResolver.java
@@ -170,7 +170,7 @@ public class DelegatingCriteriaRelyingPartyConfigurationResolver extends Abstrac
         log.debug("Resolved effective role descriptor from criteria: {}", roleDescriptor);
 
         if (entityID != null || entityDescriptor != null || roleDescriptor != null) {
-            final ProfileRequestContext prc = new ProfileRequestContext<>();
+            final ProfileRequestContext prc = new ProfileRequestContext();
             final RelyingPartyContext rpc = prc.getSubcontext(RelyingPartyContext.class, true);
             rpc.setVerified(true);
 
diff --git a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml1/profile/SAML1ActionSupportTest.java b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml1/profile/SAML1ActionSupportTest.java
index 7158075..a31ed33 100644
--- a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml1/profile/SAML1ActionSupportTest.java
+++ b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml1/profile/SAML1ActionSupportTest.java
@@ -58,8 +58,8 @@ public class SAML1ActionSupportTest extends OpenSAMLInitBaseTestCase {
                         .setRelyingPartyProfileConfigurations(SAML1ActionTestingSupport.buildProfileConfigurations())
                         .buildRequestContext();
 
-        final ProfileRequestContext<Object, Response> profileRequestContext =
-                (ProfileRequestContext<Object, Response>) springRequestContext.getConversationScope().get(
+        final ProfileRequestContext profileRequestContext =
+                (ProfileRequestContext) springRequestContext.getConversationScope().get(
                         ProfileRequestContext.BINDING_KEY);
 
         ActionTestSupportAction action = new ActionTestSupportAction();
diff --git a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/SAML2ActionSupportTest.java b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/SAML2ActionSupportTest.java
index b51c9c8..bba0046 100644
--- a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/SAML2ActionSupportTest.java
+++ b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/SAML2ActionSupportTest.java
@@ -58,8 +58,8 @@ public class SAML2ActionSupportTest extends OpenSAMLInitBaseTestCase {
                         .setRelyingPartyProfileConfigurations(SAML2ActionTestingSupport.buildProfileConfigurations())
                         .buildRequestContext();
 
-        final ProfileRequestContext<Object, Response> profileRequestContext =
-                (ProfileRequestContext<Object, Response>) springRequestContext.getConversationScope().get(
+        final ProfileRequestContext profileRequestContext =
+                (ProfileRequestContext) springRequestContext.getConversationScope().get(
                         ProfileRequestContext.BINDING_KEY);
 
         ActionTestSupportAction action = new ActionTestSupportAction();
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseIdPInitiatedSSORequestMessageDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseIdPInitiatedSSORequestMessageDecoder.java
index 4e0e1ae..d66fa36 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseIdPInitiatedSSORequestMessageDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseIdPInitiatedSSORequestMessageDecoder.java
@@ -37,12 +37,9 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Decodes an incoming Shibboleth Authentication Request message.
- * 
- * @param <RequestType> type of decoded message
  */
 @NotThreadSafe
-public abstract class BaseIdPInitiatedSSORequestMessageDecoder<RequestType> extends
-        AbstractHttpServletRequestMessageDecoder<RequestType> {
+public abstract class BaseIdPInitiatedSSORequestMessageDecoder extends AbstractHttpServletRequestMessageDecoder {
 
     /** Name of the query parameter carrying the service provider entity ID: {@value} . */
     @Nonnull @NotEmpty public static final String PROVIDER_ID_PARAM = "providerId";
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
index 2df1087..f2ca8fc 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
@@ -131,7 +131,7 @@ public class ExtractSubjectFromRequest extends AbstractProfileAction {
     /** {@inheritDoc} */
     @Override
     protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-        final MessageContext<?> msgCtx = profileRequestContext.getInboundMessageContext();
+        final MessageContext msgCtx = profileRequestContext.getInboundMessageContext();
         if (msgCtx == null || msgCtx.getMessage() == null) {
             log.debug("{} No inbound message", getLogPrefix());
             ActionSupport.buildEvent(profileRequestContext, NO_SUBJECT);
@@ -208,7 +208,7 @@ public class ExtractSubjectFromRequest extends AbstractProfileAction {
         @Nullable public SAMLObject apply(@Nullable final ProfileRequestContext profileRequestContext) {
             
             if (profileRequestContext != null) {
-                final MessageContext<?> msgCtx = profileRequestContext.getInboundMessageContext();
+                final MessageContext msgCtx = profileRequestContext.getInboundMessageContext();
                 if (msgCtx != null) {
                     return msgCtx.getSubcontext(
                             SAMLSubjectNameIdentifierContext.class, true).getSubjectNameIdentifier();
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
index c212c42..4267fa8 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
@@ -33,8 +33,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /** Decodes an incoming Shibboleth Authentication Request message. */
-public class IdPInitiatedSSORequestMessageDecoder extends 
-        BaseIdPInitiatedSSORequestMessageDecoder<IdPInitiatedSSORequest> {
+public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSORequestMessageDecoder {
     
     /** Protocol binding implemented by this decoder. */
     @Nonnull @NotEmpty private static final String BINDING_URI = "urn:mace:shibboleth:1.0:profiles:AuthnRequest";
@@ -56,7 +55,7 @@ public class IdPInitiatedSSORequestMessageDecoder extends
     protected void doDecode() throws MessageDecodingException {
         final IdPInitiatedSSORequest ssoRequest = buildIdPInitiatedSSORequest();
 
-        final MessageContext<IdPInitiatedSSORequest> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(ssoRequest);
         
         messageContext.getSubcontext(SAMLPeerEntityContext.class, true).setEntityId(ssoRequest.getEntityId());
@@ -77,9 +76,9 @@ public class IdPInitiatedSSORequestMessageDecoder extends
      * 
      * @throws MessageDecodingException if the message content is invalid
      */
-    protected void populateBindingContext(@Nonnull final MessageContext<IdPInitiatedSSORequest> messageContext)
+    protected void populateBindingContext(@Nonnull final MessageContext messageContext)
         throws MessageDecodingException {
-        final String relayState = messageContext.getMessage().getRelayState();
+        final String relayState = ((IdPInitiatedSSORequest) messageContext.getMessage()).getRelayState();
         if (relayState == null) {
             throw new MessageDecodingException("Legacy Shibboleth authentication requests require a target parameter");
         }
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
index 1c2cd61..d7b47fb 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Decoder.java
@@ -58,8 +58,7 @@ import org.slf4j.LoggerFactory;
  * </p>
  * 
  */
-public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDecoder<SAMLObject> 
-        implements SAMLMessageDecoder {
+public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDecoder  implements SAMLMessageDecoder {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(LibertyHTTPSOAP11Decoder.class);
@@ -68,7 +67,7 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
     @Nullable private BindingDescriptor bindingDescriptor;
     
     /** Message handler to use in processing the message body. */
-    private MessageHandler<SAMLObject> bodyHandler;
+    private MessageHandler bodyHandler;
     
     /**
      * Constructor.
@@ -105,7 +104,7 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
      * 
      * @return Returns the bodyHandler.
      */
-    public MessageHandler<SAMLObject> getBodyHandler() {
+    public MessageHandler getBodyHandler() {
         return bodyHandler;
     }
 
@@ -114,7 +113,7 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
      * 
      * @param newBodyHandler The bodyHandler to set.
      */
-    public void setBodyHandler(final MessageHandler<SAMLObject> newBodyHandler) {
+    public void setBodyHandler(final MessageHandler newBodyHandler) {
         bodyHandler = newBodyHandler;
     }
     
@@ -131,7 +130,7 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
     /** {@inheritDoc} */
     @Override
     protected void doDecode() throws MessageDecodingException {
-        final MessageContext<SAMLObject> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         final HttpServletRequest request = getHttpServletRequest();
 
         if (!"POST".equalsIgnoreCase(request.getMethod())) {
@@ -164,8 +163,13 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
         
         populateBindingContext(getMessageContext());
         
-        final SAMLObject samlMessage = getMessageContext().getMessage();
-        log.debug("Decoded SOAP message which included SAML message of type {}", samlMessage.getElementQName());
+        final Object samlMessage = getMessageContext().getMessage();
+        if (samlMessage instanceof SAMLObject) {
+            log.debug("Decoded SOAP message which included SAML message of type {}",
+                    ((SAMLObject) samlMessage).getElementQName());
+        } else {
+            throw new MessageDecodingException("Decoded SOAP message did not include SAML message");
+        }
     }
     
     /**
@@ -173,7 +177,7 @@ public class LibertyHTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDe
      * 
      * @param messageContext the current message context
      */
-    protected void populateBindingContext(final MessageContext<SAMLObject> messageContext) {
+    protected void populateBindingContext(final MessageContext messageContext) {
         final SAMLBindingContext bindingContext = messageContext.getSubcontext(SAMLBindingContext.class, true);
         bindingContext.setBindingUri(getBindingURI());
         bindingContext.setBindingDescriptor(bindingDescriptor);
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Encoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Encoder.java
index 16605a6..2a3f6be 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Encoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11Encoder.java
@@ -34,7 +34,6 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.encoder.MessageEncodingException;
 import org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.binding.encoding.SAMLMessageEncoder;
 import org.opensaml.soap.common.SOAPObjectBuilder;
 import org.opensaml.soap.messaging.SOAPMessagingSupport;
@@ -52,8 +51,7 @@ import org.w3c.dom.Element;
  * Encoder for Liberty ID-WSF 2.0 SOAP 1.1 HTTP binding carrying SAML protocol messages
  * used in SAML delegation.
  */
-public class LibertyHTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageEncoder<SAMLObject> 
-        implements SAMLMessageEncoder {
+public class LibertyHTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageEncoder implements SAMLMessageEncoder {
 
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(LibertyHTTPSOAP11Encoder.class);
@@ -83,8 +81,8 @@ public class LibertyHTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageE
     
     /** {@inheritDoc} */
     public void prepareContext() throws MessageEncodingException {
-        final MessageContext<SAMLObject> messageContext = getMessageContext();
-        XMLObject payload = null;
+        final MessageContext messageContext = getMessageContext();
+        Object payload = null;
         
         final Fault fault = SOAPMessagingSupport.getSOAP11Fault(messageContext);
         if (fault != null) {
@@ -96,14 +94,14 @@ public class LibertyHTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageE
             payload = messageContext.getMessage();
         }
         
-        if (payload == null) {
-            throw new MessageEncodingException("No outbound message or Fault contained in message context");
+        if (payload == null || !(payload instanceof XMLObject)) {
+            throw new MessageEncodingException("No outbound XML message or Fault contained in message context");
         }
         
         if (payload instanceof Envelope) {
             storeSOAPEnvelope((Envelope) payload);
         } else {
-            buildAndStoreSOAPMessage(payload);
+            buildAndStoreSOAPMessage((XMLObject) payload);
         }
         
     }
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
index 762be68..e60c42f 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoder.java
@@ -25,13 +25,13 @@ import net.shibboleth.idp.saml.profile.impl.IdPInitiatedSSORequest;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.xml.SerializeSupport;
 
+import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.XMLObjectBuilderFactory;
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.core.xml.io.MarshallingException;
 import org.opensaml.core.xml.util.XMLObjectSupport;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.saml.common.SAMLVersion;
 import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
 import org.w3c.dom.Element;
 
 /** Decodes an incoming Shibboleth Authentication Request message. */
-public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSORequestMessageDecoder<SAMLObject> 
+public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSORequestMessageDecoder 
     implements SAMLMessageDecoder {
 
     /** Protocol binding implemented by this decoder. */
@@ -97,7 +97,7 @@ public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSOReq
     protected void doDecode() throws MessageDecodingException {
         ssoRequest = buildIdPInitiatedSSORequest();
         
-        final MessageContext<SAMLObject> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(buildAuthnRequest());
         
         populateBindingContext(messageContext);
@@ -135,7 +135,7 @@ public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSOReq
      * 
      * @param messageContext the current message context
      */
-    protected void populateBindingContext(@Nonnull final MessageContext<SAMLObject> messageContext) {
+    protected void populateBindingContext(@Nonnull final MessageContext messageContext) {
         final String relayState = ssoRequest.getRelayState();
         log.debug("Decoded SAML RelayState of: {}", relayState);
         
@@ -151,9 +151,9 @@ public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSOReq
     /** {@inheritDoc} */
     @Override
     @Nullable protected String getMessageToLog() {
-        final SAMLObject message = getMessageContext().getMessage();
-        if (message == null) {
-            log.warn("Decoded message was null, nothing to log");
+        final Object message = getMessageContext().getMessage();
+        if (message == null || !(message instanceof XMLObject)) {
+            log.warn("Decoded message was null or invalid, nothing to log");
             return null;
         }
         
@@ -162,7 +162,7 @@ public class IdPInitiatedSSORequestMessageDecoder extends BaseIdPInitiatedSSOReq
         builder.append("\nSynthetically constructed SAML 2 AuthnRequest was: \n");
         
         try {
-            final Element dom = XMLObjectSupport.marshall(message);
+            final Element dom = XMLObjectSupport.marshall((XMLObject) message);
             builder.append(SerializeSupport.prettyPrintXML(dom));
             return builder.toString();
         } catch (final MarshallingException e) {
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
index 3234560..afe451b 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
@@ -257,7 +257,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
         try {
-            final InOutOperationContext<LogoutResponse,LogoutRequest> opContext = new SAMLSOAPClientContextBuilder()
+            final InOutOperationContext opContext = new SAMLSOAPClientContextBuilder()
                     .setOutboundMessage(logoutRequest)
                     .setProtocol(SAMLConstants.SAML20P_NS)
                     .setPipelineName(soapPipelineName)
@@ -271,10 +271,12 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
                     logoutRequest.getDestination());
             
             soapClient.send(logoutRequest.getDestination(), opContext);
-            final LogoutResponse response = opContext.getInboundMessageContext().getMessage();
+            final Object response = opContext.getInboundMessageContext().getMessage();
             
             if (response == null) {
                 throw new MessageException("No response message received");
+            } else if (!(response instanceof LogoutResponse)) {
+                throw new MessageException("Message received was not of correct type");
             }
             
             // Store off message so audit extraction works.
@@ -288,7 +290,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
             
             log.debug("{} Processing LogoutResponse received via SOAP 1.1 binding from endpoint: {}", getLogPrefix(),
                     logoutRequest.getDestination());
-            handleResponse(profileRequestContext, response);
+            handleResponse(profileRequestContext, (LogoutResponse) response);
         } catch (final ClassCastException e) {
             log.warn("{} SOAP message payload was not an instance of LogoutResponse", getLogPrefix());
             ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_MESSAGE);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
index 5c6bd5b..4f9f89b 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
@@ -199,7 +199,7 @@ public final class TestSources {
 
     public static AttributeResolutionContext createResolutionContext(String principal, String issuerID,
             String recipientId) {
-        ProfileRequestContext parent = new ProfileRequestContext<>();
+        ProfileRequestContext parent = new ProfileRequestContext();
         AttributeResolutionContext retVal = parent.getSubcontext(AttributeResolutionContext.class, true);
 
         retVal.setAttributeIssuerID(issuerID);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIDDecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIDDecoderTest.java
index be4b54e..6240d88 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIDDecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIDDecoderTest.java
@@ -177,7 +177,7 @@ public class CryptoTransientNameIDDecoderTest extends OpenSAMLInitBaseTestCase {
         canon.setDecoder(decoder);
         canon.initialize();
 
-        prc = new ProfileRequestContext<>();
+        prc = new ProfileRequestContext();
         final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
         final Subject subject = new Subject();
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIdentifierDecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIdentifierDecoderTest.java
index 1a3e60b..728dcd3 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIdentifierDecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientNameIdentifierDecoderTest.java
@@ -118,7 +118,7 @@ public class CryptoTransientNameIdentifierDecoderTest extends OpenSAMLInitBaseTe
         canon.setDecoder(decoder);
         canon.initialize();
 
-        prc = new ProfileRequestContext<>();
+        prc = new ProfileRequestContext();
         final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
         final Subject subject = new Subject();
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalizationTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalizationTest.java
index 33f04fc..f7aec56 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalizationTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalizationTest.java
@@ -68,7 +68,7 @@ public class NameIDCanonicalizationTest extends OpenSAMLInitBaseTestCase {
     }
 
     @BeforeMethod public void setUp() throws Exception {
-        prc = new ProfileRequestContext<>();
+        prc = new ProfileRequestContext();
         
         flowDescriptor = new NameIDCanonicalizationFlowDescriptor();
         flowDescriptor.setId("C14NDesc");
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalizationTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalizationTest.java
index 3bf7f7e..74d22ae 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalizationTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalizationTest.java
@@ -67,7 +67,7 @@ public class NameIdentifierCanonicalizationTest extends OpenSAMLInitBaseTestCase
     }
 
     @BeforeMethod public void setUp() throws Exception {
-        prc = new ProfileRequestContext<>();
+        prc = new ProfileRequestContext();
         
         flowDescriptor = new NameIDCanonicalizationFlowDescriptor();
         flowDescriptor.setId("C14NDesc");
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/TransientDecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/TransientDecoderTest.java
index fdcddbd..bc1ff62 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/TransientDecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/TransientDecoderTest.java
@@ -156,7 +156,7 @@ public class TransientDecoderTest extends OpenSAMLInitBaseTestCase {
         canon.setDecoder(decoder);
         canon.initialize();
         
-        prc = new ProfileRequestContext<>();
+        prc = new ProfileRequestContext();
         final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
         final Subject subject = new Subject();
         subject.getPrincipals().add(new NameIDPrincipal(nameid));
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
index 8799479..bd3e92c 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
@@ -78,9 +78,9 @@ public class IdPInitiatedSSORequestMessageDecoderTest {
         
         decoder.decode();
         
-        MessageContext<IdPInitiatedSSORequest> messageContext = decoder.getMessageContext();
+        MessageContext messageContext = decoder.getMessageContext();
         Assert.assertNotNull(messageContext);
-        IdPInitiatedSSORequest ssoRequest = messageContext.getMessage();
+        IdPInitiatedSSORequest ssoRequest = (IdPInitiatedSSORequest) messageContext.getMessage();
         Assert.assertNotNull(ssoRequest);
         
         Assert.assertEquals(ssoRequest.getEntityId(), entityId, "Incorrect decoded entityId value");
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/impl/PopulateOutboundMessageContextTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/impl/PopulateOutboundMessageContextTest.java
index d1962c7..e7967dc 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/impl/PopulateOutboundMessageContextTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/impl/PopulateOutboundMessageContextTest.java
@@ -43,9 +43,9 @@ public class PopulateOutboundMessageContextTest {
     
     @BeforeMethod
     public void setUp() {
-        prc = new ProfileRequestContext<>();
-        prc.setInboundMessageContext(new MessageContext<>());
-        prc.setOutboundMessageContext(new MessageContext<>());
+        prc = new ProfileRequestContext();
+        prc.setInboundMessageContext(new MessageContext());
+        prc.setOutboundMessageContext(new MessageContext());
         
         action = new PopulateOutboundMessageContext();
     }
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11DecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11DecoderTest.java
index ec716a0..0fde321 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11DecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11DecoderTest.java
@@ -23,7 +23,6 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.io.MarshallingException;
 import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.saml2.core.Response;
 import org.opensaml.soap.messaging.context.SOAP11Context;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -64,7 +63,7 @@ public class LibertyHTTPSOAP11DecoderTest extends XMLObjectBaseTestCase {
         httpRequest.setContent(requestContent.getBytes());
 
         decoder.decode();
-        MessageContext<SAMLObject> messageContext = decoder.getMessageContext();
+        final MessageContext messageContext = decoder.getMessageContext();
 
         Assert.assertNotNull(messageContext.getSubcontext(SOAP11Context.class).getEnvelope());
         Assert.assertTrue(messageContext.getMessage() instanceof Response);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11EncoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11EncoderTest.java
index 1592496..7adb804 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11EncoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/delegation/messaging/impl/LibertyHTTPSOAP11EncoderTest.java
@@ -24,7 +24,6 @@ import java.time.Instant;
 
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.saml.common.SAMLVersion;
 import org.opensaml.saml.common.binding.SAMLBindingSupport;
@@ -52,7 +51,6 @@ public class LibertyHTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
      * @throws Exception
      */
     @Test
-    @SuppressWarnings("unchecked")
     public void testResponseEncoding() throws Exception {
         SAMLObjectBuilder<StatusCode> statusCodeBuilder = (SAMLObjectBuilder<StatusCode>) builderFactory
                 .getBuilder(StatusCode.DEFAULT_ELEMENT_NAME);
@@ -78,7 +76,7 @@ public class LibertyHTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         samlEndpoint.setLocation("http://example.org");
         samlEndpoint.setResponseLocation("http://example.org/response");
         
-        MessageContext<SAMLObject> messageContext = new MessageContext<>();
+        final MessageContext messageContext = new MessageContext();
         messageContext.setMessage(samlMessage);
         SAMLBindingSupport.setRelayState(messageContext, "relay");
         messageContext.getSubcontext(SAMLPeerEntityContext.class, true)
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
index 39ffea8..4af9d11 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/IdPInitiatedSSORequestMessageDecoderTest.java
@@ -26,7 +26,6 @@ import java.time.temporal.ChronoUnit;
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
 import org.opensaml.saml.common.messaging.context.SAMLMessageInfoContext;
 import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
@@ -80,7 +79,7 @@ public class IdPInitiatedSSORequestMessageDecoderTest extends XMLObjectBaseTestC
         
         decoder.decode();
         
-        MessageContext<SAMLObject> messageContext = decoder.getMessageContext();
+        final MessageContext messageContext = decoder.getMessageContext();
         Assert.assertNotNull(messageContext);
         AuthnRequest authnRequest = (AuthnRequest) messageContext.getMessage();
         Assert.assertNotNull(authnRequest);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContextTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContextTest.java
index 6e1feb1..a268eca 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContextTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContextTest.java
@@ -52,7 +52,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
 
     private MockRequestContext src; 
     
-    private ProfileRequestContext<AuthnRequest, Object> prc;
+    private ProfileRequestContext prc;
     
     private AuthenticationContext ac;
     
@@ -100,7 +100,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testEmptyRef() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         final AuthnContextClassRef ref = classBuilder.buildObject();
         rac.getAuthnContextClassRefs().add(ref);
         
@@ -112,7 +112,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testDisallowed() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         final AuthnContextClassRef ref = classBuilder.buildObject();
         rac.getAuthnContextClassRefs().add(ref);
         
@@ -127,7 +127,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testNoOperator() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         final AuthnContextClassRef ref = classBuilder.buildObject();
         ref.setAuthnContextClassRef(AuthnContext.PPT_AUTHN_CTX);
         rac.getAuthnContextClassRefs().add(ref);
@@ -144,7 +144,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testOperator() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         rac.setComparison(AuthnContextComparisonTypeEnumeration.MINIMUM);
         AuthnContextClassRef ref = classBuilder.buildObject();
         ref.setAuthnContextClassRef(AuthnContext.PPT_AUTHN_CTX);
@@ -164,7 +164,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testDecls() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         rac.setComparison(AuthnContextComparisonTypeEnumeration.MINIMUM);
         AuthnContextDeclRef ref = declBuilder.buildObject();
         ref.setAuthnContextDeclRef(AuthnContext.PPT_AUTHN_CTX);
@@ -184,7 +184,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testIgnore() {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         final AuthnContextClassRef ref = classBuilder.buildObject();
         ref.setAuthnContextClassRef(AuthnContext.UNSPECIFIED_AUTHN_CTX);
         rac.getAuthnContextClassRefs().add(ref);
@@ -198,7 +198,7 @@ public class ProcessRequestedAuthnContextTest extends OpenSAMLInitBaseTestCase {
     @Test public void testIgnore2() throws ComponentInitializationException {
         prc.getInboundMessageContext().setMessage(SAML2ActionTestingSupport.buildAuthnRequest());
         final RequestedAuthnContext rac = racBuilder.buildObject();
-        prc.getInboundMessageContext().getMessage().setRequestedAuthnContext(rac);
+        ((AuthnRequest) prc.getInboundMessageContext().getMessage()).setRequestedAuthnContext(rac);
         final AuthnContextClassRef ref = classBuilder.buildObject();
         ref.setAuthnContextClassRef(AuthnContext.PPT_AUTHN_CTX);
         rac.getAuthnContextClassRefs().add(ref);

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


More information about the commits mailing list