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/11/28 06:49:20 UTC
svn commit: r349384 - in /webservices/axis2/trunk/java/modules/codegen:
src/org/apache/axis2/databinding/schema/
src/org/apache/axis2/databinding/schema/template/
src/org/apache/axis2/databinding/schema/types/
test/org/apache/axis2/databinding/schema/c...
Author: ajith
Date: Sun Nov 27 21:48:52 2005
New Revision: 349384
URL: http://svn.apache.org/viewcvs?rev=349384&view=rev
Log:
1. Updated the Template names
2. Added a new template to generate plain beans
3. Added a new test case to test the imports and the BaseURI code
Added:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl
- copied, changed from r349077, webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/BeanTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/ImportTest.java
Removed:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/BeanTemplate.xsl
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/schema-compile.properties
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/types/package.html
webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/AbstractSchemaCompilerTester.java
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java?rev=349384&r1=349383&r2=349384&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java Sun Nov 27 21:48:52 2005
@@ -508,6 +508,7 @@
*/
private void processSimpleSchemaType(XmlSchemaSimpleType simpleType){
//nothing to here yet.
+ //todo need to populate the processed type map here
}
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/schema-compile.properties
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/schema-compile.properties?rev=349384&r1=349383&r2=349384&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/schema-compile.properties (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/schema-compile.properties Sun Nov 27 21:48:52 2005
@@ -10,8 +10,9 @@
# bean writer template
# The bean writers template is it's own responsibilty. (A bean writer provider
# may choose not to use a template at all!) However the property loader will
-# load the followiing template (reference) and provide it in case the bean writer is
-# not hard bound to a template
-schema.bean.writer.template=/org/apache/axis2/databinding/schema/template/BeanTemplate.xsl
+# load the followiing template (reference) and provide it and in the case when the
+# bean writer is not statically bound to a template, this'll be useful.
+schema.bean.writer.template=/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl
+#schema.bean.writer.template=/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl
# The type map to be used by the schema compiler
schema.bean.typemap=org.apache.axis2.databinding.schema.typemap.JavaTypeMap
Copied: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl (from r349077, webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/BeanTemplate.xsl)
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl?p2=webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl&p1=webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/BeanTemplate.xsl&r1=349077&r2=349384&rev=349384&view=diff
==============================================================================
(empty)
Added: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl?rev=349384&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl (added)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl Sun Nov 27 21:48:52 2005
@@ -0,0 +1,80 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text"/>
+ <xsl:template match="/bean">
+ /**
+ * <xsl:value-of select="@name"/>.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: #axisVersion# #today#
+ */
+ package <xsl:value-of select="@package"/>;
+ <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
+
+ /**
+ * <xsl:value-of select="$name"/> bean class
+ */
+
+ public class <xsl:value-of select="$name"/> <xsl:if test="@extension"> extends <xsl:value-of select="@extension"/></xsl:if>{
+
+ <xsl:choose>
+ <xsl:when test="@type">/* This type was generated from the piece of schema that had
+ name = <xsl:value-of select="@originalName"/>
+ Namespace URI = <xsl:value-of select="@nsuri"/>
+ Namespace Prefix = <xsl:value-of select="@nsprefix"/>
+ */
+ </xsl:when>
+ <xsl:otherwise>
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "<xsl:value-of select="@nsuri"/>",
+ "<xsl:value-of select="@originalName"/>",
+ "<xsl:value-of select="@nsprefix"/>");
+
+ </xsl:otherwise>
+ </xsl:choose>
+
+
+ <xsl:for-each select="property">
+ <xsl:variable name="propertyType"><xsl:value-of select="@type"></xsl:value-of></xsl:variable>
+ <xsl:variable name="propertyName"><xsl:value-of select="@name"></xsl:value-of></xsl:variable>
+ <xsl:variable name="javaName"><xsl:value-of select="@javaname"></xsl:value-of></xsl:variable>
+ <xsl:variable name="varName">local<xsl:value-of select="$javaName"/></xsl:variable>
+ /**
+ * field for <xsl:value-of select="$javaName"/>
+ <xsl:if test="@attribute">* This was an Attribute!</xsl:if>
+ <xsl:if test="@array">* This was an Array!</xsl:if>
+
+ */
+ private <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text><xsl:value-of select="$varName" /> ;
+
+ /**
+ * Auto generated getter method
+ * @return <xsl:value-of select="$propertyType"/>
+ */
+ public <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text>get<xsl:value-of select="$javaName"/>(){
+ return <xsl:value-of select="$varName"/>;
+ }
+
+ /**
+ * Auto generated setter method
+ * @param param<xsl:value-of select="$javaName"/>
+ */
+ public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <!--Add the validation code. For now we only add the validation code for arrays-->
+ <xsl:if test="@array">
+ <xsl:if test="not(@unbound)">
+ if (param.length > <xsl:value-of select="@maxOccurs"></xsl:value-of>){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ <xsl:if test="@minOccurs">
+ if (param.length < <xsl:value-of select="@minOccurs"></xsl:value-of>){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ </xsl:if>
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ </xsl:for-each>
+ }
+ </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/types/package.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/types/package.html?rev=349384&r1=349383&r2=349384&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/types/package.html (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/types/package.html Sun Nov 27 21:48:52 2005
@@ -1,5 +1,5 @@
<html>
<body>
- These classes are directly salvaged from Axis 1 codebase. Original author comments has been reserved!
+ These classes are directly salvaged from Axis 1 codebase. Original author comments have been preserved!
</body>
</html>
Modified: webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/AbstractSchemaCompilerTester.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/AbstractSchemaCompilerTester.java?rev=349384&r1=349383&r2=349384&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/AbstractSchemaCompilerTester.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/AbstractSchemaCompilerTester.java Sun Nov 27 21:48:52 2005
@@ -49,7 +49,7 @@
Document doc = builder.parse(new File(fileName));
//now read it to a schema
- XmlSchemaCollection schemaCol = new XmlSchemaCollection();
+ XmlSchemaCollection schemaCol = getSchemaReader();
currentSchema = schemaCol.read(doc,null);
outputFolder = new File(TEMP_OUT_FOLDER);
@@ -63,7 +63,9 @@
}
}
-
+ protected XmlSchemaCollection getSchemaReader(){
+ return new XmlSchemaCollection();
+ }
public void testSchema() throws Exception{
SchemaCompiler compiler = new SchemaCompiler( new CompilerOptions().setOutputLocation(outputFolder));
Added: webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/ImportTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/ImportTest.java?rev=349384&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/ImportTest.java (added)
+++ webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/schema/compile/ImportTest.java Sun Nov 27 21:48:52 2005
@@ -0,0 +1,31 @@
+package org.apache.axis2.databinding.schema.compile;
+
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * 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
+ *
+ * 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.
+ */
+
+public class ImportTest extends AbstractSchemaCompilerTester{
+ protected void setUp() throws Exception {
+ this.fileName = "test-resources/xsd/import.xsd";
+ super.setUp();
+ }
+
+ protected XmlSchemaCollection getSchemaReader() {
+ XmlSchemaCollection reader = new XmlSchemaCollection();
+ reader.setBaseUri("test-resources/xsd");
+ return reader;
+ }
+}