You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by aj...@apache.org on 2005/05/06 14:10:49 UTC
svn commit: r168595 - in
/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl:
databinding/ template/java/ tojava/emitter/ tojava/xslt/
Author: ajith
Date: Fri May 6 05:10:49 2005
New Revision: 168595
URL: http://svn.apache.org/viewcvs?rev=168595&view=rev
Log:
Modified the type mappers and the templates slightly
Modified:
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/JavaTypeMapper.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/TypeMappingAdapter.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceImplementationTemplate.xsl
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceTemplate.xsl
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/emitter/ClientInterfaceWriter.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/ClassWriter.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/InterfaceWriter.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/MultiLanguageClientEmitter.java
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/JavaTypeMapper.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/JavaTypeMapper.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/JavaTypeMapper.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/JavaTypeMapper.java Fri May 6 05:10:49 2005
@@ -1,5 +1,7 @@
package org.apache.axis.wsdl.databinding;
+import javax.xml.namespace.QName;
+
/*
* Copyright 2004,2005 The Apache Software Foundation.
@@ -41,7 +43,9 @@
public class JavaTypeMapper extends TypeMappingAdapter{
public JavaTypeMapper() {
- this.map.put("string",String.class);
+ this.map.put(new QName(XSD_SCHEMA_URL,"string"),String.class);
+ this.map.put(new QName(XSD_SCHEMA_URL,"boolean"),Boolean.class);
+
//add the rest todo the key should be a QName
}
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/TypeMappingAdapter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/TypeMappingAdapter.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/TypeMappingAdapter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/databinding/TypeMappingAdapter.java Fri May 6 05:10:49 2005
@@ -24,7 +24,7 @@
* Default abstract implementation of the type mapper
*/
public abstract class TypeMappingAdapter implements TypeMapper{
-
+ protected static final String XSD_SCHEMA_URL = "http://www.w3.org/2001/XMLSchema";
//hashmap that contains the type mappings
protected HashMap map = new HashMap();
//counter variable to generate unique parameter ID's
@@ -37,10 +37,16 @@
* @see TypeMapper#getTypeMapping(javax.xml.namespace.QName)
*/
public Class getTypeMapping(QName qname) {
- if ((qname!=null) && map.containsKey(qname.getLocalPart())){
- return map.get(qname.getLocalPart()).getClass();
+ if ((qname!=null)){
+ Object o = map.get(qname);
+ if (o!=null){
+ return (Class)o;
+ }else{
+ return Object.class;
+ }
}
- return Object.class;
+
+ return null;
}
/**
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceImplementationTemplate.xsl?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceImplementationTemplate.xsl (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceImplementationTemplate.xsl Fri May 6 05:10:49 2005
@@ -1,16 +1,40 @@
<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"/>;
+ <xsl:variable name="interfaceName"><xsl:value-of select="@interfaceName"/></xsl:variable>
+ <xsl:variable name="package"><xsl:value-of select="@package"/></xsl:variable>
+ package <xsl:value-of select="$package"/>;
/*
* Auto generated java implementation by the Axis code generator
*/
- public class <xsl:value-of select="@name"></xsl:value-of> implements <xsl:value-of select="@interfaceName"></xsl:value-of>{
+ public class <xsl:value-of select="@name"></xsl:value-of> extends org.apache.axis.clientapi.Stub implements <xsl:value-of select="$interfaceName"/>{
+
+ static{
+ org.apache.axis.description.AxisOperation __operation;
+ <xsl:for-each select="method">
+ __operation = new org.apache.axis.description.AxisOperation();
+
+ // more things are supposed to come here
+
+ _operations[<xsl:value-of select="position()"/>]=__operation;
+
+ </xsl:for-each>
+ }
<xsl:for-each select="method">
- public <xsl:value-of select="output/param/@type"></xsl:value-of><xsl:text> </xsl:text><xsl:value-of select="@name"></xsl:value-of>(<xsl:value-of select="input/param/@type"></xsl:value-of><xsl:text> </xsl:text><xsl:value-of select="output/param/@name"></xsl:value-of>) throws java.rmi.RemoteException{
- return null; <!-- this needs to be changed -->
+ <xsl:variable name="outputtype"><xsl:value-of select="output/param/@type"></xsl:value-of></xsl:variable>
+ <xsl:variable name="inputtype"><xsl:value-of select="input/param/@type"></xsl:value-of></xsl:variable> <!-- this needs to change-->
+ <xsl:variable name="inputparam"><xsl:value-of select="input/param/@name"></xsl:value-of></xsl:variable> <!-- this needs to change-->
+
+ /**
+ * Auto generated method signature
+ * @see <xsl:value-of select="$package"/>.<xsl:value-of select="$interfaceName"/>#<xsl:value-of select="@name"/>
+ *<xsl:if test="$inputtype!=''">@param <xsl:value-of select="$inputparam"></xsl:value-of></xsl:if>
+ */
+ public <xsl:value-of select="$outputtype"/><xsl:text> </xsl:text><xsl:value-of select="@name"/>(<xsl:if test="$inputtype!=''"><xsl:value-of select="$inputtype"/><xsl:text> </xsl:text><xsl:value-of select="$inputparam"></xsl:value-of></xsl:if>) throws java.rmi.RemoteException;
+ <xsl:if test="$outputtype!=''">return null;</xsl:if>
+ <!-- this needs to be changed -->
}
</xsl:for-each>
}
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceTemplate.xsl?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceTemplate.xsl (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/InterfaceTemplate.xsl Fri May 6 05:10:49 2005
@@ -5,11 +5,20 @@
/*
* Auto generated java interface by the Axis code generator
- */
+ */
public interface <xsl:value-of select="@name"></xsl:value-of> {
<xsl:for-each select="method">
- public <xsl:value-of select="output/param/@type"></xsl:value-of><xsl:text> </xsl:text><xsl:value-of select="@name"></xsl:value-of>(<xsl:value-of select="input/param/@type"></xsl:value-of><xsl:text> </xsl:text><xsl:value-of select="output/param/@name"></xsl:value-of>) throws java.rmi.RemoteException;
+ <xsl:variable name="outputtype"><xsl:value-of select="output/param/@type"></xsl:value-of></xsl:variable>
+
+ <xsl:variable name="inputtype"><xsl:value-of select="input/param/@type"></xsl:value-of></xsl:variable> <!-- this needs to change-->
+ <xsl:variable name="inputparam"><xsl:value-of select="input/param/@name"></xsl:value-of></xsl:variable> <!-- this needs to change-->
+
+ /**
+ * Auto generated method signature
+ *<xsl:if test="$inputtype!=''">@param <xsl:value-of select="$inputparam"></xsl:value-of></xsl:if>
+ */
+ public <xsl:value-of select="$outputtype"/><xsl:text> </xsl:text><xsl:value-of select="@name"/>(<xsl:if test="$inputtype!=''"><xsl:value-of select="$inputtype"/><xsl:text> </xsl:text><xsl:value-of select="$inputparam"></xsl:value-of></xsl:if>) throws java.rmi.RemoteException;
</xsl:for-each>
}
</xsl:template>
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/emitter/ClientInterfaceWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/emitter/ClientInterfaceWriter.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/emitter/ClientInterfaceWriter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/emitter/ClientInterfaceWriter.java Fri May 6 05:10:49 2005
@@ -66,11 +66,13 @@
//FIXME Handle the multipart as multiple arguments.
WSDLOperation operation = (WSDLOperation) iterator.next();
if (WSDLConstants.MEP_URI_IN_OUT.equals(operation.getMessageExchangePattern())) {
- printStream.println( INDENDATION_TAB+"public "
- + this.typeMapper.getTypeMapping(operation.getOutputMessage().getElement()).getName()
+ Class outTypeMapping = this.typeMapper.getTypeMapping(operation.getOutputMessage().getElement());
+ Class inTypeMapping = this.typeMapper.getTypeMapping(operation.getInputMessage().getElement());
+ printStream.println( INDENDATION_TAB+"public "
+ + outTypeMapping==null?"void" :outTypeMapping.getName()
+" "+ operation.getName().getLocalPart()+"("
- +this.typeMapper.getTypeMapping(operation.getInputMessage().getElement()).getName()
- +" "+this.typeMapper.getParameterName(operation.getInputMessage().getElement())
+ +inTypeMapping==null?"":(inTypeMapping.getName()
+ +" "+this.typeMapper.getParameterName(operation.getInputMessage().getElement()))
+") throws "+ REMOTE_EXCEPTION+";");
printStream.println();
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/ClassWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/ClassWriter.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/ClassWriter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/ClassWriter.java Fri May 6 05:10:49 2005
@@ -33,18 +33,36 @@
protected FileOutputStream stream = null;
protected InputStream xsltStream = null;
protected int language = XSLTConstants.LanguageTypes.JAVA; //default is again java
-
+
+ /**
+ * Sets the language
+ * @param language
+ */
public void setLanguage(int language) {
this.language = language;
}
+ /**
+ * Load the template
+ */
public abstract void loadTemplate();
+ /**
+ * Creates the output file
+ * @param packageName
+ * @param fileName
+ * @throws Exception
+ */
public void createOutFile(String packageName,String fileName) throws Exception{
File outputFile = FileWriter.createClassFile(outputFileLocation,packageName,fileName,language);
this.stream = new FileOutputStream(outputFile);
}
+ /**
+ * Writes the output file
+ * @param documentStream
+ * @throws Exception
+ */
public void writeOutFile(InputStream documentStream) throws Exception{
XSLTTemplateProcessor.parse(this.stream,documentStream,this.xsltStream);
this.stream.flush();
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/InterfaceWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/InterfaceWriter.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/InterfaceWriter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/InterfaceWriter.java Fri May 6 05:10:49 2005
@@ -31,6 +31,9 @@
this.language = language;
}
+ /**
+ * @see ClassWriter#loadTemplate()
+ */
public void loadTemplate(){
Class clazz = this.getClass();
switch (language){
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/MultiLanguageClientEmitter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/MultiLanguageClientEmitter.java?rev=168595&r1=168594&r2=168595&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/MultiLanguageClientEmitter.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/tojava/xslt/MultiLanguageClientEmitter.java Fri May 6 05:10:49 2005
@@ -169,7 +169,8 @@
paramNameAttr.setValue(this.mapper.getParameterName(operation.getInputMessage().getElement()));
param.setAttributeNode(paramNameAttr);
Attr paramTypeAttr = doc.createAttribute("type");
- paramTypeAttr.setValue(this.mapper.getTypeMapping(operation.getInputMessage().getElement()).getName());
+ Class typeMapping = this.mapper.getTypeMapping(operation.getInputMessage().getElement());
+ paramTypeAttr.setValue(typeMapping==null?"":typeMapping.getName());
param.setAttributeNode(paramTypeAttr);
inputElt.appendChild(param);
@@ -190,7 +191,8 @@
paramNameAttr.setValue(this.mapper.getParameterName(operation.getOutputMessage().getElement()));
param.setAttributeNode(paramNameAttr);
Attr paramTypeAttr = doc.createAttribute("type");
- paramTypeAttr.setValue(this.mapper.getTypeMapping(operation.getOutputMessage().getElement()).getName());
+ Class typeMapping = this.mapper.getTypeMapping(operation.getOutputMessage().getElement());
+ paramTypeAttr.setValue(typeMapping==null?"":typeMapping.getName());
param.setAttributeNode(paramTypeAttr);
outputElt.appendChild(param);