<?xml version="1.0" ?>
<!DOCTYPE project [
        <!ENTITY properties SYSTEM "file:../../xmls/properties.xml">
        <!ENTITY paths  SYSTEM "file:../../xmls/path_refs.xml">
        <!ENTITY taskdefs SYSTEM "file:../../xmls/taskdefs.xml">
        <!ENTITY taskdefs_post_compile SYSTEM "file:../../xmls/taskdefs_post_compile.xml">
        <!ENTITY targets SYSTEM "file:../../xmls/targets.xml">
]>

<!-- ===================================================================
<description>
   Test/Sample Component file for Axis

Notes:
   This is a build file for use with the Jakarta Ant build tool.

Prerequisites:

   jakarta-ant from http://jakarta.apache.org

Build Instructions:
   To compile
        ant compile
   To execute
        ant run

Author:
  Matt Seibert mseibert@us.ibm.com

Copyright:
  Copyright (c) 2002-2003 Apache Software Foundation.
</description>
==================================================================== -->

<project default="compile">

    <property name="axis.home" location="../.."/>
    <property name="componentName" value="samples/xbeans"/>
    &properties;
    &paths;
    &taskdefs;
    &taskdefs_post_compile;
    &targets;

    <target name="clean">
        <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}"/>
        <delete dir="${build.dir}/classes/${componentName}"/>
        <delete dir="${build.dir}/work/${componentName}"/>
    </target>

    <target name="copy" depends="setenv"/>

    <target name="compile" depends="copy" if="xmlbeans.present">
        <echo message="Compiling samples.xbeans"/>

        <taskdef name="xmlbean" 
              classname="org.apache.xmlbeans.impl.tool.XMLBean" 
              classpathref="classpath"/>

        <xmlbean
              schema="${axis.home}/samples/xbeans/starwars.xsd"
              classgendir="${build.dest}"
              failonerror="true"
              classpathref="classpath"/>

        <wsdl2java url="${axis.home}/samples/xbeans/starwars.wsdl"
            output="${axis.home}/build/work"
            serverSide="yes"
            testcase="no">
            <mapping namespace="http://superflaco.com/" package="samples.xbeans"/>
            <nsexclude namespace="http://superflaco.com/xbeans"/>
        </wsdl2java>

        <replace file="${build.dir}/work/${componentName}/deploy.wsdd"
            token="BeanSerializerFactory"
            value="xbeans.XmlBeanSerializerFactory">
        </replace>
        <replace file="${build.dir}/work/${componentName}/deploy.wsdd"
            token="BeanDeserializerFactory"
            value="xbeans.XmlBeanDeserializerFactory">
        </replace>
        <replace file="${build.dir}/work/${componentName}/StarWarsBindingStub.java"
            token="BeanSerializerFactory"
            value="xbeans.XmlBeanSerializerFactory">
        </replace>
        <replace file="${build.dir}/work/${componentName}/StarWarsBindingStub.java"
            token="BeanDeserializerFactory"
            value="xbeans.XmlBeanDeserializerFactory">
        </replace>
        
        <copy todir="${build.dir}/work/samples/xbeans" overwrite="yes">
            <fileset dir="${axis.home}/samples/xbeans">
                <include name="*Test*.java"/>
                <include name="*Impl.java"/>
            </fileset>
        </copy>

        <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="${debug}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}">
            <classpath refid="classpath"/>
            <include name="samples/xbeans/*.java"/>
            <exclude name="samples/xbeans/*TestCase*" unless="junit.present"/>
        </javac>
    </target>

    <target name="run">
        <antcall target="execute-Component"/>
    </target>

</project>
