/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed 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 *******************************************************************************/ package org.ebayopensource.turmeric.tools.codegen; import javax.xml.namespace.QName; import org.ebayopensource.turmeric.tools.codegen.util.CodeGenConstants; import org.ebayopensource.turmeric.tools.codegen.util.CodeGenUtil; import org.ebayopensource.turmeric.tools.codegen.util.TypeLibraryClassDetails; import java.io.File; import java.util.LinkedHashSet; import java.util.List; import java.util.ArrayList; import java.util.Set; import org.ebayopensource.turmeric.runtime.codegen.common.NSToPkgMappingList; import org.ebayopensource.turmeric.runtime.codegen.common.OpNameToCemcMappingList; import org.ebayopensource.turmeric.runtime.codegen.common.PkgToNSMappingList; import org.ebayopensource.turmeric.runtime.codegen.common.ServiceCodeGenDefType; import org.ebayopensource.turmeric.runtime.codegen.common.ServiceType; import org.ebayopensource.turmeric.runtime.codegen.common.ToolInputType; /** * Holder class for tool input options * * @author rmandapati */ public class InputOptions { public static final String DEFAULT_DIR = "."; public static final String DEFAULT_SERVICE_VERSION = "1.0.0"; public static final String OPT_HELP = "-help"; // Option to specify Name of the service public static final String OPT_SRVC_NAME = "-servicename"; // Option to specify Admin Name of the service public static final String OPT_ADMIN_NAME = "-adminname"; // Option to specify Namespace for the service public static final String OPT_SVC_NAME_SPACE = "-namespace"; // Option to specify Service Implementation class name of a service public static final String OPT_SVC_IMPL_CLASS_NAME = "-sicn"; // Option to specify Service interface class public static final String OPT_INTERFACE = "-interface"; // Option to specify Any concreate class public static final String OPT_CLASS = "-class"; // Option to specify Input data in an XML file public static final String OPT_XML = "-xml"; // Option to specify WebServices description language file as input public static final String OPT_WSDL = "-wsdl"; // Option to specify Code generation type, to indicate what files need to be generated public static final String OPT_CODE_GEN_TYPE = "-gentype"; // Option to specify Interface name for the generated interface class public static final String OPT_GEN_INTERFACE_NAME = "-gin"; // Option to specify Interface package name for the generated interface class public static final String OPT_GEN_INTERFACE_PACKAGE = "-gip"; // Option to specify Name of the client application public static final String OPT_CLIENT_NAME = "-cn"; // Option to specify Generate skeleton class for Service Impl class public static final String OPT_GEN_SVC_SKELETON = "-gss"; // Option to specify Generated skeleton class for Service Impl class public static final String OPT_OVER_WRITE_IMPLEMENTATION_SKELETON = "-owic"; // Option to specify Service Impl class to implement Common Service operations interface public static final String OPT_IMPL_CSI = "-icsi"; // Option to specify where to find Source (.java) files of input interface / concrete class public static final String OPT_SRC_DIR = "-src"; // Option to specify where to find meta-src (resource) files public static final String OPT_META_SRC_DIR = "-metasrc"; // Option to specify where to place generated files public static final String OPT_DEST_DIR = "-dest"; // Option to specify where to place generated java source files public static final String OPT_JAVA_SRC_GEN_DIR = "-jdest"; // Option to specify where to place generated meta source files public static final String OPT_META_SRC_GEN_DIR = "-mdest"; // Option to specify where to place compiled classes public static final String OPT_BIN_DIR = "-bin"; // Option to specify Client config group name public static final String OPT_CCFG_GROUP_NAME = "-ccgn"; // Option to specify Service config group name public static final String OPT_SCFG_GROUP_NAME = "-scgn"; // Option to specify Add Validate Internals servlet in web.xml public static final String OPT_ADD_VI = "-avi"; // Option to specify current version of the service being built public static final String OPT_SVC_CURR_VERSION = "-scv"; // Option to specify Location of the service (where it's located) public static final String OPT_SVC_LOC = "-sl"; // Option to specify Location of the WSDL (where it's located) public static final String OPT_WSDL_LOC = "-wl"; // Option to specify whether to generate tests or not public static final String OPT_GEN_TESTS = "-gt"; // Option to specify to output more debug messages public static final String OPT_VERBOSE = "-verbose"; // Option to specify to suppress any prompt messages public static final String OPT_DONT_PROMPT = "-dontprompt"; // Option to specify Service Level / Layer public static final String OPT_SVC_LAYER = "-slayer"; // Option to specify custom error message class public static final String OPT_OP_NAME_CEMC_MAP = "-op2cemc"; // Option to specify not to generate global config files public static final String OPT_NO_GLOBAL_CONFIG = "-ngc"; // Option to specify Package to Namespace mapping public static final String OPT_PKG_2_NS = "-pkg2ns"; // Option to specify Namespace to Package mapping public static final String OPT_NS_2_PKG = "-ns2pkg"; // Option to specify whether to compile generated code or not public static final String OPT_NO_COMPILE = "-nc"; // Option to specify whether to continue on error or not public static final String OPT_CONTINUE_ON_ERROR = "-ce"; // Option to specify whether to override existing file(s) or not public static final String OPT_DONT_OVERRIDE = "-do"; // Option to specify whether to use Doc/Lit/Wrapped style for WSDL public static final String OPT_DOC_LIT_WRAPPED = "-dlw"; // Option to specify the file location containing the list of service layers public static final String OPT_SVC_LAYER_FILE_LOC = "-asl"; // Option to specify the root path for the creation of the service_metadata.properties file public static final String OPT_PROJECT_ROOT = "-pr"; // Option to indicate the CodeGen that it has to look for the service_metadata.properties file from the class path public static final String OPT_USE_INTERFACE_JAR = "-uij"; // Option to specify the codegen logging config file public static final String OPT_LOG_CONFIG_FILE ="-lcf"; // Option to specify the type library xml file public static final String OPT_TYPE_LIBRARY_XML_FILE = "-tlx"; // Option to specify binding file : jaxb episode file or the jar containing the episode file with other artifacts public static final String OPT_BINDING_FILE ="-eBindingFileName"; // Option to specify http proxy host public static final String OPT_HTTP_PROXY_HOST = "-http-proxy-host"; // Option to specify http proxy port public static final String OPT_HTTP_PROXY_PORT = "-http-proxy-port"; // Option to specify Common types Namepsace public static final String OPT_COMMON_TYPES_NS = "-ctns"; //Option to specify publicServiceName public static final String OPT_PUBLIC_SVC = "-publicservicename"; //option to specify enabledNamespace public static final String OPT_ENABLEDNAMESPACE_FOLDING = "-enablednamespacefolding"; //option to specify environment for consumer public static final String OPT_ENV_NAME = "-environment"; //option to specify environmentMapper public static final String OPT_ENV_MAPPER = "-envmapper"; //option to specify consumerid public static final String OPT_CONSUMER_ID = "-consumerid"; //option to specify javaHome public static final String OPT_JAVA_HOME = "-javahome"; //option to specify jdkHome public static final String OPT_JDK_HOME ="-jdkhome"; //option to specify if ObjectFactory needs to be removed while code generation public static final String OPT_OBJECTFACT_GEN = "-noObjectFactoryGeneration"; // Option to specify generation of shared consumer in an interface project public static final String OPT_GEN_SHARED_CONSUMER = "-gen-sharedconsumer"; // Option to specify generation of shared consumer package in an interface project public static final String OPT_PACKAGE_SHARED_CONSUMER = "-package-sharedconsumer"; // Option to specify different data formats other than xsd public static final String NON_XSD_FORMATS = "-nonXSDFormats"; // Option to specify xsd location for validation public static final String OPT_XSD_PATHS_FOR_VALIDATION = "-xsdPathsForValidation"; private String m_namespace; private String m_inputFile; private String m_srcLocation; private String m_metaSrcLocation; private String m_destLocation; private String m_javaSrcDestLocation; private String m_metaSrcDestLocation; private String m_binLocation; private boolean m_verbose = false; private boolean m_help = false; private InputType m_inputType; private InputType m_orgInputType; private CodeGenType m_codeGenType; private String m_serviceName; private String m_adminName; private QName m_serviceQName; private String m_serviceLocation; private String m_wsdlLocation; private String m_svcImplClassName; private String m_genInterfaceName; private String m_genInterfacePackage; private String m_clientCfgGroupName; private String m_serverCfgGroupName; private boolean m_isGenSkeleton = false; private boolean m_overWriteSkeleton = false; private boolean m_implCommonSvcInterface = false; private boolean m_addVI = false; private boolean m_genTests = false; private String m_clientName; private String m_svcCurrVersion; private String m_wsdlURI; private boolean m_isDontPrompt = false; private String m_serviceLayer; private boolean m_isNoGlobalConfig = false; private boolean m_isNoCompile = false; private boolean m_isGenerateSharedConsumer = false; private boolean m_isContinueOnError = false; private boolean m_isDocLitWrapped = false; private String m_svcLayerFileLocation; private boolean m_migrate = false; private String m_projectRoot; private boolean m_useInterfaceJar = false; private String m_logConfigFile; private String m_typeLibXmlFile; private List<TypeLibraryClassDetails> m_typeLibraryClassDetails; private List<String> m_bindingFileNames; private String m_httpProxyHost; private String m_httpProxyPort; private String m_commonTypesNS; private String m_packageToNSMapString; private PkgToNSMappingList m_pkgToNSMappings; private NSToPkgMappingList m_NSToPkgMappingList; private String m_NS2PkgString; private boolean m_IsEnabledNamespaceFolding; private String m_PublicServiceName; private String m_Environment; private String m_EnvironmentMapper; private String m_ConsumerId; private boolean m_isConsumerAnInterfaceProjectArtifact = false; private boolean m_IsBaseConsumerGenertionReq = true; private boolean m_ShouldUsePublicMethodsConsumer = false; private String m_JavaHome; private String m_JdkHome; private boolean m_isServiceNameRequired = true; //this option is used to decide if the inputFile needs to be deleted after preprocessing //For DispatcherForBuild, it is a temporary file that is used for wsdl2java private boolean m_isWsdlTobeDeleted; private boolean m_isObjectFactoryTobeDeleted = false; private boolean m_isObjectFactoryDeletionOptionPassed = false; private String m_shortPathForSharedConsumer; private String m_sharedConsumerPackage; private String m_opNameToCemcMapString; private OpNameToCemcMappingList m_opNameToCemcMappings; private String[] m_allSrcLocations; private ServiceCodeGenDefType m_svcCodeGenDefType; //added as part of SOAPLATFORM-497 private boolean useExternalServiceFactory = false; //This variable does not have any corresponding inputOption. This is a transient/derived variable private String m_caller; private String m_supportedFastSerFormats; private String m_svcImplFactoryClassName; private String m_xsdPathsForNonXSDFormatsValidation; public static enum InputType { INTERFACE("-interface", ""), CLASS("-class", ""), XML("-xml", ".xml"), WSDL("-wsdl", ""); private final String TYPE_VALUE; private final String TYPE_EXT; InputType(String value, String ext) { TYPE_VALUE = value; TYPE_EXT = ext; } public String value() { return TYPE_VALUE; } public String ext() { return TYPE_EXT; } public static InputType getInputType(String inputTypeName) { InputType inputOption = null; for( InputType inputType : InputType.values() ) { if(inputType.value().equals(inputTypeName)) { inputOption = inputType; break; } } return inputOption; } } public static enum CodeGenType { All(0), Client(1), Server(2), Proxy(3), Dispatcher(4), ConfigAll(5), ClientConfig(6), ServerConfig(7), Wsdl(8), Schema(9), SISkeleton(10), TypeMappings(11), WebXml(12), UnitTest(13), GlobalServerConfig(14), GlobalClientConfig(15), Interface(16), Consumer(17), TypeDefs(18), ClientNoConfig(19), ServerNoConfig(20), ServiceOpProps(21), SecurityPolicyConfig(22), ServiceMetadataProps(23),ServiceIntfProjectProps(24),DispatcherForBuild(25),ServiceFromWSDLIntf(26),ServiceFromWSDLImpl(27), DispatcherForMaven(28),WSDLWithSingleSchema(29),WsdlConversionToMns(30),WsdlWithPublicServiceName(31),SharedConsumer(32), ValidateXSDsForNonXSDFormats(33) ; private final int TYPE_VALUE; private CodeGenType(int value) { TYPE_VALUE = value; } public int value() { return TYPE_VALUE; } public static CodeGenType getCodeGenType(String codeGenTypeName) { CodeGenType codeGenOption = null; for( CodeGenType codeGenType : CodeGenType.values() ) { if(codeGenType.name().equalsIgnoreCase(codeGenTypeName)) { codeGenOption = codeGenType; break; } } return codeGenOption; } } /* * dependency: This enum ServiceLayer should be in sync with the contents of the * file codegen-tools\src\main\resources\META-INF\soa\service_layers.txt * So pls modify the contents of service_layers.txt whenever a change is made here as well. */ public static enum ServiceLayer { COMMON, INTERMEDIATE, BUSINESS; public static ServiceLayer getServiceLayer(String svcLayerlName) { ServiceLayer svcLayerOption = null; for( ServiceLayer svcLayer : ServiceLayer.values() ) { if(svcLayer.name().equals(svcLayerlName)) { svcLayerOption = svcLayer; break; } } return svcLayerOption; } } public static enum InterfaceSourceType { BLANK_WSDL("blank_wsdl"), WSDL("wsdl"), INTERFACE("java"); private final String TYPE_VALUE; InterfaceSourceType(String value) { TYPE_VALUE = value; } public String value() { return TYPE_VALUE; } } public InputOptions() {} private boolean isValidDir(String path) { File dir = new File(CodeGenUtil.toOSFilePath(path)); return dir.exists() && dir.isDirectory(); } public CodeGenType getCodeGenType() { return m_codeGenType; } public void setCodeGenType(CodeGenType genType) { m_codeGenType = genType; } public String getDestLocation() { if (!CodeGenUtil.isEmptyString(m_destLocation)) return m_destLocation; else if(!CodeGenUtil.isEmptyString(m_projectRoot)) return m_projectRoot; return DEFAULT_DIR; } public void setDestLocation(String location) { m_destLocation = location; } public boolean isHelp() { return m_help; } public void setHelp(boolean help) { this.m_help = help; } public String getInputFile() { return m_inputFile; } public void setInputFile(String file) { m_inputFile = file; } public InputType getInputType() { return m_inputType; } public void setInputType(InputType type) { m_inputType = type; } public InputType getOriginalInputType() { return m_orgInputType; } public void setOriginalInputType(InputType type) { m_orgInputType = type; } public String getServiceAdminName() { if(CodeGenUtil.isEmptyString(m_adminName)) return getServiceName(); else return m_adminName; } public String getServiceName() { return m_serviceName; } public void setServiceName(String name) { m_serviceName = name; } public void setServiceAdminName(String name) { m_adminName = name; } public String getSrcLocation() { if (!CodeGenUtil.isEmptyString(m_srcLocation)) { return m_srcLocation; } return DEFAULT_DIR; } public void setSrcLocation(String location) { m_srcLocation = location; } public String getMetaSrcLocation() { if(CodeGenUtil.isEmptyString(m_metaSrcLocation)) { // Only need to enter this path if metaSrcLocation is undefined // by the user. In other words, we have to guess what directory // they want to use. Set<String> searchPaths = new LinkedHashSet<String>(); addPath(searchPaths, getDestLocation(), "/src/main/resources"); addPath(searchPaths, getDestLocation(), "/src/main/resources"); addPath(searchPaths, getDestLocation(), "/meta-src"); addPath(searchPaths, getMetaSrcDestLocation(), "/../meta-src"); addPath(searchPaths, getSrcLocation(), "/../resources"); addPath(searchPaths, getSrcLocation(), "/../meta-src"); addPath(searchPaths, getProjectRoot(), "/src/main/resources"); addPath(searchPaths, getProjectRoot(), "/meta-src"); for(String searchPath: searchPaths) { String path = CodeGenUtil.toOSFilePath(searchPath); if(isValidDir(path)) { m_metaSrcLocation = path; return m_metaSrcLocation; } } } return m_metaSrcLocation; } private void addPath(Set<String> searchPaths, String parentLocation, String subDir) { if (parentLocation == null) { return; // no parent, skip } if (parentLocation.equals(".")) { return; // can't be default dir either } searchPaths.add(parentLocation + subDir); } public void setMetaSrcLocation(String location) { m_metaSrcLocation = location; } public boolean isVerbose() { return m_verbose; } public void setVerbose(boolean verbose) { this.m_verbose = verbose; } public String getNamespace() { return m_namespace; } public void setNamespace(String namespace) { m_namespace = namespace; } public String getServiceLocation() { return m_serviceLocation; } public void setServiceLocation(String svcLocation) { m_serviceLocation = svcLocation; } public String getWSDLLocation() { return m_wsdlLocation; } public void setWSDLLocation(String wsdlLocation) { m_wsdlLocation = wsdlLocation; } public QName getServiceQName() { return m_serviceQName; } public void setServiceQName(QName svcQName) { m_serviceQName = svcQName; } public ServiceCodeGenDefType getSvcCodeGenDefType() { return m_svcCodeGenDefType; } public void setSvcCodegenDefType(ServiceCodeGenDefType codeGenDefType) { m_svcCodeGenDefType = codeGenDefType; } public String getGenInterfaceName() { return m_genInterfaceName; } public void setGenInterfaceName(String interfaceName) { m_genInterfaceName = interfaceName; } public String getGenInterfacePackage() { return m_genInterfacePackage; } public void setGenInterfacePackage(String interfacePackage) { m_genInterfacePackage = interfacePackage; } public String getServiceImplClassName() { return m_svcImplClassName; } public void setServiceImplClassName(String svcImplClassName) { m_svcImplClassName = svcImplClassName; } public String getClientCfgGroupName() { return m_clientCfgGroupName; } public void setClientCfgGroupName(String cfgGroupName) { m_clientCfgGroupName = cfgGroupName; } public String getServerCfgGroupName() { return m_serverCfgGroupName; } public void setServerCfgGroupName(String cfgGroupName) { m_serverCfgGroupName = cfgGroupName; } public boolean isGenSkeleton() { return m_isGenSkeleton; } public void setIsGenSkeleton(boolean isGenSkeleton) { m_isGenSkeleton = isGenSkeleton; } public boolean isImplCommonSvcInterface() { return m_implCommonSvcInterface; } public void setImplCommonSvcInterface(boolean implCommonSvcInterface) { m_implCommonSvcInterface = implCommonSvcInterface; } public boolean isAddVI() { return m_addVI; } public void setAddVI(boolean isAddVI) { m_addVI = isAddVI; } public String getBinLocation() { return m_binLocation; } public void setBinLocation(String binLocation) { m_binLocation = binLocation; } public String getClientName() { return m_clientName; } public void setClientName(String clientName) { m_clientName = clientName; } public String getSvcCurrVersion() { if (m_svcCurrVersion == null) { String currVersionFromMetaData = CodeGenInfoFinder.getPropertyFromMetaData(CodeGenConstants.SERVICE_VERSION,getServiceAdminName()); if(CodeGenUtil.isEmptyString(currVersionFromMetaData)) return DEFAULT_SERVICE_VERSION; else return currVersionFromMetaData; } return m_svcCurrVersion; } public void setSvcCurrVersion(String currVersion) { m_svcCurrVersion = currVersion; } public boolean isGenTests() { return m_genTests; } public void setGenTests(boolean genTests) { m_genTests = genTests; } public String getJavaSrcDestLocation() { return m_javaSrcDestLocation; } public void setJavaSrcDestLocation(String srcDestLocation) { m_javaSrcDestLocation = srcDestLocation; } public String getMetaSrcDestLocation() { return m_metaSrcDestLocation; } public void setMetaSrcDestLocation(String srcDestLocation) { m_metaSrcDestLocation = srcDestLocation; } public String getWSDLURI() { return m_wsdlURI; } public void setWSDLURI(String wsdlURI) { m_wsdlURI = wsdlURI; } public boolean isWSDLBasedService() { // If Input type is WSDL / WSDL URI specified // then Service is based on an existing WSDL if((getInputType() == InputType.WSDL)) return true; if(!CodeGenUtil.isEmptyString(getWSDLURI())) return true; boolean isProjectSourceTypeWSDL = false; String projectSourceType = CodeGenInfoFinder.getPropertyFromSvcIntfProjProp(CodeGenConstants.INTERFACE_SOURCE_TYPE,this.getServiceAdminName()); if(InputOptions.InterfaceSourceType.BLANK_WSDL.value().equalsIgnoreCase(projectSourceType) || InputOptions.InterfaceSourceType.WSDL.value().equalsIgnoreCase(projectSourceType)) isProjectSourceTypeWSDL = true; return isProjectSourceTypeWSDL; } public boolean isDontPrompt() { return m_isDontPrompt; } public void setIsDontPrompt(boolean dontPrompt) { m_isDontPrompt = dontPrompt; } public String getServiceLayer() { if (m_serviceLayer == null) { String layerFromMetadata = CodeGenInfoFinder.getPropertyFromMetaData(CodeGenConstants.SERVICE_LAYER,getServiceAdminName()); if(CodeGenUtil.isEmptyString(layerFromMetadata)) return ServiceLayer.BUSINESS.name(); else return layerFromMetadata; } return m_serviceLayer; } public void setServiceLayer(String level) { m_serviceLayer = level; } public String[] getAllSrcLocations() { return m_allSrcLocations; } public void setAllSrcLocations(String[] srcLocations) { m_allSrcLocations = srcLocations; } public boolean isNoGlobalConfig() { return m_isNoGlobalConfig; } public void setIsNoGlobalConfig(boolean noGlobalConfig) { m_isNoGlobalConfig = noGlobalConfig; } public String getPackageToNSMap() { return m_packageToNSMapString; } public void setPackageToNSMap(String pkgToNSMapStr) { m_packageToNSMapString = pkgToNSMapStr; } public PkgToNSMappingList getPkgNSMappings() { PkgToNSMappingList result = null; if (m_pkgToNSMappings != null) { result = m_pkgToNSMappings; } else if (getSvcCodeGenDefType() != null) { ServiceType serviceType = getSvcCodeGenDefType().getServiceInfo(); result = serviceType.getPkgNsMapList(); } return result; } public void setPkgNSMappings(PkgToNSMappingList pkgToNSMappings) { m_pkgToNSMappings = pkgToNSMappings; } /** * @deprecated use {@link #getPkgNSMappings()} instead */ @Deprecated public NSToPkgMappingList getNSToPkgMappingList() { return m_NSToPkgMappingList; } public void setNSToPkgMappingList(NSToPkgMappingList toPkgMappingList) { m_NSToPkgMappingList = toPkgMappingList; } public void setNS2Pkg(String NS2Pkg){ m_NS2PkgString = NS2Pkg; } public String getNS2Pkg(){ return m_NS2PkgString; } public OpNameToCemcMappingList getOpNameToCemcMappings() { OpNameToCemcMappingList result = null; if (m_opNameToCemcMappings != null) { result = m_opNameToCemcMappings; } else if (getSvcCodeGenDefType() != null) { ToolInputType toolInputType = getSvcCodeGenDefType().getToolInputInfo(); result = toolInputType.getOpNameToCemcMapList(); } return result; } public void setOpNameToCemcMappings(OpNameToCemcMappingList nameToCemcMappings) { m_opNameToCemcMappings = nameToCemcMappings; } public String getOpNameToCemcMapString() { return m_opNameToCemcMapString; } public void setOpNameToCemcMapString(String nameToCemcMapString) { m_opNameToCemcMapString = nameToCemcMapString; } public boolean isContinueOnError() { return m_isContinueOnError; } public void setIsContinueOnError(boolean continueOnError) { m_isContinueOnError = continueOnError; } public boolean isNoCompile() { return m_isNoCompile; } public void setIsNoCompile(boolean noCompile) { m_isNoCompile = noCompile; } public boolean isGenerateSharedConsumer() { return m_isGenerateSharedConsumer; } public void setIsGenerateSharedConsumer(boolean generate) { m_isGenerateSharedConsumer = generate; setIsConsumerAnInterfaceProjectArtifact(true); } public void setSharedConsumerPackage(String packagename) { m_sharedConsumerPackage = packagename; setShortPathForSharedConsumer(packagename); setIsGenerateSharedConsumer(true); } public String getSharedConsumerPackage() { return m_sharedConsumerPackage; } public boolean isDocLitWrapped() { return m_isDocLitWrapped; } public void setIsDocLitWrapped(boolean docLitWrapped) { m_isDocLitWrapped = docLitWrapped; } public String getSvcLayerFileLocation() { return m_svcLayerFileLocation; } public void setSvcLayerFileLocation(String svcFileLocation) { m_svcLayerFileLocation = svcFileLocation; } public boolean getShouldMigrate() { return m_migrate; } public void setShouldMigrate(boolean shouldMigrate) { m_migrate = shouldMigrate; } public void setProjectRoot(String projectRoot){ m_projectRoot = projectRoot; } public String getProjectRoot(){ if (CodeGenUtil.isEmptyString(m_projectRoot) && !CodeGenUtil.isEmptyString(m_destLocation)) return m_destLocation; return m_projectRoot; } public void setUseInterfaceJar(boolean useInterfaceJar){ m_useInterfaceJar = useInterfaceJar; } public boolean getUseInterfaceJar(){ return m_useInterfaceJar; } public void setCaller(String caller){ m_caller = caller; } public String getCaller(){ return m_caller; } public void setLogConfigFile(String filePath){ m_logConfigFile = filePath; } public String getLogConfigFile() { return m_logConfigFile; } /** * @return the m_typeLibXmlFile */ public String getTypeLibXmlFile() { return m_typeLibXmlFile; } /** * @param libXmlFile the m_typeLibXmlFile to set */ public void setTypeLibXmlFile(String libXmlFile) { m_typeLibXmlFile = libXmlFile; } /** * @return the m_typeLibraryClassDetails */ public List<TypeLibraryClassDetails> getTypeLibraryClassDetails() { if(m_typeLibraryClassDetails == null) m_typeLibraryClassDetails = new ArrayList<TypeLibraryClassDetails>(); return m_typeLibraryClassDetails; } /** * @param libraryClassDetails the m_typeLibraryClassDetails to set */ public void setTypeLibraryClassDetails( List<TypeLibraryClassDetails> libraryClassDetails) { m_typeLibraryClassDetails = libraryClassDetails; } /** * @return the m_httpProxyHost */ public String getHttpProxyHost() { return m_httpProxyHost; } /** * @param proxyHost the m_httpProxyHost to set */ public void setHttpProxyHost(String proxyHost) { m_httpProxyHost = proxyHost; System.setProperty("http.proxyHost", proxyHost); } /** * @return the m_httpProxyPort */ public String getHttpProxyPort() { return m_httpProxyPort; } /** * @param proxyPort the m_httpProxyPort to set */ public void setHttpProxyPort(String proxyPort) { m_httpProxyPort = proxyPort; System.setProperty("http.proxyPort", proxyPort); } public boolean isOverWriteSkeleton() { return m_overWriteSkeleton; } public void setOverWriteSkeleton(boolean writeSkeleton) { m_overWriteSkeleton = writeSkeleton; } /** * @return the m_bindingFileNames */ public List<String> getBindingFileNames() { if(m_bindingFileNames == null) m_bindingFileNames = new ArrayList<String>(); return m_bindingFileNames; } public String getCommonTypesNS() { return m_commonTypesNS; } public void setCommonTypesNS(String typesNS) { m_commonTypesNS = typesNS; } public boolean isEnabledNamespaceFoldingSet() { return m_IsEnabledNamespaceFolding; } public void setEnabledNamespaceFolding(boolean isEnabledNamespaceFolding) { m_IsEnabledNamespaceFolding = isEnabledNamespaceFolding; } public String getPublicServiceName() { return m_PublicServiceName; } public void setPublicServiceName(String publicServiceName) { m_PublicServiceName = publicServiceName; } public String getEnvironment() { return m_Environment; } public void setEnvironment(String environment) { m_Environment = environment; } public String getEnvironmentMapper() { return m_EnvironmentMapper; } public void setEnvironmentMapper(String environmentMapper) { m_EnvironmentMapper = environmentMapper; } public boolean getIsWsdlTobeDeleted() { return m_isWsdlTobeDeleted; } public void setIsFileTobeDeleted(boolean fileTobeDeleted) { m_isWsdlTobeDeleted = fileTobeDeleted; } public String getConsumerId() { return m_ConsumerId; } public void setConsumerId(String consumerId) { m_ConsumerId = consumerId; } public boolean isConsumerAnInterfaceProjectArtifact() { return m_isConsumerAnInterfaceProjectArtifact; } public void setIsConsumerAnInterfaceProjectArtifact( boolean consumerAnInterfaceProjectArtifact) { m_isConsumerAnInterfaceProjectArtifact = consumerAnInterfaceProjectArtifact; } public boolean isBaseConsumerGenertionReq() { return m_IsBaseConsumerGenertionReq; } public void setIsBaseConsumerGenertionReq(boolean isBaseConsumerGenertionReq) { m_IsBaseConsumerGenertionReq = isBaseConsumerGenertionReq; } public boolean shouldUsePublicMethodsConsumer() { return m_ShouldUsePublicMethodsConsumer; } public void setShouldUsePublicMethodsConsumer(boolean shouldUsePublicMethodsConsumer) { m_ShouldUsePublicMethodsConsumer = shouldUsePublicMethodsConsumer; } public String getJavaHome() { return m_JavaHome; } public void setJavaHome(String javaHome) { m_JavaHome = javaHome; } public String getJdkHome() { return m_JdkHome; } public void setJdkHome(String jdkHome) { m_JdkHome = jdkHome; } //This method is to make sure serviceName tag does not appear in cc.xml for post 2.4 projects. //This method is also used to check if Consumer is post2.4 world or not. public boolean isServiceNameRequired() { return m_isServiceNameRequired; } public void setServiceNameRequired(boolean serviceNameRequired) { m_isServiceNameRequired = serviceNameRequired; } public boolean isObjectFactoryTobeDeleted() { return m_isObjectFactoryTobeDeleted; } public void setObjectFactoryTobeDeleted(boolean objectFactoryTobeDeleted) { m_isObjectFactoryTobeDeleted = objectFactoryTobeDeleted; } public boolean isObjectFactoryDeletionOptionPassed() { return m_isObjectFactoryDeletionOptionPassed; } public void setObjectFactoryDeletionOptionPassed( boolean objectFactoryDeletionOptionPassed) { m_isObjectFactoryDeletionOptionPassed = objectFactoryDeletionOptionPassed; } public String getShortPathForSharedConsumer() { return m_shortPathForSharedConsumer; } public void setShortPathForSharedConsumer(String pathForSharedConsumer) { m_shortPathForSharedConsumer = pathForSharedConsumer; } public boolean isUseExternalServiceFactory() { return useExternalServiceFactory; } public void setUseExternalServiceFactory(boolean useExternalServiceFactory) { this.useExternalServiceFactory = useExternalServiceFactory; } public String getSupportedFastSerFormats() { return m_supportedFastSerFormats; } public void setSupportedFastSerFormats(String suuportedFastSerFormats) { this.m_supportedFastSerFormats = suuportedFastSerFormats; } public String getSvcImplFactoryClassName() { return m_svcImplFactoryClassName; } public void setSvcImplFactoryClassName(String svcImplFactoryClassName) { this.m_svcImplFactoryClassName = svcImplFactoryClassName; } public String getXsdPathsForNonXSDFormatsValidation() { return m_xsdPathsForNonXSDFormatsValidation; } public void setXsdPathsForNonXSDFormatsValidation( String xsdPathsForNonXSDFormatsValidation) { this.m_xsdPathsForNonXSDFormatsValidation = xsdPathsForNonXSDFormatsValidation; } public String toString() { StringBuilder strBuilder = new StringBuilder(); strBuilder.append("[ "); strBuilder.append(OPT_SRVC_NAME + " = " + m_serviceName).append("\n"); strBuilder.append(OPT_SVC_NAME_SPACE + " = " + m_namespace).append("\n"); strBuilder.append("InputType = " + getInputType().name()).append("\n"); strBuilder.append("Input File = " + m_inputFile).append("\n"); strBuilder.append(OPT_CODE_GEN_TYPE + " = " + getCodeGenType().name()).append("\n"); strBuilder.append(OPT_SRC_DIR + " = " + m_srcLocation).append("\n"); strBuilder.append(OPT_META_SRC_DIR + " = " + m_metaSrcLocation).append("\n"); strBuilder.append(OPT_DEST_DIR + " = " + m_destLocation).append("\n"); strBuilder.append(OPT_JAVA_SRC_GEN_DIR + " = " + m_javaSrcDestLocation).append("\n"); strBuilder.append(OPT_META_SRC_GEN_DIR + " = " + m_metaSrcDestLocation).append("\n"); strBuilder.append(OPT_BIN_DIR + " = " + m_binLocation).append("\n"); strBuilder.append(OPT_VERBOSE + " = " + m_verbose).append("\n"); strBuilder.append(OPT_HELP + " = " + m_help).append("\n"); strBuilder.append(OPT_SVC_LOC + " = " + m_serviceLocation).append("\n"); strBuilder.append(OPT_WSDL_LOC + " = " + m_wsdlLocation).append("\n"); strBuilder.append(OPT_SVC_IMPL_CLASS_NAME + " = " + m_svcImplClassName).append("\n"); strBuilder.append(OPT_GEN_INTERFACE_NAME + " = " + m_genInterfaceName).append("\n"); strBuilder.append(OPT_GEN_INTERFACE_PACKAGE + " = " + m_genInterfacePackage).append("\n"); strBuilder.append(OPT_GEN_SHARED_CONSUMER + " = " + m_isGenerateSharedConsumer).append("\n"); strBuilder.append(OPT_PACKAGE_SHARED_CONSUMER + " = " + m_sharedConsumerPackage).append("\n"); strBuilder.append(OPT_CCFG_GROUP_NAME + " = " + m_clientCfgGroupName).append("\n"); strBuilder.append(OPT_SCFG_GROUP_NAME + " = " + m_serverCfgGroupName).append("\n"); strBuilder.append(OPT_GEN_SVC_SKELETON + " = " + m_isGenSkeleton).append("\n"); strBuilder.append(OPT_OVER_WRITE_IMPLEMENTATION_SKELETON + " = " + m_overWriteSkeleton).append("\n"); strBuilder.append(OPT_IMPL_CSI + " = " + m_implCommonSvcInterface).append("\n"); strBuilder.append(OPT_ADD_VI + " = " + m_addVI).append("\n"); strBuilder.append(OPT_GEN_TESTS + " = " + m_genTests).append("\n"); strBuilder.append(OPT_CLIENT_NAME + " = " + m_clientName).append("\n"); strBuilder.append(OPT_SVC_CURR_VERSION + " = " + m_svcCurrVersion).append("\n"); strBuilder.append(OPT_DONT_PROMPT + " = " + m_isDontPrompt).append("\n"); strBuilder.append(OPT_SVC_LAYER + " = " + getServiceLayer()).append("\n"); strBuilder.append(OPT_NO_GLOBAL_CONFIG + " = " + m_isNoGlobalConfig).append("\n"); strBuilder.append(OPT_PKG_2_NS + " = " + m_packageToNSMapString).append("\n"); strBuilder.append(OPT_NO_COMPILE + " = " + m_isNoCompile).append("\n"); strBuilder.append(OPT_CONTINUE_ON_ERROR + " = " + m_isContinueOnError).append("\n"); strBuilder.append(OPT_OP_NAME_CEMC_MAP + " = " + m_opNameToCemcMapString).append("\n"); strBuilder.append(OPT_DOC_LIT_WRAPPED + " = " + m_isDocLitWrapped).append("\n"); strBuilder.append(OPT_SVC_LAYER_FILE_LOC + " = " + m_svcLayerFileLocation).append("\n"); strBuilder.append("Migrate option is :" + " = " + m_migrate).append("\n"); strBuilder.append(OPT_PROJECT_ROOT + " = " + m_projectRoot).append("\n"); strBuilder.append(OPT_USE_INTERFACE_JAR + " = " + m_useInterfaceJar).append("\n"); strBuilder.append(OPT_NS_2_PKG+ " = " + m_NS2PkgString).append("\n"); strBuilder.append(OPT_LOG_CONFIG_FILE+ " = " + m_logConfigFile).append("\n"); strBuilder.append(OPT_TYPE_LIBRARY_XML_FILE + " = " + m_typeLibXmlFile).append("\n"); strBuilder.append(OPT_BINDING_FILE + " = " + m_bindingFileNames).append("\n"); strBuilder.append(OPT_HTTP_PROXY_HOST + " = " + m_httpProxyHost).append("\n"); strBuilder.append(OPT_HTTP_PROXY_PORT + " = " + m_httpProxyPort).append("\n"); strBuilder.append(OPT_COMMON_TYPES_NS + " = " + m_commonTypesNS).append("\n"); strBuilder.append(CodeGenConstants.ENABLE_NAMESPACE_FOLDING + " = "+m_IsEnabledNamespaceFolding).append("\n"); strBuilder.append(CodeGenConstants.PUBLIC_SERVICE_NAME + " = " + m_PublicServiceName).append("\n"); strBuilder.append(CodeGenConstants.PROPERTY_SHARED_CONSUMER_SHORTER_PATH + " = " + m_shortPathForSharedConsumer).append("\n"); strBuilder.append(OPT_ENV_NAME + " = " + m_Environment).append("\n"); strBuilder.append(OPT_ENV_MAPPER + " = " + m_EnvironmentMapper).append("\n"); strBuilder.append(OPT_CONSUMER_ID + " = " + m_ConsumerId).append("\n"); strBuilder.append(OPT_JAVA_HOME + " = " + m_JavaHome).append("\n"); strBuilder.append(OPT_JDK_HOME + " = " + m_JdkHome).append("\n"); strBuilder.append(OPT_OBJECTFACT_GEN + " = " + m_isObjectFactoryTobeDeleted).append("\n"); strBuilder.append("DERIVED-NO-INPUT:m_isWsdlTobeDeleted"+ " = " + m_isWsdlTobeDeleted).append("\n"); strBuilder.append("DERIVED-NO-INPUT:m_isConsumerAnInterfaceProjectArtifact"+ " = " + m_isConsumerAnInterfaceProjectArtifact).append("\n"); strBuilder.append("DERIVED-NO-INPUT:m_IsBaseConsumerGenertionReq"+ " = " + m_IsBaseConsumerGenertionReq).append("\n"); strBuilder.append(" ]"); return strBuilder.toString(); } }