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 2008/08/05 23:34:14 UTC
svn commit: r682964 - in /cxf/branches/2.0.x-fixes: ./
tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
Author: dkulp
Date: Tue Aug 5 14:34:12 2008
New Revision: 682964
URL: http://svn.apache.org/viewvc?rev=682964&view=rev
Log:
Merged revisions 681060 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r681060 | dkulp | 2008-07-30 10:13:38 -0400 (Wed, 30 Jul 2008) | 2 lines
Double check that we really can map all the wrapped parameters to classes. If not, fallback to bare mode.
........
Modified:
cxf/branches/2.0.x-fixes/ (props changed)
cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
Propchange: cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 5 14:34:12 2008
@@ -1 +1 @@
-/cxf/trunk:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435
+/cxf/trunk:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060
Propchange: cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.0.x-fixes/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/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?rev=682964&r1=682963&r2=682964&view=diff
==============================================================================
--- cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java (original)
+++ cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java Tue Aug 5 14:34:12 2008
@@ -478,6 +478,48 @@
private void buildParamModelsWithoutOrdering(JavaMethod method,
MessageInfo inputMessage,
MessageInfo outputMessage) throws ToolException {
+ boolean wrapped = method.isWrapperStyle();
+ if (wrapped) {
+ //check if really can be wrapper style....
+ List<MessagePartInfo> outputParts = outputMessage.getMessageParts();
+ List<MessagePartInfo> inputParts = inputMessage.getMessageParts();
+
+ MessagePartInfo inputPart = inputParts.size() > 0 ? inputParts.iterator().next() : null;
+ MessagePartInfo outputPart = outputParts.size() > 0 ? outputParts.iterator().next() : null;
+
+ List<QName> inputWrapElement = null;
+ List<QName> outputWrapElement = null;
+
+ if (inputPart != null) {
+ inputWrapElement = ProcessorUtil.getWrappedElementQNames(context,
+ inputPart.getElementQName());
+ }
+ if (outputPart != null) {
+ outputWrapElement = ProcessorUtil.getWrappedElementQNames(context,
+ outputPart.getElementQName());
+ }
+ for (QName item : inputWrapElement) {
+ String fullJavaName = this.dataBinding.getWrappedElementType(inputPart.getElementQName(),
+ item);
+ if (StringUtils.isEmpty(fullJavaName)) {
+ wrapped = false;
+ break;
+ }
+ }
+ for (QName item : outputWrapElement) {
+ String fullJavaName = this.dataBinding.getWrappedElementType(outputPart.getElementQName(),
+ item);
+ if (StringUtils.isEmpty(fullJavaName)) {
+ wrapped = false;
+ break;
+ }
+ }
+ if (!wrapped) {
+ //could not map one of the parameters to a java type, need to drop down to bare style
+ method.setWrapperStyle(false);
+ }
+ }
+
if (inputMessage != null) {
if (method.isWrapperStyle()) {
processWrappedInput(method, inputMessage);