You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by as...@apache.org on 2005/08/26 15:34:04 UTC
svn commit: r240243 - in
/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension:
./ org/ org/apache/ org/apache/axis2/ org/apache/axis2/wsdl/
org/apache/axis2/wsdl/codegen/ org/apache/axis2/wsdl/codegen/extension/
org/...
Author: ashutosh
Date: Fri Aug 26 06:33:51 2005
New Revision: 240243
URL: http://svn.apache.org/viewcvs?rev=240243&view=rev
Log:
JAXB Databinding extension for Axis2. Putting in scratch as it depends on JAXB 2.0 RI.
Added:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/JAXBExtension.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/JAXBSupporterTemplate.xsl
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties?rev=240243&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties Fri Aug 26 06:33:51 2005
@@ -0,0 +1,6 @@
+#######################################################################################################################
+##################### code generator property file #################################################################
+#######################################################################################################################
+#Extensions - The extensions are comma seperated
+#these are loaded in their lexical order
+codegen.extension=org.apache.axis2.wsdl.codegen.extension.AxisBindingBuilder,org.apache.axis2.wsdl.codegen.extension.WSDLValidatorExtension,org.apache.axis2.wsdl.codegen.extension.PackageFinder,org.apache.axis2.wsdl.codegen.extension.JAXBExtension,org.apache.axis2.wsdl.codegen.extension.DefaultDatabindingExtension
\ No newline at end of file
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/JAXBExtension.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/JAXBExtension.java?rev=240243&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/JAXBExtension.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/codegen/extension/JAXBExtension.java Fri Aug 26 06:33:51 2005
@@ -0,0 +1,151 @@
+package org.apache.axis2.wsdl.codegen.extension;
+
+import java.io.*;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.WSDLException;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
+import org.apache.axis2.wsdl.codegen.CodeGenerationException;
+import org.apache.axis2.wsdl.codegen.CommandLineOption;
+import org.apache.axis2.wsdl.codegen.CommandLineOptionConstants;
+import org.apache.axis2.wsdl.databinding.DefaultTypeMapper;
+import org.apache.axis2.wsdl.databinding.JavaTypeMapper;
+import org.apache.axis2.wsdl.util.XMLUtils;
+import org.apache.wsdl.WSDLExtensibilityElement;
+import org.apache.wsdl.WSDLTypes;
+
+import com.sun.codemodel.JCodeModel;
+import com.sun.tools.xjc.Plugin;
+import com.sun.tools.xjc.XJC2Task;
+import com.sun.tools.xjc.api.Mapping;
+import com.sun.tools.xjc.api.S2JJAXBModel;
+import com.sun.tools.xjc.api.SchemaCompiler;
+import com.sun.tools.xjc.api.TypeAndAnnotation;
+import com.sun.tools.xjc.api.XJC;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.*;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Target;
+
+public class JAXBExtension extends AbstractCodeGenerationExtension implements
+ CodeGenExtension {
+ private static final String DEFAULT_STS_NAME = "foo";
+
+ public void init(CodeGenConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ public void engage() throws CodeGenerationException {
+
+ try {
+
+ WSDLTypes typesList = configuration.getWom().getTypes();
+ if (typesList == null) {
+ //there are no types to be code generated
+ //However if the type mapper is left empty it will be a problem for the other
+ //processes. Hence the default type mapper is set to the configuration
+ this.configuration.setTypeMapper(new DefaultTypeMapper());
+ return;
+ }
+
+ List typesArray = typesList.getExtensibilityElements();
+ WSDLExtensibilityElement extensiblityElt = null;
+
+
+ //Get the schema information from WSDL by parsing it in a DOM document
+ //and extracting the schema part
+
+ String uri = ((CommandLineOption)configuration.getParser().getAllOptions().get(
+ CommandLineOptionConstants.WSDL_LOCATION_URI_OPTION)).getOptionValue();
+ File file = new File(uri);
+
+ Document doc;
+ try {
+ doc = XMLUtils.newDocument(uri);
+ } catch (ParserConfigurationException e) {
+ throw new WSDLException(WSDLException.PARSER_ERROR,
+ "Parser Configuration Error",
+ e);
+ } catch (SAXException e) {
+ throw new WSDLException(WSDLException.PARSER_ERROR,
+ "Parser SAX Error",
+ e);
+
+ } catch (IOException e) {
+ throw new WSDLException(WSDLException.INVALID_WSDL, "IO Error", e);
+ }
+
+ Node schemaNode = getSchemaNode(doc);
+ String schemaStr = parseToString(schemaNode);
+
+ //invoke XJC programatically
+ SchemaCompiler sc = XJC.createSchemaCompiler();
+
+ StringReader sr = new StringReader(schemaStr);
+ BufferedReader br = new BufferedReader(sr);
+ InputSource is = new InputSource(br);
+ is.setSystemId("www.SystemId.org");
+ sc.parseSchema(is);
+ S2JJAXBModel jaxbModel = sc.bind();
+
+ //Write Java files created from schema
+ JCodeModel cm = jaxbModel.generateCode(new Plugin[]{}, null);
+ String outputDir = ((CommandLineOption)configuration.getParser().getAllOptions().get(
+ CommandLineOptionConstants.OUTPUT_LOCATION_OPTION)).getOptionValue();
+ cm.build(new File(outputDir));
+
+ //Polulate typemapper
+ Iterator mappingsIter = jaxbModel.getMappings().iterator();
+ JavaTypeMapper mapper = new JavaTypeMapper();
+ while(mappingsIter.hasNext()){
+ Mapping mapping = (Mapping)mappingsIter.next();
+ QName xmlType = mapping.getElement();
+ String javaType = mapping.getType().getTypeClass();
+ System.out.println(xmlType + " ::: " + javaType);
+ mapper.addTypeMapping(xmlType, javaType);
+ }
+ this.configuration.setTypeMapper(mapper);
+
+ }catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ private Node getSchemaNode(Document doc){
+ Node definition = doc.getFirstChild();
+ QName schemaName = new QName("http://www.w3.org/2001/XMLSchema", "schema");
+ Node schema = XMLUtils.findNode(definition, schemaName);
+ //Attr attrib = doc.createAttributeNS("http://www.w3.org/2001/XMLSchema", new QName("xsd").toString());
+ Attr attrib = doc.createAttribute("xmlns:xsd");
+ attrib.setValue("http://www.w3.org/2001/XMLSchema");
+ ((Element)schema).setAttributeNode(attrib);
+ return schema;
+ }
+
+ private static String parseToString (Node node)throws TransformerException{
+
+ StringBuffer buffer = new StringBuffer();
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ StringWriter stringWriter = new StringWriter(128);
+ transformer.transform(new DOMSource(node), new StreamResult(stringWriter));
+ buffer = stringWriter.getBuffer();
+ return buffer.toString();
+ }
+
+}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/JAXBSupporterTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/JAXBSupporterTemplate.xsl?rev=240243&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/JAXBSupporterTemplate.xsl (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/JAXBSupporterTemplate.xsl Fri Aug 26 06:33:51 2005
@@ -0,0 +1,107 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text"/>
+ <xsl:template match="/class">
+ package <xsl:value-of select="@package"/>;
+ import java.io.FileOutputStream;
+ import java.io.FileInputStream;
+
+ import javax.xml.bind.JAXBContext;
+ import javax.xml.bind.Marshaller;
+ import javax.xml.bind.Unmarshaller;
+ import javax.xml.stream.*;
+
+ /**
+ * Auto generated supporter class for XML beans by the Axis code generator
+ */
+
+ public class <xsl:value-of select="@name"/> {
+ <xsl:apply-templates />
+
+ public static java.lang.Object fromOM(org.apache.axis2.om.OMElement param,
+ java.lang.Class type){
+ try{
+ FileOutputStream fos = new FileOutputStream("_temp_");
+ XMLStreamWriter writer = XMLOutputFactory.newInstance()
+ .createXMLStreamWriter(new FileOutputStream("_temp_"));
+ param.serialize(writer);
+ writer.flush();
+ fos.flush();
+ fos.close();
+ JAXBContext jaxbContext = JAXBContext.newInstance("org.simpletest.xsd");
+ //Above org.simpletest.xsd is being hardcoded, but it should actually be the
+ //package corresponding to targetnamespace of schema.
+ Unmarshaller unmarsh = jaxbContext.createUnmarshaller();
+ FileInputStream xmlContent = new FileInputStream("_temp_");
+
+ <xsl:for-each select="param">
+ <xsl:if test="@type!=''">
+ if (<xsl:value-of select="@type"/>.class.equals(type)){
+ <xsl:value-of select="@type"/> unmarshalledClazz = (<xsl:value-of select="@type"/>)unmarsh.unmarshal(xmlContent);
+ return unmarshalledClazz;
+ }
+ </xsl:if>
+ </xsl:for-each>
+ }catch(java.lang.Exception e){
+ throw new RuntimeException("Data binding error",e);
+ }
+ return null;
+ }
+
+ //Generates an empty object for testing
+ // Caution - need some manual editing to work properly
+
+ public static java.lang.Object getTestObject(java.lang.Class type){
+ //Returning empty object for compilation to succeed. Don't rely on
+ //using the test object out of this method, as it is.
+ try {
+ <xsl:for-each select="param">
+ <xsl:if test="@type!=''">
+ if (<xsl:value-of select="@type"/>.class.equals(type)){
+ <xsl:value-of select="@type"/> emptyObject= <xsl:value-of select="@type"/>.class.newInstance();
+ return emptyObject;
+ }
+ </xsl:if>
+ </xsl:for-each>
+ return null;
+ } catch(java.lang.Exception e){
+ throw new RuntimeException("Test object creation failure",e);
+ }
+ }
+
+ }
+ </xsl:template>
+
+ <xsl:template match="param">
+ <xsl:if test="@type!=''">
+ public static org.apache.axis2.om.OMElement toOM(<xsl:value-of select="@type"/> param){
+ try {
+ JAXBContext jaxbContext = JAXBContext.newInstance("org.simpletest.xsd");
+ //Above org.simpletest.xsd is being hardcoded, but it should actually be the
+ //package corresponding to targetnamespace of schema.
+ Marshaller marsh = jaxbContext.createMarshaller();
+ //we want the output to be neatly indented, right?
+ marsh.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+ new Boolean(true));
+ FileOutputStream tempFOP = new FileOutputStream("_temp_");
+ System.out.println("JAXB marshalled output of the java instance:");
+ marsh.marshal(param,System.out);
+ marsh.marshal(param, tempFOP);
+
+ tempFOP.flush();
+ tempFOP.close();
+ XMLStreamReader reader = XMLInputFactory.newInstance().
+ createXMLStreamReader(new FileInputStream("_temp_"));
+ org.apache.axis2.om.impl.llom.builder.StAXOMBuilder builder = new org.apache.axis2.om.impl.llom.builder.StAXOMBuilder
+ (org.apache.axis2.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.clientapi.StreamWrapper(reader)) ;
+ org.apache.axis2.om.OMElement documentElement = builder.getDocumentElement();
+ //Building the element is needed to avoid certain stream errors!
+ documentElement.build();
+ return documentElement;
+ } catch(Exception e) {
+ System.err.println("Exception encountered in echoStringDatabindingSupporter.toOM(). Returning null");
+ }
+ return null;
+ }
+ </xsl:if>
+ </xsl:template>
+ </xsl:stylesheet>
\ No newline at end of file
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl?rev=240243&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl Fri Aug 26 06:33:51 2005
@@ -0,0 +1,140 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text"/>
+ <xsl:template match="/class">
+ <xsl:variable name="interfaceName"><xsl:value-of select="@interfaceName"/></xsl:variable>
+ <xsl:variable name="package"><xsl:value-of select="@package"/></xsl:variable>
+ <xsl:variable name="callbackname"><xsl:value-of select="@callbackname"/></xsl:variable>
+ <xsl:variable name="stubname"><xsl:value-of select="@stubname"/></xsl:variable>
+ <xsl:variable name="isSync"><xsl:value-of select="@isSync"/></xsl:variable>
+ <xsl:variable name="isAsync"><xsl:value-of select="@isAsync"/></xsl:variable>
+ <xsl:variable name="dbpackage"><xsl:value-of select="@dbsupportpackage"/></xsl:variable>
+
+ package <xsl:value-of select="$package"/>;
+
+ import java.io.InputStream;
+ import java.net.ServerSocket;
+
+ import javax.xml.namespace.QName;
+
+ import org.apache.axis2.context.ConfigurationContext;
+ import org.apache.axis2.deployment.DeploymentEngine;
+ import org.apache.axis2.description.ServiceDescription;
+ import org.apache.axis2.engine.AxisConfiguration;
+ import org.apache.axis2.wsdl.codegen.Constants;
+ import org.apache.axis2.om.OMAbstractFactory;
+ import org.apache.axis2.om.OMElement;
+ import org.apache.axis2.om.OMFactory;
+ import org.apache.axis2.om.impl.llom.OMTextImpl;
+ import org.apache.axis2.transport.http.SimpleHTTPServer;
+
+
+ /*
+ * Auto generated Junit test case by the Axis code generator
+ */
+
+ public class <xsl:value-of select="@name"/> extends junit.framework.TestCase{
+
+ <xsl:for-each select="method">
+ <xsl:if test="@mep='http://www.w3.org/2004/08/wsdl/in-out'">
+ <xsl:variable name="outputtype"><xsl:value-of select="output/param/@type"></xsl:value-of></xsl:variable>
+ <xsl:variable name="dbsupportclassname"><xsl:value-of select="@dbsupportname"></xsl:value-of></xsl:variable>
+ <xsl:if test="$isSync='1'">
+ /**
+ * Auto generated test method
+ */
+ public void test<xsl:value-of select="@name"/>() throws java.lang.Exception{
+
+ <xsl:value-of select="$package"/>.<xsl:value-of select="$stubname"/> stub =
+ new <xsl:value-of select="$package"/>.<xsl:value-of select="$stubname"/>();//the default implementation should point to the right endpoint
+ //create a new databinder
+ <xsl:variable name="fullsupporterclassname"><xsl:value-of select="$dbpackage"/>.<xsl:value-of select="$dbsupportclassname"/></xsl:variable>
+ <xsl:value-of select="$fullsupporterclassname"/> databindSupporter = new <xsl:value-of select="$fullsupporterclassname"/>();
+
+ <xsl:choose>
+ <xsl:when test="count(input/param)>0">
+<!-- //<xsl:variable name="firstInput"><xsl:value-of select="input/param[1]"/></xsl:variable> -->
+ <xsl:choose>
+ <xsl:when test="$outputtype=''">
+ <!-- for now think there is only one input element -->
+ //There is no output to be tested!
+ stub.<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param">
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if>(<xsl:value-of select="@type"/>)databindSupporter.getTestObject(<xsl:value-of select="@type"/>.class)
+ </xsl:if>
+ </xsl:for-each>);
+ </xsl:when>
+ <xsl:otherwise>
+ assertNotNull(stub.<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param">
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if>(<xsl:value-of select="@type"/>)databindSupporter.getTestObject(<xsl:value-of select="@type"/>.class)
+ </xsl:if>
+ </xsl:for-each>));
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$outputtype=''">
+ //There is no output to be tested!
+ stub.<xsl:value-of select="@name"/>();
+ </xsl:when>
+ <xsl:otherwise>
+ assertNotNull(stub.<xsl:value-of select="@name"/>());
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+
+
+ }
+ </xsl:if>
+ <xsl:if test="$isAsync='1'">
+ <xsl:variable name="tempCallbackName">tempCallback<xsl:value-of select="generate-id()"/></xsl:variable>
+ /**
+ * Auto generated test method
+ */
+ public void testStart<xsl:value-of select="@name"/>() throws java.lang.Exception{
+ <xsl:value-of select="$package"/>.<xsl:value-of select="$stubname"/> stub = new <xsl:value-of select="$package"/>.<xsl:value-of select="$stubname"/>();
+ //create a new databinder
+ <xsl:variable name="fullsupporterclassname"><xsl:value-of select="$dbpackage"/>.<xsl:value-of select="$dbsupportclassname"/></xsl:variable>
+ <xsl:value-of select="$fullsupporterclassname"/> databindSupporter = new <xsl:value-of select="$fullsupporterclassname"/>();
+ <xsl:choose>
+ <xsl:when test="count(input/param)>0">
+ stub.start<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param">
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if>(<xsl:value-of select="@type"/>)databindSupporter.getTestObject(<xsl:value-of select="@type"/>.class)
+ </xsl:if>
+ </xsl:for-each>,
+ new <xsl:value-of select="$tempCallbackName"/>()
+ );
+ </xsl:when>
+ <xsl:otherwise>
+ stub.start<xsl:value-of select="@name"/>(
+ new <xsl:value-of select="$tempCallbackName"/>()
+ );
+ </xsl:otherwise>
+ </xsl:choose>
+
+
+ }
+
+ private class <xsl:value-of select="$tempCallbackName"/> extends <xsl:value-of select="$package"/>.<xsl:value-of select="$callbackname"/>{
+ public <xsl:value-of select="$tempCallbackName"/>(){ super(null);}
+
+ public void receiveResult<xsl:value-of select="@name"/>(org.apache.axis2.clientapi.AsyncResult result) {
+ assertNotNull(result.getResponseEnvelope().getBody().getFirstChild());
+ }
+
+ public void receiveError<xsl:value-of select="@name"/>(java.lang.Exception e) {
+ fail();
+ }
+
+ }
+ </xsl:if>
+ <!-- end of in-out mep -->
+ </xsl:if>
+ </xsl:for-each>
+ }
+ </xsl:template>
+ </xsl:stylesheet>
\ No newline at end of file
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java?rev=240243&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/JAXB_Databinding_Extension/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java Fri Aug 26 06:33:51 2005
@@ -0,0 +1,40 @@
+package org.apache.axis2.wsdl.util;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.Properties;
+
+/**
+ * Tries to load the properties from the config properties
+ */
+public class ConfigPropertyFileLoader {
+
+ private static String[] extensionClassNames;
+
+ private static final String CODE_GEN_KEY = "codegen.extension";
+
+ static{
+ try {
+ InputStream stream = Object.class.getResourceAsStream("/org/apache/axis2/wsdl/codegen/codegen-config.properties");
+ //InputStream stream = Object.class.getResourceAsStream("/org/apache/axis2/wsdl/codegen/codegen-config-withJAXB.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ String codeGenExtensionClasses = props.getProperty(CODE_GEN_KEY);
+ if (codeGenExtensionClasses!=null){
+ extensionClassNames = codeGenExtensionClasses.split(",");
+
+ }
+
+
+
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ public static String[] getExtensionClassNames() {
+ return extensionClassNames;
+ }
+}