<?xml version="1.0" encoding="UTF-8"?>
<!--
 !
 ! Copyright 2006 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.
 !-->

<project basedir="." default="clean">

	<property name="build.dir" value="build"/>
	<property name="service.repos.dir" value="${build.dir}/service_repositories"/>
	<property name="client.repos.dir" value="${build.dir}/client_repositories"/>
	<property name="temp.dir" value="${build.dir}/temp"/>
	<property name="keys.dir" value="../keys"/>
	<property name="temp.client.dir" value="${build.dir}/temp_client"/>
    <property name="endorsed.dir" value="${build.dir}/endorsed"/>
	
	<property name="client.port" value="8080"/>
	<property name="server.port" value="8080"/>
	
	<property name="sample.services.url" value="http://localhost:${client.port}/axis2/services"/>
	
    <property environment="env"/>
    
    <property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
    
    <property name="vmargs" value=""/>
    
    <path id="runtime.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
        <pathelement location="${env.AXIS2_HOME}/conf"/>
    </path>
    
	<target name="check.dependency" unless="env.AXIS2_HOME">
        <echo message="AXIS2_HOME must be set"/>
    </target>
	
	<!-- Sample Service 01 -->
	<target name="service.01" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="01"/>
	</target>

	<!-- Sample Client 01 -->
	<target name="client.01" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="01"/>
	</target>
	
	<!-- Sample Service 02 -->
	<target name="service.02" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="02"/>
	</target>

	<!-- Sample Client 02 -->
	<target name="client.02" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="02"/>
	</target>

	<!-- Sample Service 03 -->
	<target name="service.03" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="03"/>
	</target>

	<!-- Sample Client 01 -->
	<target name="client.03" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="03"/>
	</target>

	<!-- Sample Service 04 -->
	<target name="service.04" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="04"/>
	</target>

	<!-- Sample Client 04 -->
	<target name="client.04" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="04"/>
	</target>
	
	<!-- Sample Service 05 -->
	<target name="service.05" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="05"/>
	</target>

	<!-- Sample Client 05 -->
	<target name="client.05" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="05"/>
	</target>
	
	   <!-- Sample Service 06 -->
    <target name="service.06" if="env.AXIS2_HOME" depends="check.dependency">
        <create.trust.service.repo sample.number="06"/>
    </target>

    <!-- Sample Client 06 -->
    <target name="client.06" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="06"/>
    </target>

    <!-- Sample Service 07 -->
    <target name="service.07" if="env.AXIS2_HOME" depends="check.dependency">
        <create.trust.service.repo sample.number="07"/>
    </target>

    <!-- Sample Client 07 -->
    <target name="client.07" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="07"/>
    </target>

    <!-- Sample Service 08 -->
    <target name="service.08" if="env.AXIS2_HOME" depends="check.dependency">
        <create.service.repo sample.number="08"/>
    </target>

    <!-- Sample Client 08 -->
    <target name="client.08" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="08"/>
    </target>

    <!--Sample Service 09-->
    <target name="service.09" if="env.AXIS2_HOME" depends="check.dependency">
        <create.service.repo sample.number="09"/>
    </target>

    <!--Sample Client 09-->
    <target  name="client.09" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="09"/>
    </target>

    <target name="setup">
	<mkdir dir="${endorsed.dir}"/>
        <get src="http://repo2.maven.org/maven2/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"
             dest="${endorsed.dir}/xercesImpl-2.9.1.jar" verbose="true"/>
    </target>


	<target name="clean">
		<delete dir="${build.dir}" />
	</target>
	
	<!-- Macro to create a service repo for a given sample -->
	<macrodef name="create.service.repo">
	   	<attribute name="sample.number" default="sample"/>
	   	<sequential>
	   		
	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
	   		
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}"/>
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/services"/>
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/modules"/>
	   		
	   		<!-- copy modules -->
	   		<copy todir="${service.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		        <include name="rahas-*.mar"/>
	   		    </fileset>
	   		</copy>
	   		
	   		<!-- create service -->
	   		<mkdir dir="${temp.dir}"/>
	   		<mkdir dir="${temp.dir}/META-INF"/>
	   		
	   		<!-- Compile service -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
                    <classpath>
                            <fileset dir="${lib.dir}">
                                    <include name="**/*.jar"/>
                            </fileset>
                    </classpath>
                    <exclude name="**/Client.java"/>
            </javac>
	   		
            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true">
                <filterset>
                    <filter token="port" value="${server.port}"/>
                </filterset>
            </copy>
	   		<copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>

	   		<jar destfile="${service.repos.dir}/sample@{sample.number}/services/sample@{sample.number}.aar">
				<fileset dir="${temp.dir}"></fileset>
			</jar>
	   		
			<delete dir="${temp.dir}" />
	   		<!-- start SimpleHTTPserver -->
            <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
                    <arg value="${service.repos.dir}/sample@{sample.number}"/>
                    <arg value="-p${server.port}"/>
                    <classpath refid="runtime.classpath"/>
                    <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
            </java>

	   </sequential>
	</macrodef>
	
	   <!-- Macro to create a service repo for a given trust sample -->
    <macrodef name="create.trust.service.repo">
        <attribute name="sample.number" default="sample"/>
        <sequential>
            
            <property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
            
            <mkdir dir="${service.repos.dir}/sample@{sample.number}"/>
            <mkdir dir="${service.repos.dir}/sample@{sample.number}/services"/>
            <mkdir dir="${service.repos.dir}/sample@{sample.number}/modules"/>
            
            <!-- copy modules -->
	   		<copy todir="${service.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		        <include name="rahas-*.mar"/>
	   		    </fileset>
	   		</copy>
            
            <!-- create service -->
            <mkdir dir="${temp.dir}"/>
            <mkdir dir="${temp.dir}/META-INF"/>
            
            <!-- Compile service -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
                    <classpath>
                            <fileset dir="${lib.dir}">
                                    <include name="**/*.jar"/>
                            </fileset>
                    </classpath>
                    <exclude name="**/Client.java"/>
            </javac>
            
            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true">
                <filterset>
                    <filter token="port" value="${server.port}"/>
                </filterset>
            </copy>
            <copy file="sample@{sample.number}/mex_policy.xml" tofile="${temp.dir}/mex_policy.xml" overwrite="true">
                <filterset>
                    <filter token="port" value="${server.port}"/>
                </filterset>
            </copy>
            <copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
            <copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
            <copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>

            <jar destfile="${service.repos.dir}/sample@{sample.number}/services/sample@{sample.number}.aar">
                <fileset dir="${temp.dir}"></fileset>
            </jar>
            
            <delete dir="${temp.dir}" />
            <!-- start SimpleHTTPserver -->
            <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
                    <arg value="${service.repos.dir}/sample@{sample.number}"/>
                    <arg value="-p${server.port}"/>
                    <classpath refid="runtime.classpath"/>
                    <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
            </java>

       </sequential>
    </macrodef>

	<macrodef name="create.and.run.client">
	   	<attribute name="sample.number" default="sample"/>
	   	<sequential>
	   		
	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
	   		
	   		<!-- Create the client repo -->
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}"/>
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/conf"/>
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/modules"/>
	   		
	   		<!-- copy modules -->
	   		<copy todir="${client.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		    </fileset>
	   		</copy>
	   		
	   		<mkdir dir="${temp.client.dir}"/>
	   		
	   		<!-- Compile client -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.client.dir}">
                    <classpath>
	                    <fileset dir="${lib.dir}">
                            <include name="**/*.jar"/>
	                    </fileset>
                    </classpath>
                    <exclude name="**/SimpleService.java"/>
            </javac>

	   		<copy file="${keys.dir}/client.jks" tofile="${temp.client.dir}/client.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/client.properties" tofile="${temp.client.dir}/client.properties" overwrite="true"/>
            <copy todir="${temp.client.dir}" overwrite="true">
                <fileset dir="sample@{sample.number}">
                    <include name="*policy*.xml"/>
                </fileset>
                <filterset>
                    <filter token="port" value="${client.port}"/>
                </filterset>
            </copy>

	   		
	   		<!-- Run client -->
            <java classname="org.apache.rampart.samples.policy.sample@{sample.number}.Client" fork="true" failonerror="true">
                    <arg value="${sample.services.url}/sample@{sample.number}"/>
                    <arg value="${client.repos.dir}/sample@{sample.number}"/>
                    <arg value="${temp.client.dir}/policy.xml"/>
                    <classpath>
                        <path refid="runtime.classpath"/>
                  		<dirset dir="${temp.client.dir}" />
                    </classpath>
                    <jvmarg line="${vmargs}"/>
            </java>

<!--	   		<delete dir="${temp.client.dir}"/> -->
		</sequential>		
	</macrodef>

</project>
