diff options
Diffstat (limited to 'java/sca-contrib/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java')
-rw-r--r-- | java/sca-contrib/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java | 423 |
1 files changed, 0 insertions, 423 deletions
diff --git a/java/sca-contrib/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java b/java/sca-contrib/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java deleted file mode 100644 index 60afe70534..0000000000 --- a/java/sca-contrib/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.tools.java2wsdl.generate; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Map; - -import org.apache.axis2.description.java2wsdl.Java2WSDLUtils; -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption; - -/** - * This class encapsulates the parameters that effect the generation of the WSDL. For example they contain all user settings such as source class, - * target location etc. - * - */ -public class GenerationParameters implements TuscanyJava2WSDLConstants { - public static final String WSDL_FILENAME_SUFFIX = ".wsdl"; - - public static final String XSD_IMPORT_DELIMITER = "[,]"; - - private Map cmdLineOptions = null; - - private File outputFile = null; - - private FileOutputStream outputFileStream = null; - - private String sourceClassName = null; - - private ArrayList extraClasses; - - private ArrayList factoryClassNames; - - private String attrFormDefault = null; - - private String elementFormDefault = null; - - private String targetNamespace = null; - - private String targetNamespacePrefix = null; - - private String schemaTargetNamespace = null; - - private String schemaTargetNamespacePrefix = null; - - private String outputFileName = null; - - private ClassLoader classLoader = null; - - private String serviceName = null; - - private String style = DOCUMENT; - - private String use = LITERAL; - - private String locationUri = DEFAULT_LOCATION_URL; - - private Map schemaLocationMap = null; - - public GenerationParameters(Map cmdLineOptions) throws Exception { - this.cmdLineOptions = cmdLineOptions; - loadParameters(); - } - - protected void loadParameters() throws Exception { - initializeSourceClassName(); - resolveFileOutputStream(); - resolveClassLoader4InputClasspath(); - loadSchemaLocationMap(); - initializeOtherParams(); - } - - private Java2WSDLCommandLineOption loadOption(String shortOption, String longOption) { - // short option gets precedence - Java2WSDLCommandLineOption option = null; - if (longOption != null) { - option = (Java2WSDLCommandLineOption) cmdLineOptions.get(longOption); - if (option != null) { - return option; - } - } - if (shortOption != null) { - option = (Java2WSDLCommandLineOption) cmdLineOptions.get(shortOption); - } - - return option; - } - - protected void initializeSourceClassName() throws Exception { - Java2WSDLCommandLineOption option = loadOption(CLASSNAME_OPTION, CLASSNAME_OPTION_LONG); - sourceClassName = option == null ? null : option.getOptionValue(); - - if (sourceClassName == null || sourceClassName.equals("")) { - throw new Exception("class name must be present!"); - } - } - - /** - * @throws Exception - */ - protected void resolveFileOutputStream() throws Exception { - File outputFolder; - Java2WSDLCommandLineOption option = loadOption(OUTPUT_LOCATION_OPTION, OUTPUT_LOCATION_OPTION_LONG); - String outputFolderName = option == null ? System.getProperty("user.dir") : option.getOptionValue(); - - outputFolder = new File(outputFolderName); - if (!outputFolder.exists()) { - outputFolder.mkdirs(); - } else if (!outputFolder.isDirectory()) { - throw new Exception("The specified location " + outputFolderName + "is not a folder"); - } - - option = loadOption(OUTPUT_FILENAME_OPTION, OUTPUT_FILENAME_OPTION_LONG); - String outputFileName = option == null ? null : option.getOptionValue(); - // derive a file name from the class name if the filename is not specified - if (outputFileName == null) { - outputFileName = Java2WSDLUtils.getSimpleClassName(sourceClassName) + WSDL_FILENAME_SUFFIX; - } - - // first create a file in the given location - File outputFile = new File(outputFolder, outputFileName); - try { - if (!outputFile.exists()) { - outputFile.createNewFile(); - } - outputFileStream = new FileOutputStream(outputFile); - } catch (IOException e) { - throw new Exception(e); - } - } - - protected void addToSchemaLocationMap(String optionValue) throws Exception { - // option value will be of the form [namespace, schemalocation] - // hence we take the two substrings starting after '[' and upto ',' and - // starting after ',' and upto ']' - getSchemaLocationMap().put(optionValue.substring(1, optionValue.indexOf(COMMA)), - optionValue.substring(optionValue.indexOf(COMMA) + 1, optionValue.length() - 1)); - } - - protected void loadSchemaLocationMap() throws Exception { - Java2WSDLCommandLineOption option = loadOption(IMPORT_XSD_OPTION, IMPORT_XSD_OPTION_LONG); - - if (option != null) { - ArrayList optionValues = option.getOptionValues(); - - for (int count = 0; count < optionValues.size(); ++count) { - addToSchemaLocationMap(((String) optionValues.get(count)).trim()); - } - } - } - - protected void resolveClassLoader4InputClasspath() throws Exception { - URL[] urls = null; - Java2WSDLCommandLineOption option = loadOption(CLASSPATH_OPTION, CLASSPATH_OPTION_LONG); - - if (option != null) { - ArrayList optionValues = option.getOptionValues(); - urls = new URL[optionValues.size()]; - String[] classPathEntries = (String[]) optionValues.toArray(new String[optionValues.size()]); - - try { - for (int i = 0; i < classPathEntries.length; i++) { - String classPathEntry = classPathEntries[i]; - // this should be a file(or a URL) - if (Java2WSDLUtils.isURL(classPathEntry)) { - urls[i] = new URL(classPathEntry); - } else { - urls[i] = new File(classPathEntry).toURL(); - } - } - } catch (MalformedURLException e) { - throw new Exception(e); - } - - } else { - //Default to pwd - urls = new URL[1]; - File pwd = new File("."); - urls[0] = pwd.toURL(); - } - - classLoader = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader()); - } - - protected void initializeOtherParams() { - // set the other parameters to the builder - Java2WSDLCommandLineOption option = - loadOption(SCHEMA_TARGET_NAMESPACE_OPTION, SCHEMA_TARGET_NAMESPACE_OPTION_LONG); - schemaTargetNamespace = (option == null) ? null : option.getOptionValue(); - - option = loadOption(SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION, SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION_LONG); - schemaTargetNamespacePrefix = (option == null) ? null : option.getOptionValue(); - - option = loadOption(TARGET_NAMESPACE_OPTION, TARGET_NAMESPACE_OPTION_LONG); - targetNamespace = (option == null) ? null : option.getOptionValue(); - - option = loadOption(TARGET_NAMESPACE_PREFIX_OPTION, TARGET_NAMESPACE_PREFIX_OPTION_LONG); - targetNamespacePrefix = (option == null) ? null : option.getOptionValue(); - - option = loadOption(SERVICE_NAME_OPTION, SERVICE_NAME_OPTION_LONG); - serviceName = (option == null) ? Java2WSDLUtils.getSimpleClassName(sourceClassName) : option.getOptionValue(); - - option = loadOption(STYLE_OPTION, STYLE_OPTION); - style = (option == null) ? null : option.getOptionValue(); - - option = loadOption(LOCATION_OPTION, LOCATION_OPTION); - locationUri = (option == null) ? null : option.getOptionValue(); - - option = loadOption(USE_OPTION, USE_OPTION); - use = (option == null) ? null : option.getOptionValue(); - - option = loadOption(ATTR_FORM_DEFAULT_OPTION, ATTR_FORM_DEFAULT_OPTION_LONG); - attrFormDefault = (option == null) ? null : option.getOptionValue(); - - option = loadOption(ELEMENT_FORM_DEFAULT_OPTION, ELEMENT_FORM_DEFAULT_OPTION_LONG); - elementFormDefault = option == null ? null : option.getOptionValue(); - - option = loadOption(TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION, TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION_LONG); - extraClasses = option == null ? new ArrayList() : option.getOptionValues(); - - option = loadOption(TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION, TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION_LONG); - factoryClassNames = option == null ? new ArrayList() : option.getOptionValues(); - } - - public ClassLoader getClassLoader() { - return classLoader; - } - - public void setClassLoader(ClassLoader classLoader) { - this.classLoader = classLoader; - } - - public String getLocationUri() { - if (locationUri == null) { - locationUri = DEFAULT_LOCATION_URL; - } - return locationUri; - } - - public void setLocationUri(String locationUri) { - this.locationUri = locationUri; - } - - public FileOutputStream getOutputFileStream() { - return outputFileStream; - } - - public void setOutputFileStream(FileOutputStream outputFileStream) { - this.outputFileStream = outputFileStream; - } - - public String getSchemaTargetNamespace() throws Exception { - if (schemaTargetNamespace == null || schemaTargetNamespace.trim().equals("")) { - // This amounts to assuming we want the wrapper elements in the same TNS - // as the WSDL definitions. - // - // If the user neither specifies a TNS nor a SchemaTNS then both of these two - // will continue to default to the same NS calculated from the input class' package name. - // - // The wrapper elements aren't really interesting outside the context of the WSDL types - // section, so it seems reasonable to think that a user who cares to select a non-default - // TNS for the WSDL definitions might want the wrapper elements defined in that same - // NS. - // - // The user can always override this default. - - this.schemaTargetNamespace = this.getTargetNamespace(); - } - return schemaTargetNamespace; - } - - public void setSchemaTargetNamespace(String schemaTargetNamespace) { - this.schemaTargetNamespace = schemaTargetNamespace; - } - - public String getSchemaTargetNamespacePrefix() { - if (schemaTargetNamespacePrefix == null || schemaTargetNamespacePrefix.trim().equals("")) { - this.schemaTargetNamespacePrefix = SCHEMA_NAMESPACE_PRFIX; - } - - return schemaTargetNamespacePrefix; - } - - public void setSchemaTargetNamespacePrefix(String schemaTargetNamespacePrefix) { - this.schemaTargetNamespacePrefix = schemaTargetNamespacePrefix; - } - - public String getServiceName() { - if (serviceName == null) { - serviceName = Java2WSDLUtils.getSimpleClassName(getSourceClassName()); - } - return serviceName; - } - - public void setServiceName(String serviceName) { - this.serviceName = serviceName; - } - - public String getSourceClassName() { - return sourceClassName; - } - - public void setSourceClassName(String sourceClassName) { - this.sourceClassName = sourceClassName; - } - - public String getStyle() { - if (style == null) { - style = DOCUMENT; - } - return style; - } - - public void setStyle(String style) { - this.style = style; - } - - public String getTargetNamespace() throws Exception { - if (targetNamespace == null) { - targetNamespace = Java2WSDLUtils.namespaceFromClassName(this.sourceClassName, this.classLoader).toString(); - } - return targetNamespace; - } - - public void setTargetNamespace(String targetNamespace) { - this.targetNamespace = targetNamespace; - } - - public String getTargetNamespacePrefix() { - return targetNamespacePrefix; - } - - public void setTargetNamespacePrefix(String targetNamespacePrefix) { - this.targetNamespacePrefix = targetNamespacePrefix; - } - - public String getUse() { - if (use == null) { - use = LITERAL; - } - return use; - } - - public void setUse(String use) { - this.use = use; - } - - public Map getSchemaLocationMap() { - if (schemaLocationMap == null) { - schemaLocationMap = new Hashtable(); - } - return schemaLocationMap; - } - - public void setSchemaLocationMap(Map schemaLocationMap) { - this.schemaLocationMap = schemaLocationMap; - } - - public String getAttrFormDefault() { - if (attrFormDefault == null) { - attrFormDefault = FORM_DEFAULT_UNQUALIFIED; - } - return attrFormDefault; - } - - public void setAttrFormDefault(String attrFormDefault) { - this.attrFormDefault = attrFormDefault; - } - - public String getElementFormDefault() { - if (elementFormDefault == null) { - elementFormDefault = FORM_DEFAULT_QUALIFIED; - } - return elementFormDefault; - } - - public void setElementFormDefault(String elementFormDefault) { - this.elementFormDefault = elementFormDefault; - } - - public ArrayList getExtraClasses() { - return extraClasses; - } - - public void setExtraClasses(ArrayList extraClasses) { - this.extraClasses = extraClasses; - } - - public ArrayList getFactoryClassNames() { - return factoryClassNames; - } - - public void setFactoryClassNames(ArrayList factoryClassNames) { - this.factoryClassNames = factoryClassNames; - } - - // Not a command-line parameter, but will be useful for printing status message - protected File getOutputFile() { - return outputFile; - } -} |