axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jarek Gawor <jga...@gmail.com>
Subject Re: svn commit: r963508 - in /axis/axis2/java/core/trunk/modules/jaxws: ./ src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ test/org/apache/axis2/jaxws/wrapper/ test/org/apache/axis2/jaxws/wrapper/beans/
Date Thu, 15 Jul 2010 03:55:42 GMT
Nikhil,

I don't think there is an objection for adding jaxws-tools as a _test_
dependency. So as long you add the jaxws-tools dependency with
<scope>test</scope> there shouldn't be a problem.

Jarek

On Wed, Jul 14, 2010 at 10:40 PM, Nikhil V Thaker
<nikhil.v.thaker@us.ibm.com> wrote:
>
> Thanks Jarek for the suggestion.
>
> The fact that there is an objection to putting jaxws-tools.jar as a dependency would
mean we cannot run wsGen. Unless I misunderstood Andreas comments. To me we should always
have jaxws-tools as dependency to jaxws module, after all jaxws tools are prerequisite to
jaxws runtime, a user of jaxws runtime has to run wsGen or wsImport to build webservices application.
>
> Anyways, I will look and see if there is an alternate way to add these test cases.
>
> Regards,
>
> Nikhil Thaker
> office: 919 254 9964
> nvthaker@us.ibm.com
>
>
> Jarek Gawor <jgawor@gmail.com>
>
> 07/14/2010 03:38 PM
>
> Please respond to
> java-dev@axis.apache.org
> To
> java-dev@axis.apache.org
> cc
> Subject
> Re: svn commit: r963508 - in /axis/axis2/java/core/trunk/modules/jaxws:         ./
src/org/apache/axis2/jaxws/runtime/description/marshal/impl/         test/org/apache/axis2/jaxws/wrapper/
test/org/apache/axis2/jaxws/wrapper/beans/
>
>
>
>
> Just a couple of thoughts:
>
> 1) Since you already have wsgen-tests.xml ant script to run the wsgen
> you could setup the appropriate classpath to the tools.jar or
> classes.jar or whatever in it. You just might need to fork the ant
> process.
>
> 2) I don't think it's that horrible to commit some generate code
> especially if there isn't too much of it and the test case is
> important. Besides, Axis2 already has some generated code checked it.
>
> Jarek
>
> On Wed, Jul 14, 2010 at 4:00 PM, Nikhil V Thaker
> <nikhil.v.thaker@us.ibm.com> wrote:
> >
> > Yes Andreas,
> >  I am running antrun plugin as the wsGen plugin has errors and is not fully matured,
here's the URL that explains the issue I ran into http://jira.codehaus.org/browse/MNG-3586.
> >
> > So since I cannot run wsGen or cannot include generated artifacts I will just remove
the test case. I will commit the changes soon.
> >
> > Regards,
> >
> > Nikhil Thaker
> > office: 919 254 9964
> > nvthaker@us.ibm.com
> >
> >
> > Andreas Veithen <andreas.veithen@gmail.com>
> >
> > 07/14/2010 02:48 PM
> >
> > Please respond to
> > java-dev@axis.apache.org
> > To
> > java-dev@axis.apache.org
> > cc
> > Subject
> > Re: svn commit: r963508 - in /axis/axis2/java/core/trunk/modules/jaxws:      
  ./ src/org/apache/axis2/jaxws/runtime/description/marshal/impl/         test/org/apache/axis2/jaxws/wrapper/
test/org/apache/axis2/jaxws/wrapper/beans/
> >
> >
> >
> >
> > No, you are using the antrun plugin to execute the wsgen ant task.
> > What I meant was to use a real Maven plugin (either the one from
> > java.net or the one from CXF).
> >
> > -1 to commit any generated stuff into SVN.
> >
> > Andreas
> >
> > On Wed, Jul 14, 2010 at 21:42, Nikhil V Thaker
> > <nikhil.v.thaker@us.ibm.com> wrote:
> > >
> > > Andreas - I had to add the tools.jar bit because maven plugin for wsGen gave
NoClassDef Found errors for classes packaged in tools.jar.
> > >
> > > Since this is causing a problem I will just package the generated artifacts
and remove the wsGen dependency.
> > >
> > > Thanks,
> > >
> > > Nikhil Thaker
> > > office: 919 254 9964
> > > nvthaker@us.ibm.com
> > >
> > >
> > > Andreas Veithen <andreas.veithen@gmail.com>
> > >
> > > 07/14/2010 01:44 PM
> > >
> > > Please respond to
> > > java-dev@axis.apache.org
> > > To
> > > java-dev@axis.apache.org
> > > cc
> > > Subject
> > > Re: svn commit: r963508 - in /axis/axis2/java/core/trunk/modules/jaxws:  
      ./ src/org/apache/axis2/jaxws/runtime/description/marshal/impl/         test/org/apache/axis2/jaxws/wrapper/
