On Wed, Jul 14, 2010 at 22:38, Jarek Gawor <[email protected]> wrote:
> 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.

It is extremely annoying to have generated code in Subversion when for
some reason you need to modify it. In general when that happens,
nobody is able to tell you how the code was generated initially.
Anyway, in this particular case, there are enough options that don't
make it necessary to include the generated stuff in Subversion.

> Jarek
>
> On Wed, Jul 14, 2010 at 4:00 PM, Nikhil V Thaker
> <[email protected]> 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
>> [email protected]
>>
>>
>> Andreas Veithen <[email protected]>
>>
>> 07/14/2010 02:48 PM
>>
>> Please respond to
>> [email protected]
>> To
>> [email protected]
>> 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
>> <[email protected]> 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
>> > [email protected]
>> >
>> >
>> > Andreas Veithen <[email protected]>
>> >
>> > 07/14/2010 01:44 PM
>> >
>> > Please respond to
>> > [email protected]
>> > To
>> > [email protected]
>> > 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,  <[email protected]> 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;
>> > > +
>> > > +
>> > > +
>> > > [email protected] (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: [email protected]
>> > For additional commands, e-mail: [email protected]
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> 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]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to