Author: alessio.soldano(a)jboss.com
Date: 2011-04-14 11:30:44 -0400 (Thu, 14 Apr 2011)
New Revision: 14095
Added:
common/trunk/src/main/java/org/jboss/ws/core/utils/DelegateClassLoader.java
Removed:
common/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
Modified:
common/trunk/
common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
common/trunk/src/main/java/org/jboss/wsf/common/invocation/InvocationHandlerJAXWS.java
common/trunk/src/main/java/org/jboss/wsf/common/servlet/AbstractEndpointServlet.java
common/trunk/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java
common/trunk/src/main/java/org/jboss/wsf/framework/management/DefaultEndpointRegistryFactory.java
Log:
[JBWS-3224][JBWS-3265] Isolate deployment classloader from ws server integration
Property changes on: common/trunk
___________________________________________________________________
Added: svn:mergeinfo
+ /common/branches/asoldano:14028-14056
Copied: common/trunk/src/main/java/org/jboss/ws/core/utils/DelegateClassLoader.java (from
rev 14056,
common/branches/asoldano/src/main/java/org/jboss/ws/core/utils/DelegateClassLoader.java)
===================================================================
--- common/trunk/src/main/java/org/jboss/ws/core/utils/DelegateClassLoader.java
(rev 0)
+++ common/trunk/src/main/java/org/jboss/ws/core/utils/DelegateClassLoader.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -0,0 +1,145 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ws.core.utils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.security.SecureClassLoader;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.NoSuchElementException;
+
+/**
+ * A delegate classloader
+ *
+ * @author alessio.soldano(a)jboss.com
+ *
+ */
+public class DelegateClassLoader extends SecureClassLoader
+{
+ private ClassLoader delegate;
+
+ private ClassLoader parent;
+
+ public DelegateClassLoader(final ClassLoader delegate, final ClassLoader parent)
+ {
+ super(parent);
+ this.delegate = delegate;
+ this.parent = parent;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Class<?> loadClass(final String className) throws ClassNotFoundException
+ {
+ if (parent != null)
+ {
+ try
+ {
+ return parent.loadClass(className);
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ //NOOP, use delegate
+ }
+ }
+ return delegate.loadClass(className);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public URL getResource(final String name)
+ {
+ URL url = null;
+ if (parent != null)
+ {
+ url = parent.getResource(name);
+ }
+ return (url == null) ? delegate.getResource(name) : url;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Enumeration<URL> getResources(final String name) throws IOException
+ {
+ final ArrayList<Enumeration<URL>> foundResources = new
ArrayList<Enumeration<URL>>();
+
+ foundResources.add(delegate.getResources(name));
+ if (parent != null)
+ {
+ foundResources.add(parent.getResources(name));
+ }
+
+ return new Enumeration<URL>()
+ {
+ private int position = foundResources.size() - 1;
+
+ public boolean hasMoreElements()
+ {
+ while (position >= 0)
+ {
+ if (foundResources.get(position).hasMoreElements())
+ {
+ return true;
+ }
+ position--;
+ }
+ return false;
+ }
+
+ public URL nextElement()
+ {
+ while (position >= 0)
+ {
+ try
+ {
+ return (foundResources.get(position)).nextElement();
+ }
+ catch (NoSuchElementException e)
+ {
+ }
+ position--;
+ }
+ throw new NoSuchElementException();
+ }
+ };
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InputStream getResourceAsStream(final String name)
+ {
+ URL foundResource = getResource(name);
+ if (foundResource != null)
+ {
+ try
+ {
+ return foundResource.openStream();
+ }
+ catch (IOException e)
+ {
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
Modified: common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2011-04-14 15:28:36 UTC
(rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2011-04-14 15:30:44 UTC
(rev 14095)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2011, 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.
*
@@ -28,11 +28,6 @@
import java.io.PrintWriter;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
@@ -52,24 +47,23 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.core.utils.JBossWSEntityResolver;
-import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
- * DOM2 utilites
+ * DOM2 utilities: this extends the {@link org.jboss.wsf.util.DOMUtils} adding parse and
creation methods.
+ * These leverage static thread-local instances of {@link org.w3c.dom.Document} and
{@link javax.xml.parsers.DocumentBuilder}.
+ * The ThreadLocal attributes can be reset using the clearThreadLocals() method.
*
* @author Thomas.Diesler(a)jboss.org
* @author alessio.soldano(a)jboss.com
*/
-public final class DOMUtils
+public final class DOMUtils extends org.jboss.wsf.util.DOMUtils
{
private static Logger log = Logger.getLogger(DOMUtils.class);
@@ -187,14 +181,17 @@
{
}
- /** Initialize the DocumentBuilder
+ /**
+ * Initialize the DocumentBuilder, set the current thread association and returns it
*/
public static DocumentBuilder getDocumentBuilder()
{
return builderThreadLocal.get();
}
- /** Parse the given XML string and return the root Element
+ /**
+ * Parse the given XML string and return the root Element
+ * This uses the document builder associated with the current thread.
*/
public static Element parse(String xmlString) throws IOException
{
@@ -209,7 +206,9 @@
}
}
- /** Parse the given XML stream and return the root Element
+ /**
+ * Parse the given XML stream and return the root Element
+ * This uses the document builder associated with the current thread.
*/
public static Element parse(InputStream xmlStream) throws IOException
{
@@ -233,7 +232,9 @@
}
}
- /** Parse the given input source and return the root Element
+ /**
+ * Parse the given input source and return the root Element.
+ * This uses the document builder associated with the current thread.
*/
public static Element parse(InputSource source) throws IOException
{
@@ -266,7 +267,9 @@
}
}
- /** Create an Element for a given name
+ /**
+ * Create an Element for a given name.
+ * This uses the document builder associated with the current thread.
*/
public static Element createElement(String localPart)
{
@@ -275,7 +278,9 @@
return doc.createElement(localPart);
}
- /** Create an Element for a given name and prefix
+ /**
+ * Create an Element for a given name and prefix.
+ * This uses the document builder associated with the current thread.
*/
public static Element createElement(String localPart, String prefix)
{
@@ -284,7 +289,9 @@
return doc.createElement(prefix + ":" + localPart);
}
- /** Create an Element for a given name, prefix and uri
+ /**
+ * Create an Element for a given name, prefix and uri.
+ * This uses the document builder associated with the current thread.
*/
public static Element createElement(String localPart, String prefix, String uri)
{
@@ -301,14 +308,18 @@
}
}
- /** Create an Element for a given QName
+ /**
+ * Create an Element for a given QName.
+ * This uses the document builder associated with the current thread.
*/
public static Element createElement(QName qname)
{
return createElement(qname.getLocalPart(), qname.getPrefix(),
qname.getNamespaceURI());
}
- /** Create a org.w3c.dom.Text node
+ /**
+ * Create a org.w3c.dom.Text node.
+ * This uses the document builder associated with the current thread.
*/
public static Text createTextNode(String value)
{
@@ -316,430 +327,6 @@
return doc.createTextNode(value);
}
- /** Get the qname of the given node.
- */
- public static QName getElementQName(Element el)
- {
- String qualifiedName = el.getNodeName();
- return resolveQName(el, qualifiedName);
- }
-
- /** Transform the given qualified name into a QName
- */
- public static QName resolveQName(Element el, String qualifiedName)
- {
- QName qname;
- String prefix = "";
- String namespaceURI = "";
- String localPart = qualifiedName;
-
- int colIndex = qualifiedName.indexOf(":");
- if (colIndex > 0)
- {
- prefix = qualifiedName.substring(0, colIndex);
- localPart = qualifiedName.substring(colIndex + 1);
-
- if ("xmlns".equals(prefix))
- {
- namespaceURI = "URI:XML_PREDEFINED_NAMESPACE";
- }
- else
- {
- Element nsElement = el;
- while (namespaceURI.equals("") && nsElement != null)
- {
- namespaceURI = nsElement.getAttribute("xmlns:" + prefix);
- if (namespaceURI.equals(""))
- nsElement = getParentElement(nsElement);
- }
- }
-
- if (namespaceURI.equals("") && el.getNamespaceURI() != null)
- {
- namespaceURI = el.getNamespaceURI();
- }
-
- if (namespaceURI.equals(""))
- throw new IllegalArgumentException("Cannot find namespace uri for:
" + qualifiedName);
- }
- else
- {
- Element nsElement = el;
- while (namespaceURI.equals("") && nsElement != null)
- {
- namespaceURI = nsElement.getAttribute("xmlns");
- if (namespaceURI.equals(""))
- nsElement = getParentElement(nsElement);
- }
- }
-
- qname = new QName(namespaceURI, localPart, prefix);
- return qname;
- }
-
- /** Get the value from the given attribute
- *
- * @return null if the attribute value is empty or the attribute is not present
- */
- public static String getAttributeValue(Element el, String attrName)
- {
- return getAttributeValue(el, new QName(attrName));
- }
-
- /** Get the value from the given attribute
- *
- * @return null if the attribute value is empty or the attribute is not present
- */
- public static String getAttributeValue(Element el, QName attrName)
- {
- String attr = null;
- if ("".equals(attrName.getNamespaceURI()))
- attr = el.getAttribute(attrName.getLocalPart());
- else
- attr = el.getAttributeNS(attrName.getNamespaceURI(), attrName.getLocalPart());
-
- if ("".equals(attr))
- attr = null;
-
- return attr;
- }
-
- /** Get the qname value from the given attribute
- */
- public static QName getAttributeValueAsQName(Element el, String attrName)
- {
- return getAttributeValueAsQName(el, new QName(attrName));
-
- }
-
- /** Get the qname value from the given attribute
- */
- public static QName getAttributeValueAsQName(Element el, QName attrName)
- {
- QName qname = null;
-
- String qualifiedName = getAttributeValue(el, attrName);
- if (qualifiedName != null)
- {
- qname = resolveQName(el, qualifiedName);
- }
-
- return qname;
- }
-
- /** Get the boolean value from the given attribute
- */
- public static boolean getAttributeValueAsBoolean(Element el, String attrName)
- {
- return getAttributeValueAsBoolean(el, new QName(attrName));
- }
-
- /** Get the boolean value from the given attribute
- */
- public static boolean getAttributeValueAsBoolean(Element el, QName attrName)
- {
- String attrVal = getAttributeValue(el, attrName);
- boolean ret = "true".equalsIgnoreCase(attrVal) ||
"1".equalsIgnoreCase(attrVal);
- return ret;
- }
-
- /** Get the integer value from the given attribute
- */
- public static Integer getAttributeValueAsInteger(Element el, String attrName)
- {
- return getAttributeValueAsInteger(el, new QName(attrName));
- }
-
- /** Get the integer value from the given attribute
- */
- public static Integer getAttributeValueAsInteger(Element el, QName attrName)
- {
- String attrVal = getAttributeValue(el, attrName);
- return (attrVal != null ? new Integer(attrVal) : null);
- }
-
- /** Get the attributes as Map<QName, String>
- */
- public static Map<QName, String> getAttributes(Element el)
- {
- Map<QName, String> attmap = new HashMap<QName, String>();
- NamedNodeMap attribs = el.getAttributes();
- int len = attribs.getLength();
- for (int i = 0; i < len; i++)
- {
- Attr attr = (Attr)attribs.item(i);
- String name = attr.getName();
- QName qname = resolveQName(el, name);
- String value = attr.getNodeValue();
- attmap.put(qname, value);
- }
- return attmap;
- }
-
- /** Copy attributes between elements
- */
- public static void copyAttributes(Element destElement, Element srcElement)
- {
- NamedNodeMap attribs = srcElement.getAttributes();
- int len = attribs.getLength();
- for (int i = 0; i < len; i++)
- {
- Attr attr = (Attr)attribs.item(i);
- String uri = attr.getNamespaceURI();
- String qname = attr.getName();
- String value = attr.getNodeValue();
-
- // Prevent DOMException: NAMESPACE_ERR: An attempt is made to create or
- // change an object in a way which is incorrect with regard to namespaces.
- if (uri == null && qname.startsWith("xmlns"))
- {
- if (log.isTraceEnabled()) log.trace("Ignore attribute: [uri=" + uri
+ ",qname=" + qname + ",value=" + value + "]");
- }
- else
- {
- destElement.setAttributeNS(uri, qname, value);
- }
- }
- }
-
- /** True if the node has text child elements only
- */
- public static boolean hasTextChildNodesOnly(Node node)
- {
- NodeList nodeList = node.getChildNodes();
- int len = nodeList.getLength();
- if (len == 0)
- return false;
-
- for (int i = 0; i < len; i++)
- {
- Node acksToChildNode = nodeList.item(i);
- if (acksToChildNode.getNodeType() != Node.TEXT_NODE)
- return false;
- }
-
- return true;
- }
-
- /** True if the node has child elements
- */
- public static boolean hasChildElements(Node node)
- {
- NodeList nlist = node.getChildNodes();
- int len = nlist.getLength();
- for (int i = 0; i < len; i++)
- {
- Node child = nlist.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE)
- return true;
- }
- return false;
- }
-
- /** Gets child elements
- */
- public static Iterator<Element> getChildElements(Node node)
- {
- List<Element> list = new LinkedList<Element>();
- NodeList nlist = node.getChildNodes();
- int len = nlist.getLength();
- for (int i = 0; i < len; i++)
- {
- Node child = nlist.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE)
- list.add((Element)child);
- }
- return list.iterator();
- }
-
- /** Get the concatenated text content, or null.
- */
- public static String getTextContent(Node node)
- {
- boolean hasTextContent = false;
- StringBuilder buffer = new StringBuilder();
- NodeList nlist = node.getChildNodes();
- int len = nlist.getLength();
- for (int i = 0; i < len; i++)
- {
- Node child = nlist.item(i);
- if (child.getNodeType() == Node.TEXT_NODE)
- {
- buffer.append(child.getNodeValue());
- hasTextContent = true;
- }
- }
- return (hasTextContent ? buffer.toString() : null);
- }
-
- /** Gets the first child element
- */
- public static Element getFirstChildElement(Node node)
- {
- return getFirstChildElement(node, false);
- }
-
- /** Gets the first child element
- */
- public static Element getFirstChildElement(Node node, boolean recursive)
- {
- return getFirstChildElementIntern(node, null, recursive);
- }
-
- /** Gets the first child element for a given local name without namespace
- */
- public static Element getFirstChildElement(Node node, String nodeName)
- {
- return getFirstChildElement(node, nodeName, false);
- }
-
- /** Gets the first child element for a given local name without namespace
- */
- public static Element getFirstChildElement(Node node, String nodeName, boolean
recursive)
- {
- return getFirstChildElementIntern(node, new QName(nodeName), recursive);
- }
-
- /** Gets the first child element for a given qname
- */
- public static Element getFirstChildElement(Node node, QName nodeName)
- {
- return getFirstChildElement(node, nodeName, false);
- }
-
- /** Gets the first child element for a given qname
- */
- public static Element getFirstChildElement(Node node, QName nodeName, boolean
recursive)
- {
- return getFirstChildElementIntern(node, nodeName, recursive);
- }
-
- private static Element getFirstChildElementIntern(Node node, QName nodeName, boolean
recursive)
- {
- Element childElement = null;
- Iterator<Element> it = getChildElementsIntern(node, nodeName, recursive);
- if (it.hasNext())
- {
- childElement = (Element)it.next();
- }
- return childElement;
- }
-
- /** Gets the child elements for a given local name without namespace
- */
- public static Iterator<Element> getChildElements(Node node, String nodeName)
- {
- return getChildElements(node, nodeName, false);
- }
-
- /** Gets the child elements for a given local name without namespace
- */
- public static Iterator<Element> getChildElements(Node node, String nodeName,
boolean recursive)
- {
- return getChildElementsIntern(node, new QName(nodeName), recursive);
- }
-
- /** Gets the child element for a given qname
- */
- public static Iterator<Element> getChildElements(Node node, QName nodeName)
- {
- return getChildElements(node, nodeName, false);
- }
-
- /** Gets the child element for a given qname
- */
- public static Iterator<Element> getChildElements(Node node, QName nodeName,
boolean recursive)
- {
- return getChildElementsIntern(node, nodeName, recursive);
- }
-
- public static List<Element> getChildElementsAsList(Node node, String nodeName)
- {
- return getChildElementsAsList(node, nodeName, false);
- }
-
- public static List<Element> getChildElementsAsList(Node node, String nodeName,
boolean recursive)
- {
- return getChildElementsAsListIntern(node, new QName(nodeName), recursive);
- }
-
- public static List<Element> getChildElementsAsList(Node node, QName nodeName)
- {
- return getChildElementsAsList(node, nodeName, false);
- }
-
- public static List<Element> getChildElementsAsList(Node node, QName nodeName,
boolean recursive)
- {
- return getChildElementsAsListIntern(node, nodeName, recursive);
- }
-
- private static List<Element> getChildElementsAsListIntern(Node node, QName
nodeName, boolean recursive)
- {
- List<Element> list = new LinkedList<Element>();
-
- NodeList nlist = node.getChildNodes();
- int len = nlist.getLength();
- for (int i = 0; i < len; i++)
- {
- Node child = nlist.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE)
- {
- search(list, (Element)child, nodeName, recursive);
- }
- }
- return list;
- }
-
- private static void search(List<Element> list, Element baseElement, QName
nodeName, boolean recursive)
- {
- if (nodeName == null)
- {
- list.add(baseElement);
- }
- else
- {
- QName qname;
- if (nodeName.getNamespaceURI().length() > 0)
- {
- qname = new QName(baseElement.getNamespaceURI(),
baseElement.getLocalName());
- }
- else
- {
- qname = new QName(baseElement.getLocalName());
- }
- if (qname.equals(nodeName))
- {
- list.add(baseElement);
- }
- }
- if (recursive)
- {
- NodeList nlist = baseElement.getChildNodes();
- int len = nlist.getLength();
- for (int i = 0; i < len; i++)
- {
- Node child = nlist.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE)
- {
- search(list, (Element)child, nodeName, recursive);
- }
- }
- }
- }
-
- private static Iterator<Element> getChildElementsIntern(Node node, QName
nodeName, boolean recursive)
- {
- return getChildElementsAsListIntern(node, nodeName, recursive).iterator();
- }
-
- /** Gets parent element or null if there is none
- */
- public static Element getParentElement(Node node)
- {
- Node parent = node.getParentNode();
- return (parent instanceof Element ? (Element)parent : null);
- }
-
/** Peek at the owner document without creating a new one if not set. */
public static Document peekOwnerDocument()
{
@@ -763,6 +350,14 @@
return doc;
}
+ /**
+ * Parse the contents of the provided source into an element.
+ * This uses the document builder associated with the current thread.
+ *
+ * @param source
+ * @return
+ * @throws IOException
+ */
public static Element sourceToElement(Source source) throws IOException
{
Element retElement = null;
Deleted:
common/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,272 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import javax.xml.namespace.QName;
-
-/**
- * TODO: see javax.xml.ws.addressing - merge it properly
- * Addressing constants.
- *
- * @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
- */
-public final class AddressingConstants
-{
- /**
- * Constructor.
- */
- private AddressingConstants()
- {
- // forbidden inheritance
- }
-
- /**
- * <a
href="http://www.w3.org/2005/08/addressing">WSA</a>
constants.
- */
- public static final class Core
- {
- /**
- * Constructor.
- */
- private Core()
- {
- // forbidden inheritance
- }
-
- // WSA namespace
- public static final String NS = "http://www.w3.org/2005/08/addressing";
-
- // WSA prefix
- public static final String NS_PREFIX = "wsa";
-
- public static final class Elements
- {
- /**
- * Constructor.
- */
- private Elements()
- {
- // forbidden inheritance
- }
-
- // WSA 'EndpointReference' element
- public static final String ENDPOINTREFERENCE = "EndpointReference";
- public static final QName ENDPOINTREFERENCE_QNAME = new QName(NS,
ENDPOINTREFERENCE, NS_PREFIX);
-
- // WSA 'ReferenceParameters' element
- public static final String REFERENCEPARAMETERS =
"ReferenceParameters";
- public static final QName REFERENCEPARAMETERS_QNAME = new QName(NS,
REFERENCEPARAMETERS, NS_PREFIX);
-
- // WSA 'Metadata' element
- public static final String METADATA = "Metadata";
- public static final QName METADATA_QNAME = new QName(NS, METADATA, NS_PREFIX);
-
- // WSA 'Address' element
- public static final String ADDRESS = "Address";
- public static final QName ADDRESS_QNAME = new QName(NS, ADDRESS, NS_PREFIX);
-
- // WSA 'MessageID' element
- public static final String MESSAGEID = "MessageID";
- public static final QName MESSAGEID_QNAME = new QName(NS, MESSAGEID, NS_PREFIX);
-
- // WSA 'RelatesTo' element
- public static final String RELATESTO = "RelatesTo";
- public static final QName RELATESTO_QNAME = new QName(NS, RELATESTO, NS_PREFIX);
-
- // WSA 'ReplyTo' element
- public static final String REPLYTO = "ReplyTo";
- public static final QName REPLYTO_QNAME = new QName(NS, REPLYTO, NS_PREFIX);
-
- // WSA 'From' element
- public static final String FROM = "From";
- public static final QName FROM_QNAME = new QName(NS, FROM, NS_PREFIX);
-
- // WSA 'FaultTo' element
- public static final String FAULTTO = "FaultTo";
- public static final QName FAULTTO_QNAME = new QName(NS, FAULTTO, NS_PREFIX);
-
- // WSA 'To' element
- public static final String TO = "To";
- public static final QName TO_QNAME = new QName(NS, TO, NS_PREFIX);
-
- // WSA 'Action' element
- public static final String ACTION = "Action";
- public static final QName ACTION_QNAME = new QName(NS, ACTION, NS_PREFIX);
-
- // WSA 'RetryAfter' element
- public static final String RETRYAFTER = "RetryAfter";
- public static final QName RETRYAFTER_QNAME = new QName(NS, RETRYAFTER,
NS_PREFIX);
-
- // WSA 'ProblemHeaderQName' element
- public static final String PROBLEMHEADERQNAME = "ProblemHeaderQName";
- public static final QName PROBLEMHEADERQNAME_QNAME = new QName(NS,
PROBLEMHEADERQNAME, NS_PREFIX);
-
- // WSA 'ProblemIRI' element
- public static final String PROBLEMIRI = "ProblemIRI";
- public static final QName PROBLEMIRI_QNAME = new QName(NS, PROBLEMIRI,
NS_PREFIX);
-
- // WSA 'ProblemAction' element
- public static final String PROBLEMACTION = "ProblemAction";
- public static final QName PROBLEMACTION_QNAME = new QName(NS, PROBLEMACTION,
NS_PREFIX);
-
- // WSA 'SoapAction' element
- public static final String SOAPACTION = "SoapAction";
- public static final QName SOAPACTION_QNAME = new QName(NS, SOAPACTION,
NS_PREFIX);
- }
-
- public static final class Attributes
- {
- /**
- * Constructor.
- */
- private Attributes()
- {
- // forbidden inheritance
- }
-
- // WSA 'RelationshipType' attribute
- public static final String RELATIONSHIPTYPE = "RelationshipType";
- public static final QName RELATIONSHIPTYPE_QNAME = new QName(NS,
RELATIONSHIPTYPE, NS_PREFIX);
-
- // WSA 'IsReferenceParameter' attribute
- public static final String ISREFERENCEPARAMETER =
"IsReferenceParameter";
- public static final QName ISREFERENCEPARAMETER_QNAME = new QName(NS,
ISREFERENCEPARAMETER, NS_PREFIX);
-
- }
-
- public static final class Faults
- {
- /**
- * Constructor.
- */
- private Faults()
- {
- // forbidden inheritance
- }
-
- // WSA 'InvalidAddressingHeader' fault
- public static final QName INVALIDADDRESSINGHEADER_QNAME = new QName(NS,
"InvalidAddressingHeader", NS_PREFIX);
-
- // WSA 'InvalidAddress' fault
- public static final QName INVALIDADDRESS_QNAME = new QName(NS,
"InvalidAddress", NS_PREFIX);
-
- // WSA 'InvalidEPR' fault
- public static final QName INVALIDEPR_QNAME = new QName(NS,
"InvalidEPR", NS_PREFIX);
-
- // WSA 'InvalidCardinality' fault
- public static final QName INVALIDCARDINALITY_QNAME = new QName(NS,
"InvalidCardinality", NS_PREFIX);
-
- // WSA 'MissingAddressInEPR' fault
- public static final QName MISSINGADDRESSINEPR_QNAME = new QName(NS,
"MissingAddressInEPR", NS_PREFIX);
-
- // WSA 'DuplicateMessageID' fault
- public static final QName DUPLICATEMESSAGEID_QNAME = new QName(NS,
"DuplicateMessageID", NS_PREFIX);
-
- // WSA 'ActionMismatch' fault
- public static final QName ACTIONMISMATCH_QNAME = new QName(NS,
"ActionMismatch", NS_PREFIX);
-
- // WSA 'MessageAddressingHeaderRequired' fault
- public static final QName MESSAGEADDRESSINGHEADERREQUIRED_QNAME = new QName(NS,
"MessageAddressingHeaderRequired", NS_PREFIX);
-
- // WSA 'DestinationUnreachable' fault
- public static final QName DESTINATIONUNREACHABLE_QNAME = new QName(NS,
"DestinationUnreachable", NS_PREFIX);
-
- // WSA 'ActionNotSupported' fault
- public static final QName ACTIONNOTSUPPORTED_QNAME = new QName(NS,
"ActionNotSupported", NS_PREFIX);
-
- // WSA 'EndpointUnavailable' fault
- public static final QName ENDPOINTUNAVAILABLE_QNAME = new QName(NS,
"EndpointUnavailable", NS_PREFIX);
- }
- }
-
- /**
- * <a
href="http://www.w3.org/2007/05/addressing/metadata">WSAM<...
constants.
- */
- public static final class Metadata
- {
- /**
- * Constructor.
- */
- private Metadata()
- {
- // forbidden inheritance
- }
-
- // WSAM namespace
- public static final String NS =
"http://www.w3.org/2007/05/addressing/metadata";
-
- // WSAM prefix
- public static final String NS_PREFIX = "wsam";
-
- public static final class Elements
- {
- /**
- * Constructor.
- */
- private Elements()
- {
- // forbidden inheritance
- }
-
- // WSAM 'ServiceName' element
- public static final String SERVICENAME = "ServiceName";
- public static final QName SERVICENAME_QNAME = new QName(NS, SERVICENAME,
NS_PREFIX);
-
- // WSAM 'InterfaceName' element
- public static final String INTERFACENAME = "InterfaceName";
- public static final QName INTERFACENAME_QNAME = new QName(NS, INTERFACENAME,
NS_PREFIX);
-
- // WSAM 'Addressing' element
- public static final String ADDRESSING = "Addressing";
- public static final QName ADDRESSING_QNAME = new QName(NS, ADDRESSING,
NS_PREFIX);
-
- // WSAM 'AnonymousResponses' element
- public static final String ANONYMOUSRESPONSES = "AnonymousResponses";
- public static final QName ANONYMOUSRESPONSES_QNAME = new QName(NS,
ANONYMOUSRESPONSES, NS_PREFIX);
-
- // WSAM 'NonAnonymousResponses' element
- public static final String NONANONYMOUSRESPONSES =
"NonAnonymousResponses";
- public static final QName NONANONYMOUSRESPONSES_QNAME = new QName(NS,
NONANONYMOUSRESPONSES, NS_PREFIX);
- }
-
- public static final class Attributes
- {
- /**
- * Constructor.
- */
- private Attributes()
- {
- // forbidden inheritance
- }
-
- // WSAM 'EndpointName' attribute
- public static final String ENDPOINTNAME = "EndpointName";
- public static final QName ENDPOINTNAME_QNAME = new QName(NS, ENDPOINTNAME,
NS_PREFIX);
-
- // WSAM 'Action' attribute
- public static final String ACTION = "Action";
- public static final QName ACTION_QNAME = new QName(NS, ACTION, NS_PREFIX);
-
- }
- }
-
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java 2011-04-14
15:28:36 UTC (rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,78 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import java.util.List;
-import java.util.Map;
-
-import org.w3c.dom.Element;
-
-/**
- * Message Addressing Properties is a wrapper for the stack-specific JSR-261 addressing
properties
- * classes implemented by JBossWS Native and CXF. It is used to localize dependence upon
the WS
- * stack.
- *
- * @author Andrew Dinn (adinn(a)redhat.com)
- * @author alessio.soldano(a)jboss.com
- *
- */
-public interface MAP
-{
- public String getTo();
-
- public MAPEndpoint getFrom();
-
- public String getMessageID();
-
- public String getAction();
-
- public MAPEndpoint getFaultTo();
-
- public MAPEndpoint getReplyTo();
-
- public MAPRelatesTo getRelatesTo();
-
- public void setTo(String address);
-
- public void setFrom(MAPEndpoint epref);
-
- public void setMessageID(String messageID);
-
- public void setAction(String action);
-
- public void setReplyTo(MAPEndpoint epref);
-
- public void setFaultTo(MAPEndpoint epref);
-
- public void setRelatesTo(MAPRelatesTo relatesTo);
-
- public void addReferenceParameter(Element refParam);
-
- public List<Object> getReferenceParameters();
-
- public void initializeAsDestination(MAPEndpoint epref);
-
- public void installOutboundMapOnServerSide(Map<String, Object> requestContext,
MAP map);
-
- public void installOutboundMapOnClientSide(Map<String, Object> requestContext,
MAP map);
-
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java 2011-04-14
15:28:36 UTC (rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-
-/**
- * MAPBuilder is a helper used to create objects used with class MAP.
- *
- * @author Andrew Dinn (adinn(a)redhat.com)
- * @author alessio.soldano(a)jboss.com
- *
- */
-public interface MAPBuilder
-{
- public MAP newMap();
-
- /**
- * retrieve the inbound server message address properties attached to a message
context
- * @param ctx the server message context
- * @return
- */
- public MAP inboundMap(Map<String, Object> ctx);
-
- /**
- * retrieve the outbound client message address properties attached to a message
request map
- * @param ctx the client request properties map
- * @return
- */
- public MAP outboundMap(Map<String, Object> ctx);
-
- public MAPConstants newConstants();
-
- public MAPEndpoint newEndpoint(String address);
-
- public MAPRelatesTo newRelatesTo(String id, QName type);
-
-}
Deleted:
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import org.jboss.wsf.spi.util.ServiceLoader;
-
-/**
- *
- * @author alessio.soldano(a)jboss.com
- * @since 25-May-2009
- *
- */
-public abstract class MAPBuilderFactory
-{
- public static MAPBuilderFactory getInstance()
- {
- return
(MAPBuilderFactory)ServiceLoader.loadService(MAPBuilderFactory.class.getName(), null);
- }
-
- public abstract MAPBuilder getBuilderInstance();
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-/**
- * MAPConstants is a wrapper which works with class MAP
- *
- * @author Andrew Dinn (adinn(a)redhat.com)
- * @author alessio.soldano(a)jboss.com
- *
- */
-public interface MAPConstants
-{
- public String getAnonymousURI();
-
- public String getNoneURI();
-
- public String getClientAddressingProperties();
-
- public String getClientAddressingPropertiesInbound();
-
- public String getClientAddressingPropertiesOutbound();
-
- public String getServerAddressingPropertiesInbound();
-
- public String getServerAddressingPropertiesOutbound();
-
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java 2011-04-14
15:28:36 UTC (rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import java.util.List;
-
-import org.w3c.dom.Element;
-
-/**
- * MAPEndpoint is a wrapper which works with class MAP.
- *
- * @author Andrew Dinn (adinn(a)redhat.com)
- * @author alessio.soldano(a)jboss.com
- *
- */
-public interface MAPEndpoint
-{
- public String getAddress();
-
- public void addReferenceParameter(Element element);
-
- public List<Object> getReferenceParameters();
-
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.addressing;
-
-import javax.xml.namespace.QName;
-
-/**
- * MAPRelationship is a wrapper which works with class MAP.
- *
- * @author Andrew Dinn (adinn(a)redhat.com)
- * @author alessio.soldano(a)jboss.com
- *
- */
-public interface MAPRelatesTo
-{
- public String getRelatesTo();
-
- public QName getType();
-
- public void setType(QName type);
-
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java 2011-04-14
15:28:36 UTC (rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,79 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.handler;
-
-import javax.xml.ws.handler.Handler;
-import javax.xml.ws.handler.MessageContext;
-
-/**
- * A generic jaxws handler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 13-Aug-2006
- */
-public abstract class GenericHandler implements Handler
-{
- private String handlerName;
-
- public String getHandlerName()
- {
- return handlerName;
- }
-
- public void setHandlerName(String handlerName)
- {
- this.handlerName = handlerName;
- }
-
- public boolean handleMessage(MessageContext msgContext)
- {
- Boolean outbound =
(Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
- if (outbound == null)
- throw new IllegalStateException("Cannot obtain required property: " +
MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
- return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
- }
-
- protected boolean handleOutbound(MessageContext msgContext)
- {
- return true;
- }
-
- protected boolean handleInbound(MessageContext msgContext)
- {
- return true;
- }
-
- public boolean handleFault(MessageContext messagecontext)
- {
- return true;
- }
-
- public void close(MessageContext messageContext)
- {
- }
-
- public String toString()
- {
- return (handlerName != null ? handlerName : super.toString());
- }
-}
Deleted:
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.handler;
-
-import javax.xml.ws.handler.LogicalHandler;
-import javax.xml.ws.handler.LogicalMessageContext;
-
-/**
- * A generic jaxws logical handler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 13-Aug-2006
- */
-public class GenericLogicalHandler<C extends LogicalMessageContext> extends
GenericHandler implements LogicalHandler
-{
-}
Deleted: common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.wsf.common.handler;
-
-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;
-
-/**
- * A generic jaxws soap handler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 13-Aug-2006
- */
-public abstract class GenericSOAPHandler<C extends LogicalMessageContext> extends
GenericHandler implements SOAPHandler
-{
- // The header blocks that can be processed by this Handler instance
- private Set<QName> headers = new HashSet<QName>();
-
- /** Gets the header blocks that can be processed by this Handler instance.
- */
- public Set<QName> getHeaders()
- {
- return headers;
- }
-
- /** Sets the header blocks that can be processed by this Handler instance.
- */
- public void setHeaders(Set<QName> headers)
- {
- this.headers = headers;
- }
-}
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/invocation/InvocationHandlerJAXWS.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/invocation/InvocationHandlerJAXWS.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/invocation/InvocationHandlerJAXWS.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -26,13 +26,9 @@
import org.jboss.wsf.common.injection.InjectionHelper;
import org.jboss.wsf.common.injection.PreDestroyHolder;
import org.jboss.wsf.common.injection.ThreadLocalAwareWebServiceContext;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.InvocationContext;
-import org.jboss.wsf.spi.invocation.ResourceInjector;
-import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
import org.jboss.wsf.spi.metadata.injection.InjectionsMetaData;
/**
@@ -69,10 +65,7 @@
if (injectionsMD != null)
InjectionHelper.injectResources(targetBean, injectionsMD,
endpoint.getJNDIContext());
- final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- final ResourceInjectorFactory resourceInjectorFactory =
spiProvider.getSPI(ResourceInjectorFactory.class);
- final ResourceInjector wsContextInjector =
resourceInjectorFactory.newResourceInjector();
- wsContextInjector.inject(targetBean,
ThreadLocalAwareWebServiceContext.getInstance());
+ InjectionHelper.injectWebServiceContext(targetBean,
ThreadLocalAwareWebServiceContext.getInstance());
this.log.debug("Calling postConstruct method on JAXWS JSE endpoint: " +
targetBean);
InjectionHelper.callPostConstructMethod(targetBean);
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/servlet/AbstractEndpointServlet.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/common/servlet/AbstractEndpointServlet.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/common/servlet/AbstractEndpointServlet.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -35,6 +35,7 @@
import org.jboss.wsf.common.ObjectNameFactory;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.classloading.ClassLoaderProvider;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.invocation.EndpointAssociation;
@@ -54,7 +55,6 @@
public abstract class AbstractEndpointServlet extends HttpServlet
{
- private final SPIProvider spiProvider =
SPIProviderResolver.getInstance().getProvider();
protected Endpoint endpoint;
private EndpointRegistry epRegistry;
@@ -133,7 +133,9 @@
*/
private void initRegistry()
{
- epRegistry =
spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
+ ClassLoader cl =
ClassLoaderProvider.getDefaultProvider().getServerIntegrationClassLoader();
+ SPIProvider spiProvider = SPIProviderResolver.getInstance(cl).getProvider();
+ epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class,
cl).getEndpointRegistry();
}
/**
Modified: common/trunk/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java 2011-04-14
15:28:36 UTC (rev 14094)
+++ common/trunk/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -49,55 +49,55 @@
*/
class DefaultSPIProvider extends SPIProvider
{
-
/**
- * Gets the specified SPI.
+ * Gets the specified SPI, using the provided classloader
*/
- public <T> T getSPI(Class<T> spiType)
+ @Override
+ public <T> T getSPI(Class<T> spiType, ClassLoader loader)
{
T returnType = null;
// SPIs provided by framework, defaults can be overridden
if (DeploymentModelFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultDeploymentModelFactory.class);
+ returnType = loadService(spiType, DefaultDeploymentModelFactory.class, loader);
}
else if (EndpointMetricsFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultEndpointMetricsFactory.class);
+ returnType = loadService(spiType, DefaultEndpointMetricsFactory.class, loader);
}
else if (LifecycleHandlerFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultLifecycleHandlerFactory.class);
+ returnType = loadService(spiType, DefaultLifecycleHandlerFactory.class,
loader);
}
else if (ResourceInjectorFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultResourceInjectorFactory.class);
+ returnType = loadService(spiType, DefaultResourceInjectorFactory.class,
loader);
}
else if (ServiceRefHandlerFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultServiceRefHandlerFactory.class);
+ returnType = loadService(spiType, DefaultServiceRefHandlerFactory.class,
loader);
}
else if (SecurityAdaptorFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultSecurityAdapterFactory.class);
+ returnType = loadService(spiType, DefaultSecurityAdapterFactory.class, loader);
}
else if (EndpointRegistryFactory.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultEndpointRegistryFactory.class);
+ returnType = loadService(spiType, DefaultEndpointRegistryFactory.class,
loader);
}
else if (Deployer.class.equals(spiType))
{
- returnType = loadService(spiType, DeployerJBoss6.class);
+ returnType = loadService(spiType, DeployerJBoss6.class, loader);
}
else if (JMSEndpointResolver.class.equals(spiType))
{
- returnType = loadService(spiType, DefaultJMSEndpointResolver.class);
+ returnType = loadService(spiType, DefaultJMSEndpointResolver.class, loader);
}
else
{
// SPI provided by either container or stack integration that has no default
implementation
- returnType = (T)loadService(spiType, null);
+ returnType = (T)loadService(spiType, null, loader);
}
if (returnType == null)
@@ -108,10 +108,10 @@
// Load SPI implementation through ServiceLoader
@SuppressWarnings("unchecked")
- private <T> T loadService(Class<T> spiType, Class<?> defaultImpl)
+ private <T> T loadService(Class<T> spiType, Class<?> defaultImpl,
ClassLoader loader)
{
final String defaultImplName = defaultImpl != null ? defaultImpl.getName() : null;
- return (T)ServiceLoader.loadService(spiType.getName(), defaultImplName);
+ return (T)ServiceLoader.loadService(spiType.getName(), defaultImplName, loader);
}
}
Modified:
common/trunk/src/main/java/org/jboss/wsf/framework/management/DefaultEndpointRegistryFactory.java
===================================================================
---
common/trunk/src/main/java/org/jboss/wsf/framework/management/DefaultEndpointRegistryFactory.java 2011-04-14
15:28:36 UTC (rev 14094)
+++
common/trunk/src/main/java/org/jboss/wsf/framework/management/DefaultEndpointRegistryFactory.java 2011-04-14
15:30:44 UTC (rev 14095)
@@ -25,6 +25,7 @@
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.classloading.ClassLoaderProvider;
import org.jboss.wsf.spi.ioc.IoCContainerProxy;
import org.jboss.wsf.spi.ioc.IoCContainerProxyFactory;
import org.jboss.wsf.spi.management.EndpointRegistry;
@@ -62,8 +63,9 @@
{
try
{
- final SPIProvider spiProvider =
SPIProviderResolver.getInstance().getProvider();
- final IoCContainerProxyFactory iocContainerFactory =
spiProvider.getSPI(IoCContainerProxyFactory.class);
+ final ClassLoader cl =
ClassLoaderProvider.getDefaultProvider().getServerIntegrationClassLoader();
+ final SPIProvider spiProvider =
SPIProviderResolver.getInstance(cl).getProvider();
+ final IoCContainerProxyFactory iocContainerFactory =
spiProvider.getSPI(IoCContainerProxyFactory.class, cl);
final IoCContainerProxy iocContainer = iocContainerFactory.getContainer();
EndpointRegistry registry = null;