Author: alessio.soldano(a)jboss.com
Date: 2011-04-14 11:25:34 -0400 (Thu, 14 Apr 2011)
New Revision: 14093
Added:
api/trunk/src/main/java/org/jboss/wsf/common/
api/trunk/src/main/java/org/jboss/wsf/common/addressing/
api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
api/trunk/src/main/java/org/jboss/wsf/util/
api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java
Removed:
api/trunk/src/main/java/org/jboss/wsf/common/addressing/
api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java
Modified:
api/trunk/
api/trunk/src/main/java/org/jboss/wsf/spi/util/ServiceLoader.java
Log:
[JBWS-3224][JBWS-3265] Isolate deployment classloader from ws server integration
Property changes on: api/trunk
___________________________________________________________________
Added: svn:mergeinfo
+ /api/branches/asoldano:14023-14041
Deleted: api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java 2011-04-08
15:48:56 UTC (rev 14041)
+++
api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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);
-
- }
- }
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
(from rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java
(rev 0)
+++
api/trunk/src/main/java/org/jboss/wsf/common/addressing/AddressingConstants.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,272 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAP.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java 2011-04-14 15:25:34
UTC (rev 14093)
@@ -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);
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java (from rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAP.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAP.java 2011-04-14 15:25:34
UTC (rev 14093)
@@ -0,0 +1,78 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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);
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java (from rev
14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilder.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,60 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java 2011-04-08
15:48:56 UTC (rev 14041)
+++
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -1,144 +0,0 @@
-/*
- * 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.wsf.common.addressing;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.util.ServiceLoader;
-
-/**
- * Factory for MAPBuilder; to be used to get an instance of the proper MAPBuilder
- * implementation which depends on the jbossws stack in use.
- *
- * @author alessio.soldano(a)jboss.com
- * @since 25-May-2009
- *
- */
-public abstract class MAPBuilderFactory
-{
- private static final String CLASSLOADER_PROVIDER =
"org.jboss.wsf.spi.classloading.ClassLoaderProvider";
- private static final String CLASSLOADER_PROVIDER_GET_METHOD =
"getDefaultProvider";
- private static final String CLASSLOADER_PROVIDER_GET_CL_METHOD =
"getServerIntegrationClassLoader";
- private static final String JBOSSWS_SPI_MODULE = "org.jboss.ws.spi";
-
- /**
- * Get the proper MAPBuilderFactory instance according to stack in use;
- * this uses the ws server integration modular classloader if available
- * (alternatively the current thread context classloader is used) for
- * looking up the factory name.
- *
- * @return
- */
- public static MAPBuilderFactory getInstance()
- {
- return getInstance(getServerIntegrationClassLoader());
- }
-
- /**
- * The same as getInstance() except the provided ClassLoader instance
- * is used to lookup the factory name.
- *
- * @param loader
- * @return
- */
- public static MAPBuilderFactory getInstance(ClassLoader loader)
- {
- return
(MAPBuilderFactory)ServiceLoader.loadService(MAPBuilderFactory.class.getName(), null,
loader);
- }
-
- public abstract MAPBuilder getBuilderInstance();
-
- private static ClassLoader getServerIntegrationClassLoader()
- {
- ClassLoader cl = null;
- try
- {
- //if jboss-modules is available (i.e. AS7 in-container) we get the
org.jboss.ws.spi:main module first,
- //the we use the ClassLoaderProvider facilities for getting the integration
classloader.
- //The reason for going this way is in not exposing the ClassLoaderProvider to
the public API,
- //while MAPBuilderFactory needs to work automatically (no need to specify the
loader to use)
- final ClassLoader spiLoader = getSPIClassLoader();
- if (spiLoader != null)
- {
- final Class<?> clazz = spiLoader.loadClass(CLASSLOADER_PROVIDER);
- final Object clProvider =
clazz.getMethod(CLASSLOADER_PROVIDER_GET_METHOD).invoke(null);
- cl =
(ClassLoader)clazz.getMethod(CLASSLOADER_PROVIDER_GET_CL_METHOD).invoke(clProvider);
- }
- }
- catch (RuntimeException re)
- {
- throw re;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- return (cl != null) ? cl : getContextClassLoader();
- }
-
- private static ClassLoader getSPIClassLoader()
- {
- ClassLoader moduleClassLoader = null;
- try {
- Class<?> moduleClass =
Class.forName("org.jboss.modules.Module");
- Class<?> moduleIdentifierClass =
Class.forName("org.jboss.modules.ModuleIdentifier");
- Class<?> moduleLoaderClass =
Class.forName("org.jboss.modules.ModuleLoader");
- Object moduleLoader =
moduleClass.getMethod("getBootModuleLoader").invoke(null);
- Object moduleIdentifier = moduleIdentifierClass.getMethod("create",
String.class).invoke(null, JBOSSWS_SPI_MODULE);
- Object module = moduleLoaderClass.getMethod("loadModule",
moduleIdentifierClass).invoke(moduleLoader, moduleIdentifier);
- moduleClassLoader =
(ClassLoader)moduleClass.getMethod("getClassLoader").invoke(module);
- } catch (Exception e) {
- //ignore, JBoss Modules might not be available at all
- Logger log = Logger.getLogger(MAPBuilderFactory.class);
- if (log.isTraceEnabled())
- {
- log.trace("Could not get " + JBOSSWS_SPI_MODULE + " module
classloader: ", e);
- }
- }
- return moduleClassLoader;
- }
-
- /**
- * Get context classloader.
- *
- * @return the current context classloader
- */
- static ClassLoader getContextClassLoader()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm == null)
- {
- return Thread.currentThread().getContextClassLoader();
- }
- else
- {
- return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
- public ClassLoader run()
- {
- return Thread.currentThread().getContextClassLoader();
- }
- });
- }
- }
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
(from rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java
(rev 0)
+++
api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPBuilderFactory.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,144 @@
+/*
+ * 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.wsf.common.addressing;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.util.ServiceLoader;
+
+/**
+ * Factory for MAPBuilder; to be used to get an instance of the proper MAPBuilder
+ * implementation which depends on the jbossws stack in use.
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 25-May-2009
+ *
+ */
+public abstract class MAPBuilderFactory
+{
+ private static final String CLASSLOADER_PROVIDER =
"org.jboss.wsf.spi.classloading.ClassLoaderProvider";
+ private static final String CLASSLOADER_PROVIDER_GET_METHOD =
"getDefaultProvider";
+ private static final String CLASSLOADER_PROVIDER_GET_CL_METHOD =
"getServerIntegrationClassLoader";
+ private static final String JBOSSWS_SPI_MODULE = "org.jboss.ws.spi";
+
+ /**
+ * Get the proper MAPBuilderFactory instance according to stack in use;
+ * this uses the ws server integration modular classloader if available
+ * (alternatively the current thread context classloader is used) for
+ * looking up the factory name.
+ *
+ * @return
+ */
+ public static MAPBuilderFactory getInstance()
+ {
+ return getInstance(getServerIntegrationClassLoader());
+ }
+
+ /**
+ * The same as getInstance() except the provided ClassLoader instance
+ * is used to lookup the factory name.
+ *
+ * @param loader
+ * @return
+ */
+ public static MAPBuilderFactory getInstance(ClassLoader loader)
+ {
+ return
(MAPBuilderFactory)ServiceLoader.loadService(MAPBuilderFactory.class.getName(), null,
loader);
+ }
+
+ public abstract MAPBuilder getBuilderInstance();
+
+ private static ClassLoader getServerIntegrationClassLoader()
+ {
+ ClassLoader cl = null;
+ try
+ {
+ //if jboss-modules is available (i.e. AS7 in-container) we get the
org.jboss.ws.spi:main module first,
+ //the we use the ClassLoaderProvider facilities for getting the integration
classloader.
+ //The reason for going this way is in not exposing the ClassLoaderProvider to
the public API,
+ //while MAPBuilderFactory needs to work automatically (no need to specify the
loader to use)
+ final ClassLoader spiLoader = getSPIClassLoader();
+ if (spiLoader != null)
+ {
+ final Class<?> clazz = spiLoader.loadClass(CLASSLOADER_PROVIDER);
+ final Object clProvider =
clazz.getMethod(CLASSLOADER_PROVIDER_GET_METHOD).invoke(null);
+ cl =
(ClassLoader)clazz.getMethod(CLASSLOADER_PROVIDER_GET_CL_METHOD).invoke(clProvider);
+ }
+ }
+ catch (RuntimeException re)
+ {
+ throw re;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ return (cl != null) ? cl : getContextClassLoader();
+ }
+
+ private static ClassLoader getSPIClassLoader()
+ {
+ ClassLoader moduleClassLoader = null;
+ try {
+ Class<?> moduleClass =
Class.forName("org.jboss.modules.Module");
+ Class<?> moduleIdentifierClass =
Class.forName("org.jboss.modules.ModuleIdentifier");
+ Class<?> moduleLoaderClass =
Class.forName("org.jboss.modules.ModuleLoader");
+ Object moduleLoader =
moduleClass.getMethod("getBootModuleLoader").invoke(null);
+ Object moduleIdentifier = moduleIdentifierClass.getMethod("create",
String.class).invoke(null, JBOSSWS_SPI_MODULE);
+ Object module = moduleLoaderClass.getMethod("loadModule",
moduleIdentifierClass).invoke(moduleLoader, moduleIdentifier);
+ moduleClassLoader =
(ClassLoader)moduleClass.getMethod("getClassLoader").invoke(module);
+ } catch (Exception e) {
+ //ignore, JBoss Modules might not be available at all
+ Logger log = Logger.getLogger(MAPBuilderFactory.class);
+ if (log.isTraceEnabled())
+ {
+ log.trace("Could not get " + JBOSSWS_SPI_MODULE + " module
classloader: ", e);
+ }
+ }
+ return moduleClassLoader;
+ }
+
+ /**
+ * Get context classloader.
+ *
+ * @return the current context classloader
+ */
+ static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+ }
+}
Deleted: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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();
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java (from
rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPConstants.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,47 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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();
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java (from rev
14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPEndpoint.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,43 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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);
-
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java (from
rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/addressing/MAPRelatesTo.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,41 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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());
- }
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java (from rev
14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java
(rev 0)
+++ api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,79 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java 2011-04-08
15:48:56 UTC (rev 14041)
+++
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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
-{
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
(from rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java
(rev 0)
+++
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericLogicalHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,35 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
===================================================================
---
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java 2011-04-08
15:48:56 UTC (rev 14041)
+++
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -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;
- }
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java (from
rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java
(rev 0)
+++
api/trunk/src/main/java/org/jboss/wsf/common/handler/GenericSOAPHandler.java 2011-04-14
15:25:34 UTC (rev 14093)
@@ -0,0 +1,55 @@
+/*
+ * 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: api/trunk/src/main/java/org/jboss/wsf/spi/util/ServiceLoader.java
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/spi/util/ServiceLoader.java 2011-04-14 15:12:21
UTC (rev 14092)
+++ api/trunk/src/main/java/org/jboss/wsf/spi/util/ServiceLoader.java 2011-04-14 15:25:34
UTC (rev 14093)
@@ -64,28 +64,59 @@
* as the name of the implementation class.
*
* 4. Finally, a default implementation class name is used.
+ *
+ * @param propertyName The property name for the service to resolve
+ * @param defaultFactory Default factory class name to be used when not able to
resolve anything
+ * @param cl The classLoader to be used for loading resolved service
+ * @return A new instance of the required service
*/
- public static Object loadService(String propertyName, String defaultFactory)
+ public static Object loadService(String propertyName, String defaultFactory,
ClassLoader cl)
{
- Object factory = loadFromServices(propertyName, null);
+ Object factory = loadFromServices(propertyName, null, cl);
if (factory == null)
{
- factory = loadFromPropertiesFile(propertyName, null);
+ factory = loadFromPropertiesFile(propertyName, null, cl);
}
if (factory == null)
{
- factory = loadFromSystemProperty(propertyName, defaultFactory);
+ factory = loadFromSystemProperty(propertyName, defaultFactory, cl);
}
return factory;
}
+ /**
+ * This method uses the algorithm below using the JAXWS Provider as an example.
+ *
+ * 1. If a resource with the name of META-INF/services/javax.xml.ws.spi.Provider
exists, then
+ * its first line, if present, is used as the UTF-8 encoded name of the implementation
class.
+ *
+ * 2. If the ${java.home}/lib/jaxws.properties file exists and it is readable by the
+ * java.util.Properties.load(InputStream) method and it contains an entry whose key is
+ * javax.xml.ws.spi.Provider, then the value of that entry is used as the name of the
implementation class.
+ *
+ * 3. If a system property with the name javax.xml.ws.spi.Provider is defined, then
its value is used
+ * as the name of the implementation class.
+ *
+ * 4. Finally, a default implementation class name is used.
+ *
+ * This is equivalent to calling {@link loadService(String propertyName, String
defaultFactory, ClassLoader cl)}
+ * passing in the Thread.currentThread().getContextClassLoader().
+ *
+ * @param propertyName The property name for the service to resolve
+ * @param defaultFactory Default factory class name to be used when not able to
resolve anything
+ * @return A new instance of the required service
+ */
+ public static Object loadService(String propertyName, String defaultFactory)
+ {
+ return loadService(propertyName, defaultFactory,
SecurityActions.getContextClassLoader());
+ }
+
/** Use the Services API (as detailed in the JAR specification), if available, to
determine the classname.
*/
- public static Object loadFromServices(String propertyName, String defaultFactory)
+ private static Object loadFromServices(String propertyName, String defaultFactory,
ClassLoader loader)
{
Object factory = null;
String factoryName = null;
- ClassLoader loader = SecurityActions.getContextClassLoader();
// Use the Services API (as detailed in the JAR specification), if available, to
determine the classname.
String filename = "META-INF/services/" + propertyName;
@@ -107,7 +138,7 @@
// Use the default factory implementation class.
if (factory == null && defaultFactory != null)
{
- factory = loadDefault(defaultFactory);
+ factory = loadDefault(defaultFactory, loader);
}
return factory;
@@ -142,10 +173,9 @@
/** Use the system property
*/
- public static Object loadFromSystemProperty(String propertyName, String
defaultFactory)
+ private static Object loadFromSystemProperty(String propertyName, String
defaultFactory, ClassLoader loader)
{
Object factory = null;
- ClassLoader loader = SecurityActions.getContextClassLoader();
PrivilegedAction action = new PropertyAccessAction(propertyName);
String factoryName = (String)AccessController.doPrivileged(action);
@@ -166,7 +196,7 @@
// Use the default factory implementation class.
if (factory == null && defaultFactory != null)
{
- factory = loadDefault(defaultFactory);
+ factory = loadDefault(defaultFactory, loader);
}
return factory;
@@ -177,11 +207,10 @@
* This configuration file is in standard java.util.Properties format and contains the
* fully qualified name of the implementation class with the key being the system
property defined above.
*/
- public static Object loadFromPropertiesFile(String propertyName, String
defaultFactory)
+ private static Object loadFromPropertiesFile(String propertyName, String
defaultFactory, ClassLoader loader)
{
Object factory = null;
String factoryName = null;
- ClassLoader loader = SecurityActions.getContextClassLoader();
// Use the properties file "lib/jaxm.properties" in the JRE directory.
// This configuration file is in standard java.util.Properties format and contains
the fully qualified name of the implementation class with the key being the system
property defined above.
@@ -211,16 +240,15 @@
// Use the default factory implementation class.
if (factory == null && defaultFactory != null)
{
- factory = loadDefault(defaultFactory);
+ factory = loadDefault(defaultFactory, loader);
}
return factory;
}
- private static Object loadDefault(String defaultFactory)
+ private static Object loadDefault(String defaultFactory, ClassLoader loader)
{
Object factory = null;
- ClassLoader loader = SecurityActions.getContextClassLoader();
// Use the default factory implementation class.
if (defaultFactory != null)
Deleted: api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java
===================================================================
--- api/branches/asoldano/src/main/java/org/jboss/wsf/util/DOMUtils.java 2011-04-08
15:48:56 UTC (rev 14041)
+++ api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java 2011-04-14 15:25:34 UTC (rev
14093)
@@ -1,647 +0,0 @@
-/*
- * 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.wsf.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.jboss.logging.Logger;
-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.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * Basic DOM2 utilities
- *
- * @author alessio.soldano(a)jboss.com
- * @author Thomas.Diesler(a)jboss.org
- *
- */
-public abstract class DOMUtils
-{
- private static Logger log = Logger.getLogger(DOMUtils.class);
-
- /** 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);
- }
-
- public static Element sourceToElement(Source source, DocumentBuilder builder) throws
IOException
- {
- Element retElement = null;
-
- if (source instanceof StreamSource)
- {
- StreamSource streamSource = (StreamSource) source;
-
- InputStream ins = streamSource.getInputStream();
- if (ins != null)
- {
- retElement = DOMUtils.parse(ins, builder);
- }
- Reader reader = streamSource.getReader();
- if (reader != null)
- {
- retElement = DOMUtils.parse(new InputSource(reader), builder);
- }
- }
- else if (source instanceof DOMSource)
- {
- DOMSource domSource = (DOMSource) source;
- Node node = domSource.getNode();
- if (node instanceof Element)
- {
- retElement = (Element) node;
- }
- else if (node instanceof Document)
- {
- retElement = ((Document) node).getDocumentElement();
- }
- }
- else if (source instanceof SAXSource)
- {
- // The fact that JAXBSource derives from SAXSource is an implementation detail.
- // Thus in general applications are strongly discouraged from accessing methods
defined on SAXSource.
- // The XMLReader object obtained by the getXMLReader method shall be used only
for parsing the InputSource object returned by the getInputSource method.
-
- final boolean hasInputSource = ((SAXSource) source).getInputSource() != null;
- final boolean hasXMLReader = ((SAXSource) source).getXMLReader() != null;
-
- if (hasInputSource || hasXMLReader)
- {
- try
- {
- TransformerFactory tf = TransformerFactory.newInstance();
- ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
- Transformer transformer = tf.newTransformer();
- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,
"yes");
- transformer.setOutputProperty(OutputKeys.METHOD, "xml");
- transformer.transform(source, new StreamResult(baos));
- retElement = DOMUtils.parse(new ByteArrayInputStream(baos.toByteArray()),
builder);
- }
- catch (TransformerException ex)
- {
- throw new IOException(ex);
- }
- }
- }
- else
- {
- throw new RuntimeException("Source type not implemented: " +
source.getClass().getName());
- }
-
- return retElement;
- }
-
- /** Parse the given XML string and return the root Element
- */
- public static Element parse(String xmlString, DocumentBuilder builder) throws
IOException
- {
- try
- {
- return parse(new ByteArrayInputStream(xmlString.getBytes("UTF-8")),
builder);
- }
- catch (IOException e)
- {
- log.error("Cannot parse: " + xmlString);
- throw e;
- }
- }
-
- /** Parse the given XML stream and return the root Element
- */
- public static Element parse(InputStream xmlStream, DocumentBuilder builder) throws
IOException
- {
- try
- {
- Document doc;
- synchronized (builder) //synchronize to prevent concurrent parsing on the same
DocumentBuilder
- {
- doc = builder.parse(xmlStream);
- }
- return doc.getDocumentElement();
- }
- catch (SAXException se)
- {
- throw new IOException(se.toString());
- }
- finally
- {
- xmlStream.close();
- }
- }
-
- /** Parse the given input source and return the root Element
- */
- public static Element parse(InputSource source, DocumentBuilder builder) throws
IOException
- {
- try
- {
- Document doc;
- synchronized (builder) //synchronize to prevent concurrent parsing on the same
DocumentBuilder
- {
- doc = builder.parse(source);
- }
- return doc.getDocumentElement();
- }
- catch (SAXException se)
- {
- throw new IOException(se.toString());
- }
- finally
- {
- InputStream is = source.getByteStream();
- if (is != null)
- {
- is.close();
- }
- Reader r = source.getCharacterStream();
- if (r != null)
- {
- r.close();
- }
- }
- }
-
- /** Create an Element for a given name, prefix and uri
- */
- public static Element createElement(String localPart, String prefix, String uri,
Document doc)
- {
- if (prefix == null || prefix.length() == 0)
- {
- if (log.isTraceEnabled())
- log.trace("createElement {" + uri + "}" + localPart);
- return doc.createElementNS(uri, localPart);
- }
- else
- {
- if (log.isTraceEnabled())
- log.trace("createElement {" + uri + "}" + prefix +
":" + localPart);
- return doc.createElementNS(uri, prefix + ":" + localPart);
- }
- }
-}
Copied: api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java (from rev 14041,
api/branches/asoldano/src/main/java/org/jboss/wsf/util/DOMUtils.java)
===================================================================
--- api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java (rev
0)
+++ api/trunk/src/main/java/org/jboss/wsf/util/DOMUtils.java 2011-04-14 15:25:34 UTC (rev
14093)
@@ -0,0 +1,647 @@
+/*
+ * 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.wsf.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.jboss.logging.Logger;
+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.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * Basic DOM2 utilities
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @author Thomas.Diesler(a)jboss.org
+ *
+ */
+public abstract class DOMUtils
+{
+ private static Logger log = Logger.getLogger(DOMUtils.class);
+
+ /** 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);
+ }
+
+ public static Element sourceToElement(Source source, DocumentBuilder builder) throws
IOException
+ {
+ Element retElement = null;
+
+ if (source instanceof StreamSource)
+ {
+ StreamSource streamSource = (StreamSource) source;
+
+ InputStream ins = streamSource.getInputStream();
+ if (ins != null)
+ {
+ retElement = DOMUtils.parse(ins, builder);
+ }
+ Reader reader = streamSource.getReader();
+ if (reader != null)
+ {
+ retElement = DOMUtils.parse(new InputSource(reader), builder);
+ }
+ }
+ else if (source instanceof DOMSource)
+ {
+ DOMSource domSource = (DOMSource) source;
+ Node node = domSource.getNode();
+ if (node instanceof Element)
+ {
+ retElement = (Element) node;
+ }
+ else if (node instanceof Document)
+ {
+ retElement = ((Document) node).getDocumentElement();
+ }
+ }
+ else if (source instanceof SAXSource)
+ {
+ // The fact that JAXBSource derives from SAXSource is an implementation detail.
+ // Thus in general applications are strongly discouraged from accessing methods
defined on SAXSource.
+ // The XMLReader object obtained by the getXMLReader method shall be used only
for parsing the InputSource object returned by the getInputSource method.
+
+ final boolean hasInputSource = ((SAXSource) source).getInputSource() != null;
+ final boolean hasXMLReader = ((SAXSource) source).getXMLReader() != null;
+
+ if (hasInputSource || hasXMLReader)
+ {
+ try
+ {
+ TransformerFactory tf = TransformerFactory.newInstance();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ Transformer transformer = tf.newTransformer();
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,
"yes");
+ transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+ transformer.transform(source, new StreamResult(baos));
+ retElement = DOMUtils.parse(new ByteArrayInputStream(baos.toByteArray()),
builder);
+ }
+ catch (TransformerException ex)
+ {
+ throw new IOException(ex);
+ }
+ }
+ }
+ else
+ {
+ throw new RuntimeException("Source type not implemented: " +
source.getClass().getName());
+ }
+
+ return retElement;
+ }
+
+ /** Parse the given XML string and return the root Element
+ */
+ public static Element parse(String xmlString, DocumentBuilder builder) throws
IOException
+ {
+ try
+ {
+ return parse(new ByteArrayInputStream(xmlString.getBytes("UTF-8")),
builder);
+ }
+ catch (IOException e)
+ {
+ log.error("Cannot parse: " + xmlString);
+ throw e;
+ }
+ }
+
+ /** Parse the given XML stream and return the root Element
+ */
+ public static Element parse(InputStream xmlStream, DocumentBuilder builder) throws
IOException
+ {
+ try
+ {
+ Document doc;
+ synchronized (builder) //synchronize to prevent concurrent parsing on the same
DocumentBuilder
+ {
+ doc = builder.parse(xmlStream);
+ }
+ return doc.getDocumentElement();
+ }
+ catch (SAXException se)
+ {
+ throw new IOException(se.toString());
+ }
+ finally
+ {
+ xmlStream.close();
+ }
+ }
+
+ /** Parse the given input source and return the root Element
+ */
+ public static Element parse(InputSource source, DocumentBuilder builder) throws
IOException
+ {
+ try
+ {
+ Document doc;
+ synchronized (builder) //synchronize to prevent concurrent parsing on the same
DocumentBuilder
+ {
+ doc = builder.parse(source);
+ }
+ return doc.getDocumentElement();
+ }
+ catch (SAXException se)
+ {
+ throw new IOException(se.toString());
+ }
+ finally
+ {
+ InputStream is = source.getByteStream();
+ if (is != null)
+ {
+ is.close();
+ }
+ Reader r = source.getCharacterStream();
+ if (r != null)
+ {
+ r.close();
+ }
+ }
+ }
+
+ /** Create an Element for a given name, prefix and uri
+ */
+ public static Element createElement(String localPart, String prefix, String uri,
Document doc)
+ {
+ if (prefix == null || prefix.length() == 0)
+ {
+ if (log.isTraceEnabled())
+ log.trace("createElement {" + uri + "}" + localPart);
+ return doc.createElementNS(uri, localPart);
+ }
+ else
+ {
+ if (log.isTraceEnabled())
+ log.trace("createElement {" + uri + "}" + prefix +
":" + localPart);
+ return doc.createElementNS(uri, prefix + ":" + localPart);
+ }
+ }
+}