You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2010/05/14 17:06:20 UTC
svn commit: r944308 - in /cxf/trunk:
common/common/src/main/java/org/apache/cxf/helpers/
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/
tools/wsdlt...
Author: dkulp
Date: Fri May 14 15:06:20 2010
New Revision: 944308
URL: http://svn.apache.org/viewvc?rev=944308&view=rev
Log:
Fix a bunch of issue that the JAX-WS 2.2 TCK is exposing
Modified:
cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java
cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/FaultProcessor.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessor.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java Fri May 14 15:06:20 2010
@@ -523,7 +523,7 @@ public final class DOMUtils {
String name = node.getNodeName();
if (ns.equals(node.getNodeValue())
&& (name != null && (XMLNAMESPACE.equals(name) || name.startsWith(XMLNAMESPACE + ":")))) {
- return node.getPrefix();
+ return node.getLocalName();
}
}
return null;
@@ -648,7 +648,20 @@ public final class DOMUtils {
elem = getNextElement(elem);
}
}
+ public static boolean hasElementInNS(Element el, String namespace) {
+ if (namespace.equals(el.getNamespaceURI())) {
+ return true;
+ }
+ Element elem = getFirstElement(el);
+ while (elem != null) {
+ if (hasElementInNS(elem, namespace)) {
+ return true;
+ }
+ elem = getNextElement(elem);
+ }
+ return false;
+ }
/**
* Set a namespace/prefix on an element if it is not set already. First off, it searches for the element
* for the prefix associated with the specified namespace. If the prefix isn't null, then this is
Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java Fri May 14 15:06:20 2010
@@ -280,11 +280,7 @@ public class JaxWsServiceConfiguration e
String tns = null;
String local = null;
if (param != null) {
- //if it's a "wrapped" thing, the WebParam namespace is irrelevant
- //as the generated element has to be in the namespace of the wrapper type
- if (param.header() || !op.isUnwrapped()) {
- tns = param.targetNamespace();
- }
+ tns = param.targetNamespace();
local = param.name();
}
Modified: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java (original)
+++ cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java Fri May 14 15:06:20 2010
@@ -756,7 +756,8 @@ public class JAXBDataBinding implements
List<Element> incElemList = DOMUtils.findAllElementsByTagNameNS(element,
ToolConstants.SCHEMA_URI,
"include");
- if (impElemList.size() == 0 && incElemList.size() == 0) {
+ boolean hasJAXB = DOMUtils.hasElementInNS(element, ToolConstants.NS_JAXB_BINDINGS);
+ if (impElemList.size() == 0 && incElemList.size() == 0 && !hasJAXB) {
return element;
}
element = (Element)cloneNode(element.getOwnerDocument(), element, true);
@@ -781,6 +782,16 @@ public class JAXBDataBinding implements
Attr val = elem.getAttributeNode("schemaLocation");
val.setNodeValue(mapSchemaLocation(val.getNodeValue(), sysId, catalog));
}
+
+ if (hasJAXB) {
+ //need to add ns and version
+ String pfx = DOMUtils.getPrefix(element, ToolConstants.NS_JAXB_BINDINGS);
+ if (StringUtils.isEmpty(pfx)) {
+ pfx = DOMUtils.createNamespace(element, ToolConstants.NS_JAXB_BINDINGS);
+ }
+ element.setAttributeNS(ToolConstants.NS_JAXB_BINDINGS,
+ pfx + ":version", "2.0");
+ }
return element;
}
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/FaultProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/FaultProcessor.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/FaultProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/FaultProcessor.java Fri May 14 15:06:20 2010
@@ -83,6 +83,10 @@ public class FaultProcessor extends Abst
if (jaxwsBinding.getJaxwsClass() != null
&& jaxwsBinding.getJaxwsClass().getClassName() != null) {
name = jaxwsBinding.getJaxwsClass().getClassName();
+ if (name.contains(".")) {
+ packageName = name.substring(0, name.lastIndexOf('.'));
+ name = name.substring(name.lastIndexOf('.') + 1);
+ }
}
}
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java Fri May 14 15:06:20 2010
@@ -130,7 +130,7 @@ public class OperationProcessor extends
enableWrapper = opBinding.isEnableWrapperStyle();
}
}
- method.setWrapperStyle(enableWrapper);
+ method.setWrapperStyle(enableWrapper && method.isWrapperStyle());
paramProcessor.process(method,
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java Fri May 14 15:06:20 2010
@@ -603,7 +603,7 @@ public class ParameterProcessor extends
List<MessagePartInfo> inputParts = inputMessage.getMessageParts();
MessagePartInfo inputPart = inputParts.size() > 0 ? inputParts.iterator().next() : null;
List<QName> inputWrapElement = null;
- if (inputPart != null) {
+ if (inputPart != null && inputPart.isElement()) {
inputWrapElement = ProcessorUtil.getWrappedElementQNames(context,
inputPart.getElementQName());
}
@@ -622,7 +622,7 @@ public class ParameterProcessor extends
List<MessagePartInfo> outputParts = outputMessage.getMessageParts();
MessagePartInfo outputPart = outputParts.size() > 0 ? outputParts.iterator().next() : null;
List<QName> outputWrapElement = null;
- if (outputPart != null) {
+ if (outputPart != null && outputPart.isElement()) {
outputWrapElement = ProcessorUtil.getWrappedElementQNames(context,
outputPart.getElementQName());
}
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessor.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessor.java Fri May 14 15:06:20 2010
@@ -77,6 +77,12 @@ public class PortTypeProcessor extends A
&& infBinding.getJaxwsClass() != null
&& infBinding.getJaxwsClass().getClassName() != null) {
name = infBinding.getJaxwsClass().getClassName();
+
+ if (name.contains(".")) {
+ intf.setPackageName(name.substring(0, name.lastIndexOf('.')));
+ name = name.substring(name.lastIndexOf('.') + 1);
+ }
+
intf.setClassJavaDoc(infBinding.getJaxwsClass().getComments());
}
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java Fri May 14 15:06:20 2010
@@ -362,6 +362,9 @@ public final class ProcessorUtil {
public static List<QName> getWrappedElementQNames(ToolContext context, QName partElement) {
List<QName> qnames = new ArrayList<QName>();
+ if (partElement == null) {
+ return qnames;
+ }
for (WrapperElement element : getWrappedElement(context, partElement)) {
qnames.add(element.getElementName());
}
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java?rev=944308&r1=944307&r2=944308&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java Fri May 14 15:06:20 2010
@@ -170,6 +170,11 @@ public class ServiceProcessor extends Ab
if (serviceBinding.getJaxwsClass() != null
&& serviceBinding.getJaxwsClass().getClassName() != null) {
name = serviceBinding.getJaxwsClass().getClassName();
+ if (name.contains(".")) {
+ jaxwsBinding.setPackage(name.substring(0, name.lastIndexOf('.')));
+ name = name.substring(name.lastIndexOf('.') + 1);
+ }
+
sclz.setClassJavaDoc(serviceBinding.getJaxwsClass().getComments());
}
sclz.setPackageJavaDoc(serviceBinding.getPackageJavaDoc());
@@ -193,6 +198,10 @@ public class ServiceProcessor extends Ab
if (serviceBinding2.getJaxwsClass() != null
&& serviceBinding2.getJaxwsClass().getClassName() != null) {
name = serviceBinding2.getJaxwsClass().getClassName();
+ if (name.contains(".")) {
+ jaxwsBinding.setPackage(name.substring(0, name.lastIndexOf('.')));
+ name = name.substring(name.lastIndexOf('.') + 1);
+ }
}
if (serviceBinding2.getJaxwsClass().getComments() != null) {
jaxwsBinding.setClassJavaDoc(serviceBinding2.getJaxwsClass().getComments());