test/org/apache/axis2/jaxws/wrapper/beans/
> > >
> > >
> > >
> > >
> > > Nikhil,
> > >
> > > I have some issues with the tools and jaxws-tools dependencies
> > > introduced by this change:
> > >
> > > * The change causes a build failure in Hudson. There will also be
> > > additional issues with tools.jar, because the way to declare this as a
> > > system dependency varies from one JDK to another. For example, I
> > > remember that on Mac OS X, it is completely different than on other
> > > JDKs.
> > >
> > > * I don't like the fact that jaxws-tools becomes a dependency of
> > > axis2-jaxws in scope compile, because it looks like this is only
> > > needed during the build and/or during the tests.
> > >
> > > I didn't review the change in detail, but wouldn't it be smarter to
> > > use one of the existing Maven plugins to do the wsgen stuff? They will
> > > take care of the tools.jar stuff as well.
> > >
> > > Andreas
> > >
> > > On Tue, Jul 13, 2010 at 00:16,  <nthaker@apache.org> wrote:
> > > > Author: nthaker
> > > > Date: Mon Jul 12 22:16:54 2010
> > > > New Revision: 963508
> > > >
> > > > URL: http://svn.apache.org/viewvc?rev=963508&view=rev
> > > > Log:
> > > > AXIS2-4775
> > > > This change ensures that we will use Request and Response wrapper Bean
packaged by customer or we will Generate Wrappers if they are not packaged.
> > > >
> > > > Added:
> > > >    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/
> > > >    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/
> > > >    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersException.java
> > > >    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersService.java
> > > >    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/WrapperBeanMarshallTests.java
> > > >    axis/axis2/java/core/trunk/modules/jaxws/wsgen-tests.xml
> > > > Modified:
> > > >    axis/axis2/java/core/trunk/modules/jaxws/pom.xml
> > > >    axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ArtifactProcessor.java
> > > >
> > > > Modified: axis/axis2/java/core/trunk/modules/jaxws/pom.xml
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/pom.xml?rev=963508&r1=963507&r2=963508&view=diff
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/pom.xml (original)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/pom.xml Mon Jul 12 22:16:54
2010
> > > > @@ -1,5 +1,4 @@
> > > >  <?xml version="1.0" encoding="UTF-8"?>
> > > > -
> > > >  <!-- >   ~ Licensed to the Apache Software Foundation (ASF) under
one
> > > >   ~ or more contributor license agreements. See the NOTICE file
> > > > @@ -20,7 +19,7 @@
> > > >   -->
> > > >
> > > >  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > > -         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
> > > > +         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
> > > >     <modelVersion>4.0.0</modelVersion>
> > > >     <parent>
> > > >         <groupId>org.apache.axis2</groupId>
> > > > @@ -98,7 +97,25 @@
> > > >             <version>${version}</version>
> > > >             <scope>test</scope>
> > > >         </dependency>
> > > > +        <dependency>
> > > > +            <groupId>wsdl4j</groupId>
> > > > +            <artifactId>wsdl4j</artifactId>
> > > > +        </dependency>
> > > > +        <dependency>
> > > > +            <groupId>com.sun.xml.ws</groupId>
> > > > +            <artifactId>jaxws-tools</artifactId>
> > > > +            <version>2.1.3</version>
> > > > +        </dependency>
> > > > +        <!-- If we dont include tools.jar as dependency, maven
throws NoClassDefFound on wsGen run -->
> > > > +        <dependency>
> > > > +            <groupId>java</groupId>
> > > > +            <artifactId>tools</artifactId>
> > > > +            <version>$version</version>
> > > > +            <scope>system</scope>
> > > > +            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
> > > > +        </dependency>
> > > >     </dependencies>
> > > > +
> > > >     <build>
> > > >         <sourceDirectory>src</sourceDirectory>
> > > >         <testSourceDirectory>test</testSourceDirectory>
> > > > @@ -203,34 +220,39 @@
> > > >                     <compilerVersion>1.5</compilerVersion>
> > > >                     <source>1.5</source>
> > > >                     <target>1.5</target>
> > > > +
> > > >                 </configuration>
> > > >             </plugin>
> > > >             <plugin>
> > > >                 <groupId>org.apache.maven.plugins</groupId>
> > > >                 <artifactId>maven-antrun-plugin</artifactId>
> > > > +
> > > >                 <executions>
> > > >                     <execution>
> > > >                         <id>gen-ts</id>
> > > >                         <phase>generate-test-sources</phase>
> > > >                         <configuration>
> > > > -                            <tasks unless="maven.test.skip">
> > > > +                            <tasks unless="maven.test.skip">
> > > >                                 <!-- Theres got to
be a better way to do this -->
> > > >                                 <property name="schema.source.dir"
value="test-resources/xsd"/>
> > > >                                 <property name="wsdl.source.dir"
value="test-resources/wsdl"/>
> > > > -                                <property name="schema.output.base.dir"
value="target/schema"/>
> > > > +                                <property name="schema.output.base.dir"
value="target/schema"/>
> > > >                                 <property name="schema.generated.src.dir"
value="${schema.output.base.dir}/src"/>
> > > >                                 <property name="schema.generated.classes.dir"
> > > >                                           value="${schema.output.base.dir}/classes"/>
> > > > +
> > > >                                 <!-- make the dirs
-->
> > > >                                 <mkdir dir="${schema.output.base.dir}"/>
> > > >                                 <mkdir dir="${schema.generated.src.dir}"/>
> > > >                                 <mkdir dir="${schema.generated.classes.dir}"/>
> > > > +
> > > >                                 <!-- Run JAXB schema
compiler with designated schemas -->
> > > >                                 <echo>Generating
JAX-B classes from XSDs</echo>
> > > >
> > > >                                 <echo>Generating
java from echo.xsd</echo>
> > > >                                 <java classname="com.sun.tools.xjc.Driver"
fork="true">
> > > >                                     <classpath refid="maven.runtime.classpath"/>
> > > > +
> > > >                                     <classpath location="${compiled.classes.dir}"/>
> > > >                                     <arg line="-d
${schema.generated.src.dir} -quiet  ${schema.source.dir}/echo.xsd"/>
> > > >                                 </java>
> > > > @@ -266,7 +288,7 @@
> > > >                                     <classpath refid="maven.runtime.classpath"/>
> > > >                                     <classpath location="${compiled.classes.dir}"/>
> > > >                                     <arg line="-d
${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AddNumbers.wsdl"/>
> > > > -                                </java>
> > > > +                                </java>
> > > >                             </tasks>
> > > >                         </configuration>
> > > >                         <goals>
> > > > @@ -287,6 +309,22 @@
> > > >                                 <property name="addressing_version"
value="${version}"/>
> > > >                                 <ant antfile="build.xml"
inheritall="true" inheritrefs="true"
> > > >                                      dir="." target="build-repo"/>
> > > > +
> > > > +                                              
                <property name="compile_classpath" refid="maven.compile.classpath"
/>
> > > > +                                              
                <property name="runtime_classpath" refid="maven.runtime.classpath"
/>
> > > > +                                              
                <property name="test_classpath" refid="maven.test.classpath" />
> > > > +                                              
                <property name="plugin_classpath" refid="maven.plugin.classpath"
/>
> > > > +
> > > > +                                <!-- Defining wsGen
task -->
> > > > +                                              
                <taskdef name="wsgen" loaderRef="refwsgen" classname="com.sun.tools.ws.ant.WsGen">
> > > > +                                              
                        <classpath>
> > > > +                                              
                                <path refid="maven.runtime.classpath" />
> > > > +                                              
                                <path refid="maven.compile.classpath" />
> > > > +                                              
                        </classpath>
> > > > +                                              
                </taskdef>
> > > > +                                              
                <!-- Invoking test cases that need to generate artifacts using
wsGen -->
> > > > +                                <ant antfile="wsgen-tests.xml"
inheritall="true" inheritrefs="true"
> > > > +                                     dir="." target="run-wsgen-tests"/>
> > > >                             </tasks>
> > > >                         </configuration>
> > > >                         <goals>
> > > > @@ -374,6 +412,13 @@
> > > >             <plugin>
> > > >                 <groupId>org.apache.maven.plugins</groupId>
> > > >                 <artifactId>maven-surefire-report-plugin</artifactId>
> > > > +                <reportSets>
> > > > +                    <reportSet>
> > > > +                        <reports>
> > > > +                            <report>report-only</report>
> > > > +                        </reports>
> > > > +                    </reportSet>
> > > > +                </reportSets>
> > > >             </plugin>
> > > >         </plugins>
> > > >     </reporting>
> > > >
> > > > Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ArtifactProcessor.java
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ArtifactProcessor.java?rev=963508&r1=963507&r2=963508&view=diff
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ArtifactProcessor.java
(original)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/runtime/description/marshal/impl/ArtifactProcessor.java
Mon Jul 12 22:16:54 2010
> > > > @@ -238,12 +238,27 @@ class ArtifactProcessor {
> > > >                                 wrapperClass = newValue;
> > > >                             }
> > > >                         }
> > > > -                        if(cls==null && (type.equals("@WebFault")||
type.equals("faultInfo"))){
> > > > +
> > > > +                        if(cls==null &&
> > > > +                            (type.equals("@RequestWrapper")||
type.equals("@ResponseWrapper")||type.equals("@WebFault")|| type.equals("faultInfo"))){
> > > > +
> > > > +                            //Support for Fault Bean Generation
> > > >                             //As per JAX-WS 2.2 Specification
section 3.7 an application programmer can choose not to
> > > >                             //package the faultBeans, if
we have reached this point in the code then user has choosen
> > > >                             //not to package the fault bean.
If there is a cache of generated artifacts available then
> > > >                             //lets look for the missing
faultBean there.
> > > > -
> > > > +
> > > > +                            //Support for Wrapper Bean
Generation
> > > > +                            //As per JAX-WS 2.2 Specificaiton
section 3.6.2.1 pg 41 an application programmer does not use
> > > > +                            //the wrapper bean classes,
so the application need not package these classes. If we have reached
> > > > +                            //this point in the code then
user has choosen not to package these beans.
> > > > +
> > > > +                            //NOTE:If we find Generated
artifacts from cache this guarantees that we will not use
> > > > +                            //DocLitWrappedMinimum marshaller
code. The advantage of normal DocLitWrappedMarshaller is
> > > > +                            //that it is very robust and
has support of lot more datatypes than in DocLitWrappedMinimum.
> > > > +                            if(log.isDebugEnabled()){
> > > > +                                log.debug("Adding cache
to classpath");
> > > > +                            }
> > > >                             ClassFinderFactory cff =
> > > >                                 (ClassFinderFactory)FactoryRegistry.getFactory(ClassFinderFactory.class);
> > > >                             ClassFinder cf = cff.getClassFinder();
> > > > @@ -317,11 +332,26 @@ class ArtifactProcessor {
> > > >                         if (cls2 == null) {
> > > >                             cls2 = loadClassOrNull(defaultValue,
altClassLoader);
> > > >                         }
> > > > -                        if(cls2==null && (type.equals("faultInfo")||
type.equals("@WebFault"))){
> > > > -                            //As per JAX-WS 2.2 Specification
section 3.7 an application programmer can choose not to
> > > > -                            //package the faultBeans, if
we have reached this point in the code then user has choosen
> > > > -                            //not to package the fault
bean. If there is a cache of generated artifacts available then
> > > > -                            //lets look for the missing
faultBean there.
> > > > +                        if(cls2==null &&
> > > > +                                       (type.equals("@RequestWrapper")||
type.equals("@ResponseWrapper")||type.equals("@WebFault")|| type.equals("faultInfo"))){
> > > > +
> > > > +                               //Support for Fault Bean
Generation
> > > > +                               //As per JAX-WS 2.2 Specification
section 3.7 an application programmer can choose not to
> > > > +                               //package the faultBeans,
if we have reached this point in the code then user has choosen
> > > > +                               //not to package the fault
bean. If there is a cache of generated artifacts available then
> > > > +                               //lets look for the missing
faultBean there.
> > > > +
> > > > +                               //Support for Wrapper Bean
Generation
> > > > +                               //As per JAX-WS 2.2 Specificaiton
section 3.6.2.1 pg 41 an application programmer does not use
> > > > +                               //the wrapper bean classes,
so the application need not package these classes. If we have reached
> > > > +                               //this point in the code
then user has choosen not to package these beans.
> > > > +
> > > > +                               //NOTE:If we find Generated
artifacts from cache this guarantees that we will not use
> > > > +                               //DocLitWrappedMinimum
marshaller code. The advantage of normal DocLitWrappedMarshaller is
> > > > +                               //that it is very robust
and has support of lot more datatypes than in DocLitWrappedMinimum.
> > > > +                               if(log.isDebugEnabled()){
> > > > +                                       log.debug("Adding
cache to classpath");
> > > > +                               }
> > > >                             if(log.isDebugEnabled()){
> > > >                                 log.debug("Adding cache
to classpath");
> > > >                             }
> > > >
> > > > Added: axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersException.java
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersException.java?rev=963508&view=auto
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersException.java
(added)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersException.java
Mon Jul 12 22:16:54 2010
> > > > @@ -0,0 +1,18 @@
> > > > +
> > > > +package org.apache.axis2.jaxws.wrapper.beans;
> > > > +
> > > > +import javax.xml.ws.WebFault;
> > > > +
> > > > +@WebFault(name = "AddNumbersFault", targetNamespace = "http://org/test/addnumbers")
> > > > +public class AddNumbersException extends Exception
> > > > +{
> > > > +
> > > > +       private String message = null;
> > > > +       public AddNumbersException(){}
> > > > +       public AddNumbersException(String message){
> > > > +               this.message = message;
> > > > +       }
> > > > +       public String getInfo(){
> > > > +               return message;
> > > > +       }
> > > > +}
> > > >
> > > > Added: axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersService.java
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersService.java?rev=963508&view=auto
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersService.java
(added)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/AddNumbersService.java
Mon Jul 12 22:16:54 2010
> > > > @@ -0,0 +1,15 @@
> > > > +package org.apache.axis2.jaxws.wrapper.beans;
> > > > +
> > > > +
> > > > +
> > > > +@javax.jws.WebService (targetNamespace="http://org/test/addnumbers",
serviceName="AddNumbersService", portName="AddNumbersPort")
> > > > +public class AddNumbersService{
> > > > +
> > > > +    public int addNumbers(int arg0, int arg1) throws AddNumbersException
{
> > > > +       if(arg0+arg1<0){
> > > > +                       throw new AddNumbersException("sum
is less than 0");
> > > > +               }
> > > > +        return arg0+arg1;
> > > > +    }
> > > > +
> > > > +}
> > > > \ No newline at end of file
> > > >
> > > > Added: axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/WrapperBeanMarshallTests.java
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/WrapperBeanMarshallTests.java?rev=963508&view=auto
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/WrapperBeanMarshallTests.java
(added)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/wrapper/beans/WrapperBeanMarshallTests.java
Mon Jul 12 22:16:54 2010
> > > > @@ -0,0 +1,114 @@
> > > > +/**
> > > > + *
> > > > + */
> > > > +package org.apache.axis2.jaxws.wrapper.beans;
> > > > +
> > > > +
> > > > +import org.apache.axis2.jaxws.Constants;
> > > > +import org.apache.axis2.jaxws.description.DescriptionFactory;
> > > > +import org.apache.axis2.jaxws.description.EndpointDescription;
> > > > +import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
> > > > +import org.apache.axis2.jaxws.description.OperationDescription;
> > > > +import org.apache.axis2.jaxws.description.ServiceDescription;
> > > > +import org.apache.axis2.jaxws.marshaller.MethodMarshaller;
> > > > +import org.apache.axis2.jaxws.marshaller.factory.MethodMarshallerFactory;
> > > > +import org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMinimalMethodMarshaller;
> > > > +import org.apache.axis2.jaxws.unitTest.TestLogger;
> > > > +
> > > > +import java.io.File;
> > > > +
> > > > +import junit.framework.TestCase;
> > > > +
> > > > +public class WrapperBeanMarshallTests extends TestCase {
> > > > +    /**
> > > > +     * This is the negative test case, when we do not use generated
artifacts from cache
> > > > +     * and user did not package wrapper beans, we should see use of
DocLitWrappedMinumumMarshaller.
> > > > +     */
> > > > +    public void testGetMarshallerOperationDescriptionBooleanNegative()
{
> > > > +        TestLogger.logger.debug("---------------------------------------");
> > > > +        TestLogger.logger.debug("test: " + getName());
> > > > +
> > > > +        String cache_location = "/target/wscache/classes";
> > > > +        try{
> > > > +            String baseDir = new File(System.getProperty("basedir",".")).getCanonicalPath();
> > > > +            cache_location = new File(baseDir+cache_location).getAbsolutePath();
> > > > +            TestLogger.logger.debug("cache location ="+cache_location);
> > > > +
> > > > +            //Get EndpointDescription.
> > > > +            //Set location on AxisConfiguraiton.
> > > > +            Class sei = AddNumbersService.class;
> > > > +            EndpointDescription description = getEndpointDesc(sei);
> > > > +            TestLogger.logger.debug("description objects where
created successfully");
> > > > +            OperationDescription[] ops =description.getEndpointInterfaceDescription().getOperations();
> > > > +            assertNotNull( "OperationDescriptions where null",
ops);
> > > > +            assertTrue("No Operation Descriptions where found",
ops.length>0);
> > > > +            OperationDescription op = ops[0];
> > > > +            TestLogger.logger.debug("operation found, java methodName="+op.getJavaMethodName());
> > > > +            //Don not Set cache on AxisConfiguration.
> > > > +            //get Marshaller, verify its not DoclitWrappedMinimum.
> > > > +            TestLogger.logger.debug("ws_cache location NOT set
on AxisConfigContext, location="+cache_location);
> > > > +            MethodMarshaller mm = MethodMarshallerFactory.getMarshaller(op,
false);
> > > > +            assertNotNull("getMarshaller returned null", mm );
> > > > +            TestLogger.logger.debug("MethodMarshaller was created,
type="+mm.getClass().getName());
> > > > +            assertTrue("Generated artifacts not found, Method marshaller
should be DocLitWrappedMinimumMarshaller", (mm instanceof DocLitWrappedMinimalMethodMarshaller));
> > > > +        }catch(Exception e){
> > > > +            TestLogger.logger.debug("Exception ="+e.getMessage());
> > > > +            fail(e.getMessage());
> > > > +        }
> > > > +
> > > > +    }
> > > > +    /**
> > > > +     * In this test case user did not package wrapper beans but we
add generated artifacts from cache, we should see use of
> > > > +     * DocLitWrappedMarshaller.
> > > > +     * Test method for {@link org.apache.axis2.jaxws.marshaller.factory.MethodMarshallerFactory#getMarshaller(org.apache.axis2.jaxws.description.OperationDescription,
boolean)}.
> > > > +     */
> > > > +    public void testGetMarshallerOperationDescriptionBoolean() {
> > > > +        TestLogger.logger.debug("---------------------------------------");
> > > > +        TestLogger.logger.debug("test: " + getName());
> > > > +
> > > > +        String cache_location = "/target/wscache/classes";
> > > > +        try{
> > > > +            String baseDir = new File(System.getProperty("basedir",".")).getCanonicalPath();
> > > > +            cache_location = new File(baseDir+cache_location).getAbsolutePath();
> > > > +            TestLogger.logger.debug("cache location ="+cache_location);
> > > > +
> > > > +            //Get EndpointDescription.
> > > > +            //Set location on AxisConfiguraiton.
> > > > +            Class sei = AddNumbersService.class;
> > > > +            EndpointDescription description = getEndpointDesc(sei);
> > > > +            TestLogger.logger.debug("description objects where
created successfully");
> > > > +            OperationDescription[] ops =description.getEndpointInterfaceDescription().getOperations();
> > > > +            assertNotNull( "OperationDescriptions where null",
ops);
> > > > +            assertTrue("No Operation Descriptions where found",
ops.length>0);
> > > > +            OperationDescription op = ops[0];
> > > > +            TestLogger.logger.debug("operation found, java methodName="+op.getJavaMethodName());
> > > > +            //Set cache on AxisConfiguration.
> > > > +            //get Marshaller, verify its not DoclitWrappedMinimum.
> > > > +            description.getServiceDescription().getAxisConfigContext().setProperty(Constants.WS_CACHE,
cache_location);
> > > > +            TestLogger.logger.debug("ws_cache location set on AxisConfigContext,
location="+cache_location);
> > > > +            MethodMarshaller mm = MethodMarshallerFactory.getMarshaller(op,
false);
> > > > +            assertNotNull("getMarshaller returned null", mm );
> > > > +            TestLogger.logger.debug("MethodMarshaller was created,
type="+mm.getClass().getName());
> > > > +            assertTrue("Generated artifacts are in cache, Method
marshaller should not be DocLitWrappedMinimumMarshaller", !(mm instanceof DocLitWrappedMinimalMethodMarshaller));
> > > > +        }catch(Exception e){
> > > > +            TestLogger.logger.debug("Exception ="+e.getMessage());
> > > > +            fail(e.getMessage());
> > > > +        }
> > > > +
> > > > +    }
> > > > +
> > > > +    private EndpointDescription getEndpointDesc(Class implementationClass)
{
> > > > +        // Use the description factory directly; this will be done
within the JAX-WS runtime
> > > > +        ServiceDescription serviceDesc =
> > > > +                DescriptionFactory.createServiceDescription(implementationClass);
> > > > +        assertNotNull(serviceDesc);
> > > > +
> > > > +        EndpointDescription[] endpointDesc = serviceDesc.getEndpointDescriptions();
> > > > +        assertNotNull(endpointDesc);
> > > > +        assertEquals(1, endpointDesc.length);
> > > > +
> > > > +        // TODO: How will the JAX-WS dispatcher get the appropriate
port (i.e. endpoint)?  Currently assumes [0]
> > > > +        EndpointDescription testEndpointDesc = endpointDesc[0];
> > > > +        return testEndpointDesc;
> > > > +    }
> > > > +}
> > > >
> > > > Added: axis/axis2/java/core/trunk/modules/jaxws/wsgen-tests.xml
> > > > URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/wsgen-tests.xml?rev=963508&view=auto
> > > > ==============================================================================
> > > > --- axis/axis2/java/core/trunk/modules/jaxws/wsgen-tests.xml (added)
> > > > +++ axis/axis2/java/core/trunk/modules/jaxws/wsgen-tests.xml Mon Jul 12
22:16:54 2010
> > > > @@ -0,0 +1,34 @@
> > > > +<?xml version="1.0" encoding="UTF-8"?>
> > > > +
> > > > +<project basedir="." default="run-wsgen-tests" name="wsgen-tests">
> > > > +
> > > > +       <property name="wscache.output.base.dir" value="target/wscache"
/>
> > > > +       <property name="wscache.generated.src.dir" value="${wscache.output.base.dir}/src"
/>
> > > > +       <property name="wscache.generated.classes.dir" value="${wscache.output.base.dir}/classes"
/>
> > > > +       <property name="compile.test.classes" value="target/test-classes"
/>
> > > > +
> > > > +
> > > > +    <target name="run-wsgen-tests" depends="wrapper-beans"/>
> > > > +
> > > > +
> > > > +       <target name="create-cache">
> > > > +               <mkdir dir="${wscache.output.base.dir}" />
> > > > +               <mkdir dir="${wscache.generated.src.dir}" />
> > > > +               <mkdir dir="${wscache.generated.classes.dir}"
/>
> > > > +       </target>
> > > > +
> > > > +       <target name="wrapper-beans" depends="create-cache">
> > > > +          <echo>Generating artifacts for org.apache.axis2.jaxws.wrapper.beans.AddNumbersService
</echo>
> > > > +               <wsgen
> > > > +                 sei="org.apache.axis2.jaxws.wrapper.beans.AddNumbersService"
> > > > +                 destdir="${wscache.generated.classes.dir}"
> > > > +                 resourcedestdir="${wscache.generated.src.dir}"
> > > > +                 keep="false"
> > > > +                 verbose="false"
> > > > +                 genwsdl="true">
> > > > +                 <classpath>
> > > > +                  <pathelement path="${compile.test.classes}"
/>
> > > > +                  </classpath>
> > > > +               </wsgen>
> > > > +       </target>
> > > > +</project>
> > > > \ No newline at end of file
> > > >
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
> > > For additional commands, e-mail: java-dev-help@axis.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
> > For additional commands, e-mail: java-dev-help@axis.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-dev-help@axis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message