Author: asoldano
Date: 2014-05-16 08:39:35 -0400 (Fri, 16 May 2014)
New Revision: 18663
Modified:
api/trunk/src/main/java/org/jboss/ws/api/handler/GenericHandler.java
api/trunk/src/main/java/org/jboss/ws/api/handler/GenericLogicalHandler.java
api/trunk/src/main/java/org/jboss/ws/api/handler/GenericSOAPHandler.java
Log:
[JBWS-3795] Improve and fix org.jboss.ws.api.handler.* classes
Modified: api/trunk/src/main/java/org/jboss/ws/api/handler/GenericHandler.java
===================================================================
--- api/trunk/src/main/java/org/jboss/ws/api/handler/GenericHandler.java 2014-05-16
10:02:58 UTC (rev 18662)
+++ api/trunk/src/main/java/org/jboss/ws/api/handler/GenericHandler.java 2014-05-16
12:39:35 UTC (rev 18663)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2014, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -30,11 +30,12 @@
* A generic JAX-WS handler
*
* @author <a href="mailto:Thomas.Diesler@jboss.org">Thomas
Diesler</a>
+ * @author <a href="mailto:alessio.soldano@jboss.com">Alessio
Soldano</a>
* @since 13-Aug-2006
*/
-public abstract class GenericHandler implements Handler
+public abstract class GenericHandler<C extends MessageContext> implements
Handler<C>
{
- private String handlerName;
+ private volatile String handlerName;
public String getHandlerName()
{
@@ -46,7 +47,7 @@
this.handlerName = handlerName;
}
- public boolean handleMessage(MessageContext msgContext)
+ public boolean handleMessage(C msgContext)
{
Boolean outbound =
(Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
if (outbound == null)
@@ -55,17 +56,17 @@
return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
}
- protected boolean handleOutbound(MessageContext msgContext)
+ protected boolean handleOutbound(C msgContext)
{
return true;
}
- protected boolean handleInbound(MessageContext msgContext)
+ protected boolean handleInbound(C msgContext)
{
return true;
}
- public boolean handleFault(MessageContext messagecontext)
+ public boolean handleFault(C messagecontext)
{
return true;
}
Modified: api/trunk/src/main/java/org/jboss/ws/api/handler/GenericLogicalHandler.java
===================================================================
--- api/trunk/src/main/java/org/jboss/ws/api/handler/GenericLogicalHandler.java 2014-05-16
10:02:58 UTC (rev 18662)
+++ api/trunk/src/main/java/org/jboss/ws/api/handler/GenericLogicalHandler.java 2014-05-16
12:39:35 UTC (rev 18663)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2014, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -30,6 +30,6 @@
* @author <a href="mailto:Thomas.Diesler@jboss.org">Thomas
Diesler</a>
* @since 13-Aug-2006
*/
-public class GenericLogicalHandler<C extends LogicalMessageContext> extends
GenericHandler implements LogicalHandler
+public class GenericLogicalHandler<C extends LogicalMessageContext> extends
GenericHandler<C> implements LogicalHandler<C>
{
}
Modified: api/trunk/src/main/java/org/jboss/ws/api/handler/GenericSOAPHandler.java
===================================================================
--- api/trunk/src/main/java/org/jboss/ws/api/handler/GenericSOAPHandler.java 2014-05-16
10:02:58 UTC (rev 18662)
+++ api/trunk/src/main/java/org/jboss/ws/api/handler/GenericSOAPHandler.java 2014-05-16
12:39:35 UTC (rev 18663)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2014, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -21,23 +21,25 @@
*/
package org.jboss.ws.api.handler;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.xml.namespace.QName;
-import javax.xml.ws.handler.LogicalMessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
/**
* A generic JAX-WS soap handler
*
- * @author Thomas.Diesler(a)jboss.org
+ * @author <a href="mailto:Thomas.Diesler@jboss.org">Thomas
Diesler</a>
+ * @author <a href="mailto:alessio.soldano@jboss.com">Alessio
Soldano</a>
* @since 13-Aug-2006
*/
-public abstract class GenericSOAPHandler<C extends LogicalMessageContext> extends
GenericHandler implements SOAPHandler
+public abstract class GenericSOAPHandler<C extends SOAPMessageContext> extends
GenericHandler<C> implements SOAPHandler<C>
{
// The header blocks that can be processed by this Handler instance
- private Set<QName> headers = new HashSet<QName>();
+ private volatile Set<QName> headers = null;
/**
* Gets the header blocks that can be processed by this Handler instance.
@@ -46,7 +48,11 @@
*/
public Set<QName> getHeaders()
{
- return headers;
+ if (headers == null) {
+ return Collections.emptySet();
+ } else {
+ return headers;
+ }
}
/**
@@ -56,6 +62,6 @@
*/
public void setHeaders(Set<QName> headers)
{
- this.headers = headers;
+ this.headers = Collections.unmodifiableSet(new HashSet<QName>(headers));
}
}
Show replies by date