-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tom,
Thanks! Fixed in svn revision http://svn.apache.org/viewvc?rev=633302&view=rev - -- dims Tom Seelbach wrote: | Deepal, | I'm able to compile and run the tests successfully without these 3 | imports. Are they really needed? | | Modified: | webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java | | URL: | http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java?rev=633048&r1=633047&r2=633048&view=diff | | | +import org.apache.axis2.description.AxisOperation; ... | +import org.codehaus.jam.JMethod; | +import org.codehaus.jam.JClass; | | | Also, (sp) shouldn't customScheamLocation be customSchemaLocation | (several occurrences)? | | thanks, | Tom | | | [EMAIL PROTECTED] wrote: |> Author: deepal |> Date: Mon Mar 3 03:58:15 2008 |> New Revision: 633048 |> |> URL: http://svn.apache.org/viewvc?rev=633048&view=rev |> Log: |> added a way to give a custom schema when generating java2wsdl |> [http://jadeepal.blogspot.com/2008/03/java2wsdl-generation-with-custom-schema.html] |> |> |> Modified: |> |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java |> |> |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java |> |> |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java |> |> |> webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java |> |> |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java |> |> |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java |> |> |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/SchemaGenerator.java |> |> |> Modified: |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java |> Mon Mar 3 03:58:15 2008 |> @@ -74,6 +74,10 @@ |> private String schemaGenClassName = null; |> private boolean generateDocLitBare = false; |> private AxisConfiguration axisConfig; |> + private String customScheamLocation; |> | | |> + // location of the class name to package mapping file |> + // File is simple file with qualifiedClassName:SchemaQName |> + private String mappingFileLocation; |> |> public Java2WSDLBuilder() { |> try { |> @@ -208,6 +212,8 @@ |> schemaGenerator.setExtraClasses(getExtraClasses()); |> schemaGenerator.setNsGen(resolveNSGen()); |> schemaGenerator.setPkg2nsmap(getPkg2nsMap()); |> + schemaGenerator.setMappingFileLocation(mappingFileLocation); |> + schemaGenerator.setCustomScheamLocation(customScheamLocation); |> if (getPkg2nsMap() != null && !getPkg2nsMap().isEmpty() && |> (getPkg2nsMap().containsKey(ALL) || |> getPkg2nsMap().containsKey(ALL.toUpperCase()))) { |> schemaGenerator.setUseWSDLTypesNamespace(true); |> @@ -382,6 +388,23 @@ |> |> public void setWSDLVersion(String wsdlVersion) { |> this.wsdlVersion = wsdlVersion; |> + } |> + |> + |> + public String getCustomScheamLocation() { |> + return customScheamLocation; |> + } |> + |> + public void setCustomScheamLocation(String customScheamLocation) { |> + this.customScheamLocation = customScheamLocation; |> + } |> + |> + public String getMappingFileLocation() { |> + return mappingFileLocation; |> + } |> + |> + public void setMappingFileLocation(String mappingFileLocation) { |> + this.mappingFileLocation = mappingFileLocation; |> } |> } |> |> |> Modified: |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java |> Mon Mar 3 03:58:15 2008 |> @@ -223,6 +223,19 @@ |> if (option != null) { |> java2WsdlBuilder.setGenerateDocLitBare(true); |> } |> + |> + option = loadOption(Java2WSDLConstants.CUSTOM_SCHEMA_LOCATION, |> + |> Java2WSDLConstants.CUSTOM_SCHEMA_LOCATION_LONG, |> + optionsMap); |> + if (option != null) { |> + |> java2WsdlBuilder.setCustomScheamLocation(option.getOptionValue()); |> + } |> + option = |> loadOption(Java2WSDLConstants.SCHEMA_MAPPING_FILE_LOCATION, |> + |> Java2WSDLConstants.SCHEMA_MAPPING_FILE_LOCATION_LONG, |> + optionsMap); |> + if (option != null) { |> + |> java2WsdlBuilder.setMappingFileLocation(option.getOptionValue()); |> + } |> } |> private Java2WSDLCommandLineOption loadOption(String |> shortOption, String longOption, Map options) { |> |> Modified: |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java |> Mon Mar 3 03:58:15 2008 |> @@ -65,10 +65,12 @@ |> |> Java2WSDLConstants.USE_OPTION.equalsIgnoreCase(optionType) || |> |> Java2WSDLConstants.USE_OPTION_LONG.equalsIgnoreCase(optionType)|| |> |> Java2WSDLConstants.WSDL_VERSION_OPTION.equalsIgnoreCase(optionType)|| |> + |> Java2WSDLConstants.CUSTOM_SCHEMA_LOCATION.equalsIgnoreCase(optionType)|| |> + |> Java2WSDLConstants.CUSTOM_SCHEMA_LOCATION_LONG.equalsIgnoreCase(optionType)|| |> |> + |> Java2WSDLConstants.SCHEMA_MAPPING_FILE_LOCATION.equalsIgnoreCase(optionType)|| |> |> + |> Java2WSDLConstants.SCHEMA_MAPPING_FILE_LOCATION_LONG.equalsIgnoreCase(optionType)|| |> |> |> Java2WSDLConstants.WSDL_VERSION_OPTION_LONG.equalsIgnoreCase(optionType) |> ); |> - |> - |> return invalid; |> } |> } |> |> Modified: |> webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/JaxbSchemaGenerator.java |> Mon Mar 3 03:58:15 2008 |> @@ -19,12 +19,15 @@ |> package org.apache.axis2.jaxbri; |> |> import org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator; |> +import org.apache.axis2.description.AxisOperation; |> import org.apache.axis2.util.Loader; |> import org.apache.ws.commons.schema.XmlSchema; |> import org.w3c.dom.Document; |> import org.w3c.dom.Element; |> import org.w3c.dom.Node; |> import org.w3c.dom.NodeList; |> +import org.codehaus.jam.JMethod; |> +import org.codehaus.jam.JClass; |> |> import javax.xml.bind.JAXBContext; |> import javax.xml.bind.JAXBException; |> @@ -125,6 +128,7 @@ |> |> return itr.next(); |> } |> + |> |> protected List<Class<?>> processMethods(Method[] declaredMethods) |> throws Exception { |> List<Class<?>> list = new ArrayList<Class<?>>(); |> |> Modified: |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java |> Mon Mar 3 03:58:15 2008 |> @@ -33,9 +33,14 @@ |> import org.apache.ws.commons.schema.utils.NamespaceMap; |> import org.apache.ws.commons.schema.utils.NamespacePrefixList; |> import org.codehaus.jam.*; |> +import org.w3c.dom.Document; |> +import org.xml.sax.SAXException; |> |> import javax.xml.namespace.QName; |> +import javax.xml.parsers.DocumentBuilderFactory; |> +import javax.xml.parsers.ParserConfigurationException; |> import java.util.*; |> +import java.io.*; |> |> public class DefaultSchemaGenerator implements Java2WSDLConstants, |> SchemaGenerator { |> |> @@ -88,6 +93,11 @@ |> |> protected Class serviceClass = null; |> protected AxisService service; |> + // location of the custom schema , if any |> + protected String customScheamLocation; |> + // location of the class name to package mapping file |> + // File is simple file with qualifiedClassName:SchemaQName |> + protected String mappingFileLocation; |> |> //To check whether we need to generate Schema element for Exception |> protected boolean generateBaseException ; |> @@ -135,6 +145,57 @@ |> } |> } |> |> + //This will locad the custom scheam file and add that into the |> scheam map |> + private void loadCustomSchemaFile(){ |> + if (customScheamLocation != null) { |> + try { |> + DocumentBuilderFactory documentBuilderFactory = |> DocumentBuilderFactory.newInstance(); |> + documentBuilderFactory.setNamespaceAware(true); |> + Document doc = |> documentBuilderFactory.newDocumentBuilder().parse(new |> File(customScheamLocation)); |> + XmlSchema schema = xmlSchemaCollection.read(doc,null); |> + schemaMap.put(schema.getTargetNamespace() ,schema); |> + } catch (Exception e) { |> + log.info(e.getMessage()); |> + } |> + } |> + } |> + |> + /**This will load the mapping file and update the Typetable with |> the Class name and the Qname |> + * Mapping file look like |> + * |> org.foo.bar.FooException|http://www.abc.com/soaframework/common/types|ErrorMessage |> |> + */ |> + private void loadMappingFile(){ |> + if(mappingFileLocation != null){ |> + File file = new File(mappingFileLocation); |> + BufferedReader input = null; |> + try { |> + input = new BufferedReader(new InputStreamReader(new |> FileInputStream(file))); |> + String line; |> + while ((line = input.readLine()) != null) { |> + line = line.trim(); |> + if (line.length() > 0 && line.charAt(0)!='#') { |> + String values [] = line.split("\\|"); |> + if (values != null && values.length >2) { |> + typeTable.addComplexSchema(values[0],new |> QName(values[1] , values[2])); |> + } |> + } |> + } |> + } catch (IOException ex) { |> + ex.printStackTrace(); |> + } finally { |> + try { |> + if (input != null) { |> + input.close(); |> + } |> + } |> + catch (IOException ex) { |> + ex.printStackTrace(); |> + } |> + } |> + } |> + } |> + |> + |> /** |> * Generates schema for all the parameters in method. First |> generates schema for all different |> * parameter type and later refers to them. |> @@ -143,7 +204,8 @@ |> * @throws Exception |> */ |> public Collection generateSchema() throws Exception { |> - |> + loadCustomSchemaFile(); |> + loadMappingFile(); |> JamServiceFactory factory = JamServiceFactory.getInstance(); |> JamServiceParams jam_service_parms = |> factory.createServiceParams(); |> //setting the classLoder |> @@ -1012,5 +1074,22 @@ |> |> public void setAxisService(AxisService service) { |> this.service = service; |> + } |> + |> + |> + public String getCustomScheamLocation() { |> + return customScheamLocation; |> + } |> + |> + public void setCustomScheamLocation(String customScheamLocation) { |> + this.customScheamLocation = customScheamLocation; |> + } |> + |> + public String getMappingFileLocation() { |> + return mappingFileLocation; |> + } |> + |> + public void setMappingFileLocation(String mappingFileLocation) { |> + this.mappingFileLocation = mappingFileLocation; |> } |> } |> |> Modified: |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java |> Mon Mar 3 03:58:15 2008 |> @@ -132,7 +132,11 @@ |> String USE_OPTION_LONG = "use"; |> String WSDL_VERSION_OPTION = "wv"; |> String WSDL_VERSION_OPTION_LONG = "wsdl-version"; |> - + String CUSTOM_SCHEMA_LOCATION = "csl"; |> + String CUSTOM_SCHEMA_LOCATION_LONG = "custom-schema-location"; |> + String SCHEMA_MAPPING_FILE_LOCATION = "mfl"; |> + String SCHEMA_MAPPING_FILE_LOCATION_LONG = "mapping-file-location"; |> + |> String AXIS2_NAMESPACE_PREFIX = "ns1"; |> |> public static final String SOLE_INPUT = "SOLE_INPUT"; |> |> Modified: |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/SchemaGenerator.java |> |> URL: |> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/SchemaGenerator.java?rev=633048&r1=633047&r2=633048&view=diff |> |> ============================================================================== |> |> --- |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/SchemaGenerator.java |> (original) |> +++ |> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/SchemaGenerator.java |> Mon Mar 3 03:58:15 2008 |> @@ -54,4 +54,13 @@ |> void setNonRpcMethods(ArrayList nonRpcMethods); |> |> void setAxisService(AxisService service); |> + |> + String getCustomScheamLocation(); |> + |> + |> + void setCustomScheamLocation(String customScheamLocation); |> + |> + String getMappingFileLocation() ; |> + |> + void setMappingFileLocation(String mappingFileLocation) ; |> } |> |> |> |> --------------------------------------------------------------------- |> To unsubscribe, e-mail: [EMAIL PROTECTED] |> For additional commands, e-mail: [EMAIL PROTECTED] |> |> | | | --------------------------------------------------------------------- | To unsubscribe, e-mail: [EMAIL PROTECTED] | For additional commands, e-mail: [EMAIL PROTECTED] | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) iD8DBQFHzHnigNg6eWEDv1kRAr04AJ9viedztyWuID3lNfVGjDLPPPjwaQCeONTm lUPsvFoMWYeZ5TZeMo5amB4= =Jsp9 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
