Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3B8A46F69 for ; Mon, 20 Jun 2011 15:31:19 +0000 (UTC) Received: (qmail 66012 invoked by uid 500); 20 Jun 2011 15:31:19 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 65954 invoked by uid 500); 20 Jun 2011 15:31:19 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 65946 invoked by uid 99); 20 Jun 2011 15:31:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jun 2011 15:31:19 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jun 2011 15:31:17 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3D40423889BF; Mon, 20 Jun 2011 15:30:57 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1137664 - in /cxf/trunk: api/src/main/java/org/apache/cxf/tools/common/ maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ systests/wsdl_maven/codegen/ tools/common/src/main/java/org/apache/cxf/tools/common/ tools/wsdl... Date: Mon, 20 Jun 2011 15:30:57 -0000 To: commits@cxf.apache.org From: dkulp@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110620153057.3D40423889BF@eris.apache.org> Author: dkulp Date: Mon Jun 20 15:30:56 2011 New Revision: 1137664 URL: http://svn.apache.org/viewvc?rev=1137664&view=rev Log: [CXF-3602, CXF-3603, CXF-3604] Add command line switches to enable some common jaxws customization use cases. Modified: cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WsdlOption.java cxf/trunk/systests/wsdl_maven/codegen/pom.xml cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolContext.java cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/JAXWSContainer.java cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java Modified: cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java (original) +++ cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java Mon Jun 20 15:30:56 2011 @@ -66,6 +66,9 @@ public final class ToolConstants { public static final String CFG_NO_TYPES = "notypes"; public static final String CFG_XJC_ARGS = "xjc"; public static final String CFG_CATALOG = "catalog"; + public static final String CFG_BAREMETHODS = "bareMethods"; + public static final String CFG_ASYNCMETHODS = "asyncMethods"; + public static final String CFG_MIMEMETHODS = "mimeMethods"; public static final String CFG_DEFAULT_VALUES = "defaultValues"; public static final String CFG_JAVASCRIPT_UTILS = "javascriptUtils"; Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java (original) +++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java Mon Jun 20 15:30:56 2011 @@ -51,6 +51,10 @@ public class Option { * For compatibility as well as to specify any extra flags not addressed by other parameters */ protected List xjcargs = new ArrayList(); + + protected String[] asyncMethods; + protected String[] bareMethods; + protected String[] mimeMethods; /** * Directory where generated java classes will be created. Defaults to plugin 'sourceRoot' parameter @@ -193,6 +197,25 @@ public class Option { this.xjcargs.clear(); this.xjcargs.addAll(ea); } + public void setMimeMethods(String[] methods) { + mimeMethods = methods; + } + public String[] getMimeMethods() { + return mimeMethods; + } + public void setAsyncMethods(String[] methods) { + asyncMethods = methods; + } + public String[] getAsyncMethods() { + return asyncMethods; + } + public void setBareMethods(String[] methods) { + bareMethods = methods; + } + public String[] getBareMethods() { + return bareMethods; + } + public List getPackagenames() { return packagenames; @@ -330,7 +353,7 @@ public class Option { } public String getFaultSerialVersionUID() { - return faultSerialVersionUID == null ? "none" : faultSerialVersionUID; + return faultSerialVersionUID; } public void setFaultSerialVersionUID(String faultSerialVersionUID) { @@ -420,6 +443,9 @@ public class Option { destination.setWsdlLocation(getWsdlLocation()); } destination.setWsdlVersion(getWsdlVersion()); + destination.setMimeMethods(getMimeMethods()); + destination.setAsyncMethods(getAsyncMethods()); + destination.setBareMethods(getBareMethods()); } private T setIfNull(T dest, T source) { @@ -457,6 +483,9 @@ public class Option { redundantDirs = mergeList(redundantDirs, defaultOptions.redundantDirs, File.class); packagenames.addAll(defaultOptions.packagenames); namespaceExcludes.addAll(defaultOptions.namespaceExcludes); + bareMethods = mergeList(bareMethods, defaultOptions.bareMethods, String.class); + asyncMethods = mergeList(asyncMethods, defaultOptions.asyncMethods, String.class); + mimeMethods = mergeList(mimeMethods, defaultOptions.mimeMethods, String.class); } @SuppressWarnings("unchecked") Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java (original) +++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java Mon Jun 20 15:30:56 2011 @@ -636,6 +636,7 @@ public class WSDL2JavaMojo extends Abstr private void runForked(Set classPath, Class cls, String[] args) throws MojoExecutionException { getLog().info("Running wsdl2java in fork mode..."); + getLog().debug("Running wsdl2java in fork mode with args " + Arrays.asList(args)); Commandline cmd = new Commandline(); cmd.getShell().setQuotedArgumentsEnabled(false); // for JVM args Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WsdlOption.java URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WsdlOption.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WsdlOption.java (original) +++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WsdlOption.java Mon Jun 20 15:30:56 2011 @@ -166,7 +166,11 @@ public class WsdlOption extends Option { } addIfTrue(list, isWsdlList(), "-wsdlList"); addIfTrue(list, debug && !list.contains("-verbose"), "-verbose"); + addEqualsArray(list, "-asyncMethods", getAsyncMethods()); + addEqualsArray(list, "-bareMethods", getBareMethods()); + addEqualsArray(list, "-mimeMethods", getMimeMethods()); list.add(wsdlURI.toString()); + return list; } @@ -199,5 +203,25 @@ public class WsdlOption extends Option { } } } + private static void addEqualsArray(List destList, + String key, + String[] sourceList) { + if (sourceList == null) { + return; + } + StringBuilder b = new StringBuilder(key); + if (sourceList.length > 0) { + b.append('='); + boolean first = true; + for (String value : sourceList) { + if (!first) { + b.append(','); + } + b.append(value); + first = false; + } + } + destList.add(b.toString()); + } } Modified: cxf/trunk/systests/wsdl_maven/codegen/pom.xml URL: http://svn.apache.org/viewvc/cxf/trunk/systests/wsdl_maven/codegen/pom.xml?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/systests/wsdl_maven/codegen/pom.xml (original) +++ cxf/trunk/systests/wsdl_maven/codegen/pom.xml Mon Jun 20 15:30:56 2011 @@ -53,6 +53,7 @@ ${cxf.codegenplugin.forkmode} true + Modified: cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolContext.java URL: http://svn.apache.org/viewvc/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolContext.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolContext.java (original) +++ cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolContext.java Mon Jun 20 15:30:56 2011 @@ -97,6 +97,13 @@ public class ToolContext { public Object get(String key) { return (paramMap == null) ? null : paramMap.get(key); } + public String[] getArray(String key) { + Object o = get(key); + if (o instanceof String) { + return new String[] {(String)o}; + } + return (String[])o; + } public Object get(String key, Object defaultValue) { if (!optionSet(key)) { Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/JAXWSContainer.java URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/JAXWSContainer.java?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/JAXWSContainer.java (original) +++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/JAXWSContainer.java Mon Jun 20 15:30:56 2011 @@ -20,7 +20,10 @@ package org.apache.cxf.tools.wsdlto.frontend.jaxws; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Set; +import java.util.StringTokenizer; import org.apache.cxf.common.i18n.Message; import org.apache.cxf.resource.URIResolver; @@ -42,6 +45,9 @@ public class JAXWSContainer extends WSDL Set set = super.getArrayKeys(); set.add(ToolConstants.CFG_BINDING); set.add(ToolConstants.CFG_RESERVE_NAME); + set.add(ToolConstants.CFG_ASYNCMETHODS); + set.add(ToolConstants.CFG_BAREMETHODS); + set.add(ToolConstants.CFG_MIMEMETHODS); return set; } @@ -62,6 +68,24 @@ public class JAXWSContainer extends WSDL } } env.put(ToolConstants.CFG_BINDING, bindings); - } + } + cleanArrays(env, ToolConstants.CFG_ASYNCMETHODS); + cleanArrays(env, ToolConstants.CFG_BAREMETHODS); + cleanArrays(env, ToolConstants.CFG_MIMEMETHODS); + } + + private void cleanArrays(ToolContext env, String key) { + String s[] = env.getArray(key); + if (s != null) { + List n = new ArrayList(); + for (String s2 : s) { + StringTokenizer tokenizer = new StringTokenizer(s2, ",=", false); + while (tokenizer.hasMoreTokens()) { + String arg = tokenizer.nextToken(); + n.add(arg); + } + } + env.put(key, n.toArray(new String[n.size()])); + } } } Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml?rev=1137664&r1=1137663&r2=1137664&view=diff ============================================================================== --- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml (original) +++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml Mon Jun 20 15:30:56 2011 @@ -302,7 +302,38 @@ Examples: xjc - + + +