[java-opensaml COMMIT] in /trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging: decoder/AbstractMessage...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Mar 16 13:25:17 GMT 2012
Author: lajoie
Date: Fri Mar 16 13:25:17 2012
New Revision: 2954
URL: http://svn.shibboleth.net/view/java-opensaml?rev=2954&view=rev
Log:
Leverage some of the component new helpers within java-support
Modified:
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/AbstractMessageEncoder.java
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
Modified: trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java?rev=2954&r1=2953&r2=2954&view=diff
==============================================================================
--- trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java (original)
+++ trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java Fri Mar 16 13:25:17 2012
@@ -17,7 +17,8 @@
package org.opensaml.messaging.decoder;
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
+import net.shibboleth.utilities.java.support.component.AbstractDestructableInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.component.UnmodifiableComponent;
import org.opensaml.messaging.context.MessageContext;
@@ -27,7 +28,7 @@
*
* @param <MessageType> the message type of the message context on which to operate
*/
-public abstract class AbstractMessageDecoder<MessageType> extends AbstractInitializableComponent implements
+public abstract class AbstractMessageDecoder<MessageType> extends AbstractDestructableInitializableComponent implements
MessageDecoder<MessageType>, UnmodifiableComponent {
/** Message context. */
@@ -38,11 +39,6 @@
return messageContext;
}
- /** {@inheritDoc} */
- public void destroy() {
- // Default implementation is a no-op
- }
-
/**
* Set the message context.
*
@@ -51,4 +47,27 @@
protected void setMessageContext(MessageContext<MessageType> context) {
messageContext = context;
}
+
+ /** {@inheritDoc} */
+ public void decode() throws MessageDecodingException {
+ ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+
+ doDecode();
+ }
+
+ /** {@inheritDoc} */
+ protected void doDestroy() {
+ messageContext = null;
+
+ super.doDestroy();
+ }
+
+ /**
+ * Performs the decoding logic. By the time this is called, this decoder has already been initialized and checked to
+ * ensure that it has not been destroyed.
+ *
+ * @throws MessageDecodingException thrown if there is a problem decoding the message
+ */
+ protected abstract void doDecode() throws MessageDecodingException;
}
Modified: trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java?rev=2954&r1=2953&r2=2954&view=diff
==============================================================================
--- trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java (original)
+++ trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java Fri Mar 16 13:25:17 2012
@@ -20,7 +20,7 @@
import javax.servlet.http.HttpServletRequest;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
import org.opensaml.messaging.decoder.AbstractMessageDecoder;
@@ -42,10 +42,17 @@
/** {@inheritDoc} */
public synchronized void setHttpServletRequest(HttpServletRequest servletRequest) {
- if (isInitialized()) {
- throw new UnmodifiableComponentException("Servlet request can not be changed once decoder is initialized");
- }
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+
request = servletRequest;
+ }
+
+ /** {@inheritDoc} */
+ protected void doDestroy() {
+ request = null;
+
+ super.doDestroy();
}
[... 114 lines stripped ...]
More information about the commits
mailing list