Author: alessio.soldano(a)jboss.com
Date: 2011-05-02 04:06:58 -0400 (Mon, 02 May 2011)
New Revision: 14216
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java
Log:
[JBWS-3282] Fixing a NPE and considering pre/post handlers in NonSpringBusHolder
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java 2011-04-30
17:00:18 UTC (rev 14215)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/configuration/NonSpringBusHolder.java 2011-05-02
08:06:58 UTC (rev 14216)
@@ -95,7 +95,7 @@
endpoint.setEndpointName(dde.getPortName());
endpoint.setServiceName(dde.getServiceName());
endpoint.setWsdlLocation(dde.getWsdlLocation());
- setHandlers(endpoint, dde.getHandlers());
+ setHandlers(endpoint, dde);
if (dde.getProperties() != null)
{
Map<String, Object> props = new HashMap<String, Object>();
@@ -121,14 +121,27 @@
}
@SuppressWarnings("rawtypes")
- private static void setHandlers(EndpointImpl endpoint, List<String> handlers)
+ private static void setHandlers(EndpointImpl endpoint, DDEndpoint dde)
{
- if (handlers != null && !handlers.isEmpty())
+ List<String> handlers = new LinkedList<String>();
+ if (dde.getPreHandlers() != null)
{
+ handlers.addAll(dde.getPreHandlers());
+ }
+ if (dde.getHandlers() != null)
+ {
+ handlers.addAll(dde.getHandlers());
+ }
+ if (dde.getPostHandlers() != null)
+ {
+ handlers.addAll(dde.getPostHandlers());
+ }
+ if (!handlers.isEmpty())
+ {
List<Handler> handlerInstances = new LinkedList<Handler>();
for (String handler : handlers)
{
- handlerInstances.add((Handler)newInstance(handler));
+ handlerInstances.add((Handler) newInstance(handler));
}
endpoint.setHandlers(handlerInstances);
}
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java 2011-04-30
17:00:18 UTC (rev 14215)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java 2011-05-02
08:06:58 UTC (rev 14216)
@@ -308,17 +308,26 @@
if (this.handlers != null && !this.handlers.isEmpty())
{
writer.write("<jaxws:handlers>");
- for (String handler : this.preHandlers)
+ if (this.preHandlers != null)
{
- writer.write("<bean class='" + handler +
"'/>");
+ for (String handler : this.preHandlers)
+ {
+ writer.write("<bean class='" + handler +
"'/>");
+ }
}
- for (String handler : this.handlers)
+ if (this.handlers != null)
{
- writer.write("<bean class='" + handler +
"'/>");
+ for (String handler : this.handlers)
+ {
+ writer.write("<bean class='" + handler +
"'/>");
+ }
}
- for (String handler : this.postHandlers)
+ if (this.postHandlers != null)
{
- writer.write("<bean class='" + handler +
"'/>");
+ for (String handler : this.postHandlers)
+ {
+ writer.write("<bean class='" + handler +
"'/>");
+ }
}
writer.write("</jaxws:handlers>");
}