Author: sagara Date: Wed May 2 12:41:56 2012 New Revision: 1333017 URL: http://svn.apache.org/viewvc?rev=1333017&view=rev Log: Fixed AXIS2-5311 - Now WSDL2JAVA support for Java system properties through -D option.
Modified: axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/WSDL2Code.java axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/i18n/resource.properties axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/util/WSDL2JavaOptionsValidator.java axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java Modified: axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/WSDL2Code.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/WSDL2Code.java?rev=1333017&r1=1333016&r2=1333017&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/WSDL2Code.java (original) +++ axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/WSDL2Code.java Wed May 2 12:41:56 2012 @@ -40,6 +40,7 @@ public class WSDL2Code { CommandLineOptionParser commandLineOptionParser = new CommandLineOptionParser( args); checkAuthentication(commandLineOptionParser); + setSystemProperties(commandLineOptionParser); //If it is a JAX-WS code generation request call WSimportTool. if (isJwsOptionEnabled(commandLineOptionParser)){ new JAXWSCodeGenerationEngine(commandLineOptionParser, args).generate(); @@ -56,7 +57,7 @@ public class WSDL2Code { System.out.println(CodegenMessages.getMessage("wsdl2code.arg")); System.out.println(CodegenMessages.getMessage("wsdl2code.arg1")); - for (int i = 2; i <= 52; i++) { + for (int i = 2; i <= 53; i++) { System.out.println(" " + CodegenMessages.getMessage("wsdl2code.arg" + i)); } } @@ -140,5 +141,25 @@ public class WSDL2Code { }); } } + + private static void setSystemProperties(CommandLineOptionParser commandLineOptionParser) { + Map<String, CommandLineOption> allOptions = commandLineOptionParser.getAllOptions(); + // System properties follow "-Dproperty=value" format, only key is required. + if (allOptions != null) { + for (String key : allOptions.keySet()) { + if (key != null + && key.length() > 0 + && key.startsWith(CommandLineOptionConstants.WSDL2JavaConstants.SYSTEM_PROPERTY_PREFIX) + && key.contains("=")) { + int splitIndex = key.indexOf("="); + String pKey = key.substring(1, splitIndex); + String pValue = key.substring(splitIndex + 1); + if (pKey != null && pValue != null) { + System.setProperty(pKey, pValue); + } + } + } + } + } } Modified: axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/i18n/resource.properties URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/i18n/resource.properties?rev=1333017&r1=1333016&r2=1333017&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/i18n/resource.properties (original) +++ axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/i18n/resource.properties Wed May 2 12:41:56 2012 @@ -86,7 +86,8 @@ wsdl2code.arg48= -sin <interface-name> wsdl2code.arg49= -scn <class-name> Skeleton class name - used to specify a name for skeleton class other than the default one wsdl2code.arg50= -oaa <override-absolute-address> -change the absolute http addresses to local file addresses generated by wsdl2java tool wsdl2code.arg51= -ebc <exception-base-class> -generated Exceptions are inherited from this exception rather than the java.lang.Exception class -wsdl2code.arg52= -uon <use-operation-name> -by default the first letter of the generated method name changeed to lowercase. This option stops that and make it same as operation name +wsdl2code.arg52= -uon <use-operation-name> -by default the first letter of the generated method name changeed to lowercase. This option stops that and make it same as operation name +wsdl2code.arg53= -D<Key>=<Value> -Java system properties ################## prop file loader ################################# propfileload.frameworkMismatch=Number of frameworks and extension names do not match! Modified: axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/util/WSDL2JavaOptionsValidator.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/util/WSDL2JavaOptionsValidator.java?rev=1333017&r1=1333016&r2=1333017&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/util/WSDL2JavaOptionsValidator.java (original) +++ axis/axis2/java/core/trunk/modules/codegen/src/org/apache/axis2/wsdl/util/WSDL2JavaOptionsValidator.java Wed May 2 12:41:56 2012 @@ -31,7 +31,8 @@ public class WSDL2JavaOptionsValidator i boolean invalid; String optionType = option.getOptionType(); - if (optionType.startsWith(WSDL2JavaConstants.EXTRA_OPTIONTYPE_PREFIX)) { + if (optionType.startsWith(WSDL2JavaConstants.EXTRA_OPTIONTYPE_PREFIX) + || optionType.startsWith(WSDL2JavaConstants.SYSTEM_PROPERTY_PREFIX)) { invalid = false; } else { invalid = !(WSDL2JavaConstants.All_PORTS_OPTION.equalsIgnoreCase(optionType) || Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java?rev=1333017&r1=1333016&r2=1333017&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java (original) +++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java Wed May 2 12:41:56 2012 @@ -97,6 +97,7 @@ public interface CommandLineOptionConsta String INVALID_OPTION = "INVALID_OPTION"; String EXTRA_OPTIONTYPE_PREFIX = "E"; + String SYSTEM_PROPERTY_PREFIX = "D"; String WSDL_VERSION_2 = "2.0"; String WSDL_VERSION_2_OPTIONAL = "2";