[java-opensaml COMMIT] in /trunk: opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildC...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Feb 14 20:45:29 EST 2014
Author: scantor
Date: Fri Feb 14 20:45:29 2014
New Revision: 3624
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3624&view=rev
Log:
OSJ-62 - relax type casting in message navigation, to avoid class cast errors
Modified:
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RootContextLookup.java
trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/InboundMessageContextLookup.java
trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/OutboundMessageContextLookup.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java
Modified: trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java?rev=3624&r1=3623&r2=3624&view=diff
==============================================================================
--- trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java (original)
+++ trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java Fri Feb 14 20:45:29 2014
@@ -64,6 +64,7 @@
}
/** {@inheritDoc} */
+ @Override
@Nullable public ChildContext apply(@Nullable final ParentContext input) {
if (input == null) {
return null;
Modified: trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java?rev=3624&r1=3623&r2=3624&view=diff
==============================================================================
--- trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java (original)
+++ trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java Fri Feb 14 20:45:29 2014
@@ -17,7 +17,10 @@
package org.opensaml.messaging.context.navigate;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+
+import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
@@ -26,13 +29,25 @@
*
* @param <T> type of message
*/
-public class MessageLookup<T> implements ContextDataLookupFunction<MessageContext<T>, T> {
+public class MessageLookup<T> implements ContextDataLookupFunction<MessageContext, T> {
+ /** Child context type to look up. */
+ private final Class<T> messageType;
+
+ /**
+ * Constructor.
+ *
+ * @param type message type to look up
+ */
+ public MessageLookup(@Nonnull final Class<T> type) {
+ messageType = Constraint.isNotNull(type, "Message type cannot be null");
+ }
+
/** {@inheritDoc} */
@Override
- @Nullable public T apply(@Nullable final MessageContext<T> input) {
- if (input != null) {
- return input.getMessage();
+ @Nullable public T apply(@Nullable final MessageContext input) {
+ if (input != null && messageType.isInstance(input.getMessage())) {
+ return (T) input.getMessage();
}
return null;
}
Modified: trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java?rev=3624&r1=3623&r2=3624&view=diff
==============================================================================
--- trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java (original)
+++ trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java Fri Feb 14 20:45:29 2014
@@ -30,6 +30,7 @@
ContextDataLookupFunction<BaseContext, ParentContext> {
/** {@inheritDoc} */
+ @Override
@Nullable public ParentContext apply(@Nullable final BaseContext input) {
if (input == null) {
return null;
[... 373 lines stripped ...]
More information about the commits
mailing list