summaryrefslogtreecommitdiff
path: root/Year_3/TSDWL/WSDL/FootballClient
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-01-19 22:51:57 +0100
committerSanto Cariotti <santo@dcariotti.me>2022-01-19 22:51:57 +0100
commitd62cdeb376fb5f0749ce637723a6cb305485aad8 (patch)
tree43a9adb1a32cdb4ee830061c684e636670c2d3d2 /Year_3/TSDWL/WSDL/FootballClient
parentee61d8b905abe0d541838bd0f0793e5086855bb9 (diff)
wsdl: add examples
Diffstat (limited to 'Year_3/TSDWL/WSDL/FootballClient')
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/build.xml71
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/catalog.xml4
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/ant-deploy.xml76
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/build-impl.xml1442
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/genfiles.properties8
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/jax-ws.xml38
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/jaxws-build.xml46
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/project.properties84
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/nbproject/project.xml23
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/src/conf/MANIFEST.MF2
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/src/conf/xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl1822
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumInfo.java87
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumList.java103
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/web/META-INF/context.xml2
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/web/WEB-INF/jax-ws-catalog.xml4
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/web/index.html16
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/web/list.jsp24
-rw-r--r--Year_3/TSDWL/WSDL/FootballClient/web/search.html22
18 files changed, 3874 insertions, 0 deletions
diff --git a/Year_3/TSDWL/WSDL/FootballClient/build.xml b/Year_3/TSDWL/WSDL/FootballClient/build.xml
new file mode 100644
index 0000000..d5b88b4
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/build.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
+<project name="FootballClient" default="default" basedir=".">
+ <description>Builds, tests, and runs the project FootballClient.</description>
+ <import file="nbproject/build-impl.xml"/>
+ <!--
+
+ There exist several targets which are by default empty and which can be
+ used for execution of your tasks. These targets are usually executed
+ before and after some main targets. They are:
+
+ -pre-init: called before initialization of project properties
+ -post-init: called after initialization of project properties
+ -pre-compile: called before javac compilation
+ -post-compile: called after javac compilation
+ -pre-compile-single: called before javac compilation of single file
+ -post-compile-single: called after javac compilation of single file
+ -pre-compile-test: called before javac compilation of JUnit tests
+ -post-compile-test: called after javac compilation of JUnit tests
+ -pre-compile-test-single: called before javac compilation of single JUnit test
+ -post-compile-test-single: called after javac compilation of single JUunit test
+ -pre-dist: called before archive building
+ -post-dist: called after archive building
+ -post-clean: called after cleaning build products
+ -pre-run-deploy: called before deploying
+ -post-run-deploy: called after deploying
+
+ Example of pluging an obfuscator after the compilation could look like
+
+ <target name="-post-compile">
+ <obfuscate>
+ <fileset dir="${build.classes.dir}"/>
+ </obfuscate>
+ </target>
+
+ For list of available properties check the imported
+ nbproject/build-impl.xml file.
+
+
+ Other way how to customize the build is by overriding existing main targets.
+ The target of interest are:
+
+ init-macrodef-javac: defines macro for javac compilation
+ init-macrodef-junit: defines macro for junit execution
+ init-macrodef-debug: defines macro for class debugging
+ do-dist: archive building
+ run: execution of project
+ javadoc-build: javadoc generation
+
+ Example of overriding the target for project execution could look like
+
+ <target name="run" depends="<PROJNAME>-impl.jar">
+ <exec dir="bin" executable="launcher.exe">
+ <arg file="${dist.jar}"/>
+ </exec>
+ </target>
+
+ Notice that overridden target depends on jar target and not only on
+ compile target as regular run target does. Again, for list of available
+ properties which you can use check the target you are overriding in
+ nbproject/build-impl.xml file.
+
+ -->
+</project>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/catalog.xml b/Year_3/TSDWL/WSDL/FootballClient/catalog.xml
new file mode 100644
index 0000000..3670a69
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/catalog.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
+ <system systemId="https://ws.footballpool.dataaccess.eu/info.wso?WSDL" uri="src/conf/xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl"/>
+</catalog> \ No newline at end of file
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/ant-deploy.xml b/Year_3/TSDWL/WSDL/FootballClient/nbproject/ant-deploy.xml
new file mode 100644
index 0000000..55566c8
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/ant-deploy.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License. When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+
+Contributor(s):
+-->
+<project default="-deploy-ant" basedir=".">
+ <target name="-init" if="deploy.ant.enabled">
+ <property file="${deploy.ant.properties.file}"/>
+ <tempfile property="temp.module.folder" prefix="tomcat" destdir="${java.io.tmpdir}"/>
+ <unwar src="${deploy.ant.archive}" dest="${temp.module.folder}">
+ <patternset includes="META-INF/context.xml"/>
+ </unwar>
+ <xmlproperty file="${temp.module.folder}/META-INF/context.xml"/>
+ <delete dir="${temp.module.folder}"/>
+ </target>
+ <target name="-check-credentials" if="deploy.ant.enabled" depends="-init">
+ <fail message="Tomcat password has to be passed as tomcat.password property.">
+ <condition>
+ <not>
+ <isset property="tomcat.password"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
+ <target name="-deploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
+ <echo message="Deploying ${deploy.ant.archive} to ${Context(path)}"/>
+ <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"
+ classpath="${tomcat.home}/server/lib/catalina-ant.jar"/>
+ <deploy url="${tomcat.url}/manager" username="${tomcat.username}"
+ password="${tomcat.password}" path="${Context(path)}"
+ war="${deploy.ant.archive}"/>
+ <property name="deploy.ant.client.url" value="${tomcat.url}${Context(path)}"/>
+ </target>
+ <target name="-undeploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
+ <echo message="Undeploying ${Context(path)}"/>
+ <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"
+ classpath="${tomcat.home}/server/lib/catalina-ant.jar"/>
+ <undeploy url="${tomcat.url}/manager" username="${tomcat.username}"
+ password="${tomcat.password}" path="${Context(path)}"/>
+ </target>
+</project>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/build-impl.xml b/Year_3/TSDWL/WSDL/FootballClient/nbproject/build-impl.xml
new file mode 100644
index 0000000..f20ac3d
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/build-impl.xml
@@ -0,0 +1,1442 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ *** GENERATED FROM project.xml - DO NOT EDIT ***
+ *** EDIT ../build.xml INSTEAD ***
+
+ For the purpose of easier reading the script
+ is divided into following sections:
+ - initialization
+ - compilation
+ - dist
+ - execution
+ - debugging
+ - javadoc
+ - test compilation
+ - test execution
+ - test debugging
+ - cleanup
+
+ -->
+<project xmlns:webproject1="http://www.netbeans.org/ns/web-project/1" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" basedir=".." default="default" name="FootballClient-impl">
+ <import file="jaxws-build.xml"/>
+ <import file="ant-deploy.xml"/>
+ <fail message="Please build using Ant 1.7.1 or higher.">
+ <condition>
+ <not>
+ <antversion atleast="1.7.1"/>
+ </not>
+ </condition>
+ </fail>
+ <target depends="dist,javadoc" description="Build whole project." name="default"/>
+ <!--
+ INITIALIZATION SECTION
+ -->
+ <target name="-pre-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init" name="-init-private">
+ <property file="nbproject/private/private.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private" name="-init-user">
+ <property file="${user.properties.file}"/>
+ <!-- The two properties below are usually overridden -->
+ <!-- by the active platform. Just a fallback. -->
+ <property name="default.javac.source" value="1.4"/>
+ <property name="default.javac.target" value="1.4"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+ <property file="nbproject/project.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+ <condition property="have.tests">
+ <or>
+ <available file="${test.src.dir}"/>
+ </or>
+ </condition>
+ <condition property="have.sources">
+ <or>
+ <available file="${src.dir}"/>
+ </or>
+ </condition>
+ <condition property="netbeans.home+have.tests">
+ <and>
+ <isset property="netbeans.home"/>
+ <isset property="have.tests"/>
+ </and>
+ </condition>
+ <condition property="no.javadoc.preview">
+ <isfalse value="${javadoc.preview}"/>
+ </condition>
+ <property name="javac.compilerargs" value=""/>
+ <condition property="no.deps">
+ <and>
+ <istrue value="${no.dependencies}"/>
+ </and>
+ </condition>
+ <condition property="no.dist.ear.dir">
+ <not>
+ <isset property="dist.ear.dir"/>
+ </not>
+ </condition>
+ <property name="build.web.excludes" value="${build.classes.excludes}"/>
+ <condition property="do.compile.jsps">
+ <istrue value="${compile.jsps}"/>
+ </condition>
+ <condition property="do.debug.server">
+ <or>
+ <not>
+ <isset property="debug.server"/>
+ </not>
+ <istrue value="${debug.server}"/>
+ <and>
+ <not>
+ <istrue value="${debug.server}"/>
+ </not>
+ <not>
+ <istrue value="${debug.client}"/>
+ </not>
+ </and>
+ </or>
+ </condition>
+ <condition property="do.debug.client">
+ <istrue value="${debug.client}"/>
+ </condition>
+ <condition property="do.display.browser">
+ <istrue value="${display.browser}"/>
+ </condition>
+ <condition property="do.display.browser.debug.old">
+ <and>
+ <isset property="do.display.browser"/>
+ <not>
+ <isset property="do.debug.client"/>
+ </not>
+ <not>
+ <isset property="browser.context"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="do.display.browser.debug">
+ <and>
+ <isset property="do.display.browser"/>
+ <not>
+ <isset property="do.debug.client"/>
+ </not>
+ <isset property="browser.context"/>
+ </and>
+ </condition>
+ <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
+ <available file="${persistence.xml.dir}/persistence.xml" property="has.persistence.xml"/>
+ <condition property="do.war.package.with.custom.manifest">
+ <isset property="has.custom.manifest"/>
+ </condition>
+ <condition property="do.war.package.without.custom.manifest">
+ <not>
+ <isset property="has.custom.manifest"/>
+ </not>
+ </condition>
+ <condition property="do.tmp.war.package.with.custom.manifest">
+ <and>
+ <isset property="has.custom.manifest"/>
+ <or>
+ <isfalse value="${directory.deployment.supported}"/>
+ <isset property="dist.ear.dir"/>
+ </or>
+ </and>
+ </condition>
+ <condition property="do.tmp.war.package.without.custom.manifest">
+ <and>
+ <not>
+ <isset property="has.custom.manifest"/>
+ </not>
+ <or>
+ <isfalse value="${directory.deployment.supported}"/>
+ <isset property="dist.ear.dir"/>
+ </or>
+ </and>
+ </condition>
+ <condition property="do.tmp.war.package">
+ <or>
+ <isfalse value="${directory.deployment.supported}"/>
+ <isset property="dist.ear.dir"/>
+ </or>
+ </condition>
+ <property name="build.meta.inf.dir" value="${build.web.dir}/META-INF"/>
+ <condition else="" property="application.args.param" value="${application.args}">
+ <and>
+ <isset property="application.args"/>
+ <not>
+ <equals arg1="${application.args}" arg2="" trim="true"/>
+ </not>
+ </and>
+ </condition>
+ <property name="source.encoding" value="${file.encoding}"/>
+ <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+ <and>
+ <isset property="javadoc.encoding"/>
+ <not>
+ <equals arg1="${javadoc.encoding}" arg2=""/>
+ </not>
+ </and>
+ </condition>
+ <property name="javadoc.encoding.used" value="${source.encoding}"/>
+ <property name="includes" value="**"/>
+ <property name="excludes" value=""/>
+ <property name="runmain.jvmargs" value=""/>
+ <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+ <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+ <and>
+ <isset property="endorsed.classpath"/>
+ <length length="0" string="${endorsed.classpath}" when="greater"/>
+ </and>
+ </condition>
+ <condition else="false" property="jdkBug6558476">
+ <and>
+ <matches pattern="1\.[56]" string="${java.specification.version}"/>
+ <not>
+ <os family="unix"/>
+ </not>
+ </and>
+ </condition>
+ <property name="javac.fork" value="${jdkBug6558476}"/>
+ <condition property="junit.available">
+ <or>
+ <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+ <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+ </or>
+ </condition>
+ <condition property="testng.available">
+ <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+ </condition>
+ <condition property="junit+testng.available">
+ <and>
+ <istrue value="${junit.available}"/>
+ <istrue value="${testng.available}"/>
+ </and>
+ </condition>
+ <condition else="testng" property="testng.mode" value="mixed">
+ <istrue value="${junit+testng.available}"/>
+ </condition>
+ <condition else="" property="testng.debug.mode" value="-mixed">
+ <istrue value="${junit+testng.available}"/>
+ </condition>
+ </target>
+ <target depends="init" name="-init-cos" unless="deploy.on.save">
+ <condition property="deploy.on.save" value="true">
+ <or>
+ <istrue value="${j2ee.deploy.on.save}"/>
+ <istrue value="${j2ee.compile.on.save}"/>
+ </or>
+ </condition>
+ </target>
+ <target name="-post-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+ <fail unless="src.dir">Must set src.dir</fail>
+ <fail unless="test.src.dir">Must set test.src.dir</fail>
+ <fail unless="build.dir">Must set build.dir</fail>
+ <fail unless="build.web.dir">Must set build.web.dir</fail>
+ <fail unless="build.generated.dir">Must set build.generated.dir</fail>
+ <fail unless="dist.dir">Must set dist.dir</fail>
+ <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+ <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+ <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+ <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+ <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+ <fail unless="dist.war">Must set dist.war</fail>
+ <condition property="missing.j2ee.server.home">
+ <and>
+ <matches pattern="j2ee.server.home" string="${j2ee.platform.classpath}"/>
+ <not>
+ <isset property="j2ee.server.home"/>
+ </not>
+ </and>
+ </condition>
+ <fail if="missing.j2ee.server.home">
+The Java EE server classpath is not correctly set up - server home directory is missing.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+ ant -Dj2ee.server.home=&lt;app_server_installation_directory&gt;
+ </fail>
+ <fail unless="j2ee.platform.classpath">
+The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+ ant -Duser.properties.file=&lt;path_to_property_file&gt; (where you put the property "j2ee.platform.classpath" in a .properties file)
+or ant -Dj2ee.platform.classpath=&lt;server_classpath&gt; (where no properties file is used)
+ </fail>
+ </target>
+ <target name="-init-macrodef-property">
+ <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute name="name"/>
+ <attribute name="value"/>
+ <sequential>
+ <property name="@{name}" value="${@{value}}"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
+ <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+ <attribute default="${javac.processorpath}" name="processorpath"/>
+ <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="${javac.debug}" name="debug"/>
+ <attribute default="${empty.dir}" name="gensrcdir"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <property location="${build.dir}/empty" name="empty.dir"/>
+ <mkdir dir="${empty.dir}"/>
+ <mkdir dir="@{apgeneratedsrcdir}"/>
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+ <src>
+ <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </src>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <compilerarg line="${javac.compilerargs}"/>
+ <compilerarg value="-processorpath"/>
+ <compilerarg path="@{processorpath}:${empty.dir}"/>
+ <compilerarg line="${ap.processors.internal}"/>
+ <compilerarg value="-s"/>
+ <compilerarg path="@{apgeneratedsrcdir}"/>
+ <compilerarg line="${ap.proc.none.internal}"/>
+ <customize/>
+ </javac>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
+ <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+ <attribute default="${javac.processorpath}" name="processorpath"/>
+ <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="${javac.debug}" name="debug"/>
+ <attribute default="${empty.dir}" name="gensrcdir"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <property location="${build.dir}/empty" name="empty.dir"/>
+ <mkdir dir="${empty.dir}"/>
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+ <src>
+ <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </src>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <compilerarg line="${javac.compilerargs}"/>
+ <customize/>
+ </javac>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
+ <macrodef name="depend" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+ <sequential>
+ <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </depend>
+ </sequential>
+ </macrodef>
+ <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <sequential>
+ <fail unless="javac.includes">Must set javac.includes</fail>
+ <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
+ <path>
+ <filelist dir="@{destdir}" files="${javac.includes}"/>
+ </path>
+ <globmapper from="*.java" to="*.class"/>
+ </pathconvert>
+ <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
+ <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
+ <delete>
+ <files includesfile="${javac.includesfile.binary}"/>
+ </delete>
+ <delete file="${javac.includesfile.binary}"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target if="${junit.available}" name="-init-macrodef-junit-init">
+ <condition else="false" property="nb.junit.batch" value="true">
+ <and>
+ <istrue value="${junit.available}"/>
+ <not>
+ <isset property="test.method"/>
+ </not>
+ </and>
+ </condition>
+ <condition else="false" property="nb.junit.single" value="true">
+ <and>
+ <istrue value="${junit.available}"/>
+ <isset property="test.method"/>
+ </and>
+ </condition>
+ </target>
+ <target name="-init-test-properties">
+ <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
+ <property name="test.binarytestincludes" value=""/>
+ <property name="test.binaryexcludes" value=""/>
+ </target>
+ <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
+ <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+ <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg value="-ea"/>
+ <customize/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+ <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <property name="run.jvmargs.ide" value=""/>
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+ <batchtest todir="${build.test.results.dir}">
+ <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+ <filename name="@{testincludes}"/>
+ </fileset>
+ <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+ <filename name="${test.binarytestincludes}"/>
+ </fileset>
+ </batchtest>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg value="-ea"/>
+ <jvmarg line="${run.jvmargs.ide}"/>
+ <customize/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+ <target if="${testng.available}" name="-init-macrodef-testng">
+ <macrodef name="testng" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+ <isset property="test.method"/>
+ </condition>
+ <union id="test.set">
+ <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+ <filename name="@{testincludes}"/>
+ </fileset>
+ </union>
+ <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+ <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="FootballClient" testname="TestNG tests" workingDir="${basedir}">
+ <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+ <propertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </propertyset>
+ <customize/>
+ </testng>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-test-impl">
+ <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element implicit="true" name="customize" optional="true"/>
+ <sequential>
+ <echo>No tests executed.</echo>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+ <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element implicit="true" name="customize" optional="true"/>
+ <sequential>
+ <webproject2:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+ <customize/>
+ </webproject2:junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+ <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element implicit="true" name="customize" optional="true"/>
+ <sequential>
+ <webproject2:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+ <customize/>
+ </webproject2:testng>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+ <macrodef name="test" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <sequential>
+ <webproject2:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+ <customize>
+ <classpath>
+ <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+ </classpath>
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${runmain.jvmargs}"/>
+ </customize>
+ </webproject2:test-impl>
+ </sequential>
+ </macrodef>
+ </target>
+ <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
+ <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+ <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg value="-ea"/>
+ <jvmarg line="${debug-args-line}"/>
+ <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+ <customize/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
+ <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <property name="run.jvmargs.ide" value=""/>
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+ <batchtest todir="${build.test.results.dir}">
+ <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+ <filename name="@{testincludes}"/>
+ </fileset>
+ <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+ <filename name="${test.binarytestincludes}"/>
+ </fileset>
+ </batchtest>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg value="-ea"/>
+ <jvmarg line="${run.jvmargs.ide}"/>
+ <jvmarg line="${debug-args-line}"/>
+ <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+ <customize/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+ <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <element implicit="true" name="customize" optional="true"/>
+ <sequential>
+ <webproject2:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+ <customize/>
+ </webproject2:junit-debug>
+ </sequential>
+ </macrodef>
+ </target>
+ <target if="${testng.available}" name="-init-macrodef-testng-debug">
+ <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${main.class}" name="testClass"/>
+ <attribute default="" name="testMethod"/>
+ <element name="customize2" optional="true"/>
+ <sequential>
+ <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+ <isset property="test.method"/>
+ </condition>
+ <condition else="-suitename FootballClient -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+ <matches pattern=".*\.xml" string="@{testClass}"/>
+ </condition>
+ <delete dir="${build.test.results.dir}" quiet="true"/>
+ <mkdir dir="${build.test.results.dir}"/>
+ <webproject1:debug args="${testng.cmd.args}" classname="org.testng.TestNG" classpath="${debug.test.classpath}:${j2ee.platform.embeddableejb.classpath}">
+ <customize>
+ <customize2/>
+ <jvmarg value="-ea"/>
+ <arg line="${testng.debug.mode}"/>
+ <arg line="-d ${build.test.results.dir}"/>
+ <arg line="-listener org.testng.reporters.VerboseReporter"/>
+ </customize>
+ </webproject1:debug>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+ <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${main.class}" name="testClass"/>
+ <attribute default="" name="testMethod"/>
+ <element implicit="true" name="customize2" optional="true"/>
+ <sequential>
+ <webproject2:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
+ <customize2/>
+ </webproject2:testng-debug>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+ <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <attribute default="${main.class}" name="testClass"/>
+ <attribute default="" name="testMethod"/>
+ <sequential>
+ <webproject2:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+ <customize>
+ <classpath>
+ <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+ </classpath>
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${runmain.jvmargs}"/>
+ </customize>
+ </webproject2:test-debug-impl>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+ <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <attribute default="" name="testmethods"/>
+ <attribute default="${main.class}" name="testClass"/>
+ <attribute default="" name="testMethod"/>
+ <sequential>
+ <webproject2:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
+ <customize2>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ </customize2>
+ </webproject2:testng-debug-impl>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+ <target name="-init-macrodef-java">
+ <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute default="${main.class}" name="classname"/>
+ <attribute default="${debug.classpath}" name="classpath"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${runmain.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}:${j2ee.platform.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-nbjsdebug">
+ <macrodef name="nbjsdebugstart" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute default="${client.url}" name="webUrl"/>
+ <sequential>
+ <nbjsdebugstart urlPart="${client.urlPart}" webUrl="@{webUrl}"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+ <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute default="${main.class}" name="name"/>
+ <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+ <sequential>
+ <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </nbjpdastart>
+ </sequential>
+ </macrodef>
+ <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute default="${build.classes.dir}" name="dir"/>
+ <sequential>
+ <nbjpdareload>
+ <fileset dir="@{dir}" includes="${fix.classes}">
+ <include name="${fix.includes}*.class"/>
+ </fileset>
+ </nbjpdareload>
+ </sequential>
+ </macrodef>
+ <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1">
+ <sequential>
+ <nbjpdaappreloaded/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-debug-args">
+ <property name="version-output" value="java version &quot;${ant.java.version}"/>
+ <condition property="have-jdk-older-than-1.4">
+ <or>
+ <contains string="${version-output}" substring="java version &quot;1.0"/>
+ <contains string="${version-output}" substring="java version &quot;1.1"/>
+ <contains string="${version-output}" substring="java version &quot;1.2"/>
+ <contains string="${version-output}" substring="java version &quot;1.3"/>
+ </or>
+ </condition>
+ <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+ <istrue value="${have-jdk-older-than-1.4}"/>
+ </condition>
+ <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+ <os family="windows"/>
+ </condition>
+ <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+ <isset property="debug.transport"/>
+ </condition>
+ </target>
+ <target depends="-init-debug-args" name="-init-macrodef-debug">
+ <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
+ <attribute default="${main.class}" name="classname"/>
+ <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+ <attribute default="${application.args.param}" name="args"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${debug-args-line}"/>
+ <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+ <jvmarg line="${runmain.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <arg line="@{args}"/>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-taskdefs">
+ <fail unless="libs.CopyLibs.classpath">
+The libs.CopyLibs.classpath property is not set up.
+This property must point to
+org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
+of NetBeans IDE installation and is usually located at
+&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
+Either open the project in the IDE and make sure CopyLibs library
+exists or setup the property manually. For example like this:
+ ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
+ </fail>
+ <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
+ </target>
+ <target name="-init-ap-cmdline-properties">
+ <property name="annotation.processing.enabled" value="true"/>
+ <property name="annotation.processing.processors.list" value=""/>
+ <property name="annotation.processing.run.all.processors" value="true"/>
+ <property name="javac.processorpath" value="${javac.classpath}"/>
+ <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
+ <condition property="ap.supported.internal" value="true">
+ <not>
+ <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
+ </not>
+ </condition>
+ </target>
+ <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
+ <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
+ <isfalse value="${annotation.processing.run.all.processors}"/>
+ </condition>
+ <condition else="" property="ap.proc.none.internal" value="-proc:none">
+ <isfalse value="${annotation.processing.enabled}"/>
+ </condition>
+ </target>
+ <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
+ <property name="ap.cmd.line.internal" value=""/>
+ </target>
+ <!--
+ pre NB7.2 profiling section; consider it deprecated
+ -->
+ <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+ <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-profile-pre-init, init, -profile-post-init" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+ <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+ <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+ </target>
+ <!--
+ end of pre NB7.2 profiling section
+ -->
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-nbjsdebug,-init-macrodef-debug,-init-taskdefs,-init-ap-cmdline" name="init"/>
+ <!--
+ COMPILATION SECTION
+ -->
+ <target depends="init" if="no.dist.ear.dir" name="deps-module-jar" unless="no.deps"/>
+ <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps"/>
+ <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
+ <target depends="init,deps-jar,wsimport-client-generate" name="-pre-pre-compile">
+ <mkdir dir="${build.classes.dir}"/>
+ </target>
+ <target name="-pre-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-copy-webdir">
+ <copy todir="${build.web.dir}">
+ <fileset dir="${web.docbase.dir}" excludes="${build.web.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ <copy todir="${build.web.dir}/WEB-INF">
+ <fileset dir="${webinf.dir}" excludes="${build.web.excludes}"/>
+ </copy>
+ </target>
+ <target depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources" name="-do-compile">
+ <webproject2:javac destdir="${build.classes.dir}" gensrcdir="${build.generated.sources.dir}"/>
+ <copy todir="${build.classes.dir}">
+ <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target if="has.custom.manifest" name="-copy-manifest">
+ <mkdir dir="${build.meta.inf.dir}"/>
+ <copy todir="${build.meta.inf.dir}">
+ <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
+ </copy>
+ </target>
+ <target if="has.persistence.xml" name="-copy-persistence-xml">
+ <mkdir dir="${build.web.dir}/WEB-INF/classes/META-INF"/>
+ <copy todir="${build.web.dir}/WEB-INF/classes/META-INF">
+ <fileset dir="${persistence.xml.dir}" includes="persistence.xml orm.xml"/>
+ </copy>
+ </target>
+ <target name="-post-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+ <target name="-pre-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <webproject2:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}"/>
+ <copy todir="${build.classes.dir}">
+ <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+ <property name="jspc.schemas" value="/resources/schemas/"/>
+ <property name="jspc.dtds" value="/resources/dtds/"/>
+ <target depends="compile" description="Test compile JSP pages to expose compilation errors." if="do.compile.jsps" name="compile-jsps">
+ <mkdir dir="${build.generated.dir}/src"/>
+ <java classname="org.netbeans.modules.web.project.ant.JspC" failonerror="true" fork="true">
+ <arg value="-uriroot"/>
+ <arg file="${basedir}/${build.web.dir}"/>
+ <arg value="-d"/>
+ <arg file="${basedir}/${build.generated.dir}/src"/>
+ <arg value="-die1"/>
+ <arg value="-schemas ${jspc.schemas}"/>
+ <arg value="-dtds ${jspc.dtds}"/>
+ <arg value="-compilerSourceVM ${javac.source}"/>
+ <arg value="-compilerTargetVM ${javac.target}"/>
+ <arg value="-javaEncoding ${source.encoding}"/>
+ <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+ <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+ </java>
+ <mkdir dir="${build.generated.dir}/classes"/>
+ <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src"/>
+ </target>
+ <target depends="compile" if="jsp.includes" name="-do-compile-single-jsp">
+ <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
+ <mkdir dir="${build.generated.dir}/src"/>
+ <java classname="org.netbeans.modules.web.project.ant.JspCSingle" failonerror="true" fork="true">
+ <arg value="-uriroot"/>
+ <arg file="${basedir}/${build.web.dir}"/>
+ <arg value="-d"/>
+ <arg file="${basedir}/${build.generated.dir}/src"/>
+ <arg value="-die1"/>
+ <arg value="-schemas ${jspc.schemas}"/>
+ <arg value="-dtds ${jspc.dtds}"/>
+ <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+ <arg value="-jspc.files"/>
+ <arg path="${jsp.includes}"/>
+ <arg value="-compilerSourceVM ${javac.source}"/>
+ <arg value="-compilerTargetVM ${javac.target}"/>
+ <arg value="-javaEncoding ${source.encoding}"/>
+ <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+ </java>
+ <mkdir dir="${build.generated.dir}/classes"/>
+ <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src">
+ <customize>
+ <patternset includes="${javac.jsp.includes}"/>
+ </customize>
+ </webproject2:javac>
+ </target>
+ <target name="compile-single-jsp">
+ <fail unless="jsp.includes">Must select a file in the IDE or set jsp.includes</fail>
+ <antcall target="-do-compile-single-jsp"/>
+ </target>
+ <!--
+ DIST BUILDING SECTION
+ -->
+ <target name="-pre-dist">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.without.custom.manifest" name="-do-dist-without-manifest">
+ <dirname file="${dist.war}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ <jar compress="${jar.compress}" jarfile="${dist.war}">
+ <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+ </jar>
+ </target>
+ <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.with.custom.manifest" name="-do-dist-with-manifest">
+ <dirname file="${dist.war}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+ <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+ </jar>
+ </target>
+ <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.without.custom.manifest" name="-do-tmp-dist-without-manifest">
+ <dirname file="${dist.war}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ <jar compress="${jar.compress}" jarfile="${dist.war}">
+ <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+ </jar>
+ </target>
+ <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.with.custom.manifest" name="-do-tmp-dist-with-manifest">
+ <dirname file="${dist.war}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+ <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+ </jar>
+ </target>
+ <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
+ <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
+ <mkdir dir="${build.web.dir}/META-INF"/>
+ <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
+ </target>
+ <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir"/>
+ <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
+ <delete dir="${build.web.dir}/WEB-INF/lib"/>
+ </target>
+ <target depends="init,-clean-webinf-lib,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" if="do.tmp.war.package" name="do-ear-dist">
+ <dirname file="${dist.ear.war}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ <jar compress="${jar.compress}" jarfile="${dist.ear.war}" manifest="${build.web.dir}/META-INF/MANIFEST.MF">
+ <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+ </jar>
+ </target>
+ <target name="-post-dist">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>
+ <target depends="init,-clean-webinf-lib,-init-cos,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR." name="dist-ear"/>
+ <!--
+ EXECUTION SECTION
+ -->
+ <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
+ <target name="-pre-run-deploy">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-post-run-deploy">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target name="-pre-nbmodule-run-deploy">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
+ </target>
+ <target name="-post-nbmodule-run-deploy">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
+ </target>
+ <target name="-run-deploy-am">
+ <!-- Task to deploy to the Access Manager runtime. -->
+ </target>
+ <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest,-pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,-post-run-deploy,-do-update-breakpoints" name="run-deploy"/>
+ <target if="netbeans.home" name="-run-deploy-nb">
+ <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
+ </target>
+ <target name="-init-deploy-ant" unless="netbeans.home">
+ <property name="deploy.ant.archive" value="${dist.war}"/>
+ <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
+ <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
+ <property name="deploy.ant.enabled" value="true"/>
+ </target>
+ <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
+ <target if="netbeans.home" name="-run-undeploy-nb">
+ <fail message="Undeploy is not supported from within the IDE"/>
+ </target>
+ <target depends="init,-pre-dist,dist,-post-dist" name="verify">
+ <nbverify file="${dist.war}"/>
+ </target>
+ <target depends="run-deploy,-init-display-browser,-display-browser-nb-old,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
+ <target if="do.display.browser" name="-init-display-browser">
+ <condition property="do.display.browser.nb.old">
+ <and>
+ <isset property="netbeans.home"/>
+ <not>
+ <isset property="browser.context"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="do.display.browser.nb">
+ <and>
+ <isset property="netbeans.home"/>
+ <isset property="browser.context"/>
+ </and>
+ </condition>
+ <condition property="do.display.browser.cl">
+ <isset property="deploy.ant.enabled"/>
+ </condition>
+ </target>
+ <target if="do.display.browser.nb.old" name="-display-browser-nb-old">
+ <nbbrowse url="${client.url}"/>
+ </target>
+ <target if="do.display.browser.nb" name="-display-browser-nb">
+ <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+ </target>
+ <target if="do.display.browser.cl" name="-get-browser" unless="browser">
+ <condition property="browser" value="rundll32">
+ <os family="windows"/>
+ </condition>
+ <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
+ <os family="windows"/>
+ </condition>
+ <condition property="browser" value="/usr/bin/open">
+ <os family="mac"/>
+ </condition>
+ <property environment="env"/>
+ <condition property="browser" value="${env.BROWSER}">
+ <isset property="env.BROWSER"/>
+ </condition>
+ <condition property="browser" value="/usr/bin/firefox">
+ <available file="/usr/bin/firefox"/>
+ </condition>
+ <condition property="browser" value="/usr/local/firefox/firefox">
+ <available file="/usr/local/firefox/firefox"/>
+ </condition>
+ <condition property="browser" value="/usr/bin/mozilla">
+ <available file="/usr/bin/mozilla"/>
+ </condition>
+ <condition property="browser" value="/usr/local/mozilla/mozilla">
+ <available file="/usr/local/mozilla/mozilla"/>
+ </condition>
+ <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
+ <available file="/usr/sfw/lib/firefox/firefox"/>
+ </condition>
+ <condition property="browser" value="/opt/csw/bin/firefox">
+ <available file="/opt/csw/bin/firefox"/>
+ </condition>
+ <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
+ <available file="/usr/sfw/lib/mozilla/mozilla"/>
+ </condition>
+ <condition property="browser" value="/opt/csw/bin/mozilla">
+ <available file="/opt/csw/bin/mozilla"/>
+ </condition>
+ </target>
+ <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
+ <fail unless="browser">
+ Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
+ </fail>
+ <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
+ <echo>Launching ${browse.url}</echo>
+ <exec executable="${browser}" spawn="true">
+ <arg line="${browser.args} ${browse.url}"/>
+ </exec>
+ </target>
+ <target depends="init,-init-cos,compile-single" name="run-main">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <webproject1:java classname="${run.class}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single" name="run-test-with-main">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <webproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+ </target>
+ <target depends="init" if="netbeans.home" name="-do-update-breakpoints">
+ <webproject1:nbjpdaappreloaded/>
+ </target>
+ <!--
+ DEBUGGING SECTION
+ -->
+ <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" description="Debug project in IDE." if="netbeans.home" name="debug">
+ <nbstartserver debugmode="true"/>
+ <antcall target="connect-debugger"/>
+ <nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="true"/>
+ <antcall target="debug-display-browser-old"/>
+ <antcall target="debug-display-browser"/>
+ <antcall target="connect-client-debugger"/>
+ </target>
+ <target if="do.debug.server" name="connect-debugger" unless="is.debugged">
+ <condition property="listeningcp" value="sourcepath">
+ <istrue value="${j2ee.compile.on.save}"/>
+ </condition>
+ <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" listeningcp="${listeningcp}" name="${name}" transport="${jpda.transport}">
+ <classpath>
+ <path path="${debug.classpath}:${j2ee.platform.classpath}"/>
+ </classpath>
+ <sourcepath>
+ <path path="${web.docbase.dir}"/>
+ </sourcepath>
+ </nbjpdaconnect>
+ </target>
+ <target if="do.display.browser.debug.old" name="debug-display-browser-old">
+ <nbbrowse url="${client.url}"/>
+ </target>
+ <target if="do.display.browser.debug" name="debug-display-browser">
+ <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+ </target>
+ <target if="do.debug.client" name="connect-client-debugger">
+ <webproject1:nbjsdebugstart webUrl="${client.url}"/>
+ </target>
+ <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <webproject1:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+ </target>
+ <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+ <target depends="init,compile,compile-jsps,-do-compile-single-jsp,debug" if="netbeans.home" name="debug-single"/>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+ <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+ </target>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+ <webproject1:nbjpdastart name="${debug.class}"/>
+ </target>
+ <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <webproject1:debug classname="${debug.class}"/>
+ </target>
+ <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/>
+ <target depends="init" name="-pre-debug-fix">
+ <fail unless="fix.includes">Must set fix.includes</fail>
+ <property name="javac.includes" value="${fix.includes}.java"/>
+ </target>
+ <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+ <webproject1:nbjpdareload/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+ <!--
+ =================
+ PROFILING SECTION
+ =================
+ -->
+ <!--
+ pre NB7.2 profiling section; consider it deprecated
+ -->
+ <target description="Profile a J2EE project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+ <condition else="start-profiled-server" property="profiler.startserver.target" value="start-profiled-server-extraargs">
+ <isset property="profiler.info.jvmargs.extra"/>
+ </condition>
+ <antcall target="${profiler.startserver.target}"/>
+ <antcall target="run"/>
+ <antcall target="-profile-start-loadgen"/>
+ </target>
+ <target if="profiler.info.jvmargs.agent" name="start-profiled-server">
+ <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+ <jvmarg value="${profiler.info.jvmargs.agent}"/>
+ <jvmarg value="${profiler.j2ee.agentID}"/>
+ </nbstartprofiledserver>
+ </target>
+ <target if="profiler.info.jvmargs.agent" name="start-profiled-server-extraargs">
+ <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+ <jvmarg value="${profiler.info.jvmargs.extra}"/>
+ <jvmarg value="${profiler.info.jvmargs.agent}"/>
+ <jvmarg value="${profiler.j2ee.agentID}"/>
+ </nbstartprofiledserver>
+ </target>
+ <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+ <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+ <nbprofiledirect>
+ <classpath>
+ <path path="${run.test.classpath}"/>
+ <path path="${j2ee.platform.classpath}"/>
+ </classpath>
+ </nbprofiledirect>
+ <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+ <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+ <jvmarg value="${profiler.info.jvmargs.agent}"/>
+ <jvmarg line="${profiler.info.jvmargs}"/>
+ <test name="${profile.class}"/>
+ <classpath>
+ <path path="${run.test.classpath}"/>
+ <path path="${j2ee.platform.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ </junit>
+ </target>
+ <target if="netbeans.home" name="-profile-check">
+ <condition property="profiler.configured">
+ <or>
+ <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+ <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+ </or>
+ </condition>
+ </target>
+ <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" name="-do-profile">
+ <startprofiler/>
+ <nbstartserver profilemode="true"/>
+ <nbdeploy clientUrlPart="${client.urlPart}" forceRedeploy="true" profilemode="true"/>
+ <antcall target="debug-display-browser-old"/>
+ <antcall target="debug-display-browser"/>
+ <antcall target="-profile-start-loadgen"/>
+ </target>
+ <target depends="-profile-check,-profile-pre72" description="Profile a J2EE project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+ <antcall target="-do-profile"/>
+ </target>
+ <target depends="-profile-test-single-pre72" name="profile-test-single"/>
+ <target depends="-profile-check" if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs.agent">
+ <startprofiler/>
+ <antcall target="test-single"/>
+ </target>
+ <target if="profiler.loadgen.path" name="-profile-start-loadgen">
+ <loadgenstart path="${profiler.loadgen.path}"/>
+ </target>
+ <!--
+ JAVADOC SECTION
+ -->
+ <target depends="init" if="have.sources" name="javadoc-build">
+ <mkdir dir="${dist.javadoc.dir}"/>
+ <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+ <classpath>
+ <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
+ </classpath>
+ <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+ <filename name="**/*.java"/>
+ </fileset>
+ <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ </fileset>
+ </javadoc>
+ <copy todir="${dist.javadoc.dir}">
+ <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+ <filename name="**/doc-files/**"/>
+ </fileset>
+ <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="**/doc-files/**"/>
+ </fileset>
+ </copy>
+ </target>
+ <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview">
+ <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+ </target>
+ <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/>
+ <!--
+
+ TEST COMPILATION SECTION
+ -->
+ <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+ <mkdir dir="${build.test.classes.dir}"/>
+ <property name="j2ee.platform.embeddableejb.classpath" value=""/>
+ </target>
+ <target name="-pre-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test">
+ <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+ <copy todir="${build.test.classes.dir}">
+ <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+ <target name="-pre-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" srcdir="${test.src.dir}"/>
+ <copy todir="${build.test.classes.dir}">
+ <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+ <!--
+
+ TEST EXECUTION SECTION
+ -->
+ <target depends="init" if="have.tests" name="-pre-test-run">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+ <webproject2:test includes="${includes}" testincludes="**/*Test.java"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init" if="have.tests" name="test-report"/>
+ <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+ <target depends="init" if="have.tests" name="-pre-test-run-single">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+ <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+ <webproject2:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+ <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+ <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+ <webproject2:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
+ <!--
+
+ TEST DEBUGGING SECTION
+ -->
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
+ <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+ <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+ <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+ <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+ <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
+ </target>
+ <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+ <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+ </target>
+ <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+ <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
+ <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+ <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+ <!--
+
+ CLEANUP SECTION
+ -->
+ <target depends="init" name="deps-clean" unless="no.deps"/>
+ <target depends="init" name="do-clean">
+ <condition property="build.dir.to.clean" value="${build.web.dir}">
+ <isset property="dist.ear.dir"/>
+ </condition>
+ <property name="build.dir.to.clean" value="${build.web.dir}"/>
+ <delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
+ </delete>
+ <delete dir="${build.dir}"/>
+ <available file="${build.dir.to.clean}/WEB-INF/lib" property="status.clean-failed" type="dir"/>
+ <delete dir="${dist.dir}"/>
+ </target>
+ <target depends="do-clean" if="status.clean-failed" name="check-clean">
+ <echo message="Warning: unable to delete some files in ${build.web.dir}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
+ <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
+ </target>
+ <target depends="init" if="netbeans.home" name="undeploy-clean">
+ <nbundeploy failOnError="false" startServer="false"/>
+ </target>
+ <target name="-post-clean">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,undeploy-clean,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products." name="clean"/>
+ <target depends="clean" description="Clean build products." name="clean-ear"/>
+</project>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/genfiles.properties b/Year_3/TSDWL/WSDL/FootballClient/nbproject/genfiles.properties
new file mode 100644
index 0000000..31d747b
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=aaea0a1d
+build.xml.script.CRC32=c8a5d28b
+build.xml.stylesheet.CRC32=651128d4@1.77.1.1
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=aaea0a1d
+nbproject/build-impl.xml.script.CRC32=67c6fda6
+nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.77.1.1
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/jax-ws.xml b/Year_3/TSDWL/WSDL/FootballClient/nbproject/jax-ws.xml
new file mode 100644
index 0000000..8248530
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/jax-ws.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jax-ws xmlns="http://www.netbeans.org/ns/jax-ws/1">
+ <services/>
+ <clients>
+ <client name="info">
+ <wsdl-url>https://ws.footballpool.dataaccess.eu/info.wso?WSDL</wsdl-url>
+ <local-wsdl-file>ws.footballpool.dataaccess.eu/info.wso.wsdl</local-wsdl-file>
+ <package-name>eu.dataaccess.footballpool</package-name>
+ <catalog-file>catalog.xml</catalog-file>
+ <wsimport-options>
+ <wsimport-option>
+ <wsimport-option-name>extension</wsimport-option-name>
+ <wsimport-option-value>true</wsimport-option-value>
+ </wsimport-option>
+ <wsimport-option>
+ <wsimport-option-name>verbose</wsimport-option-name>
+ <wsimport-option-value>true</wsimport-option-value>
+ </wsimport-option>
+ <wsimport-option>
+ <wsimport-option-name>fork</wsimport-option-name>
+ <wsimport-option-value>false</wsimport-option-value>
+ </wsimport-option>
+ <wsimport-option>
+ <wsimport-option-name>wsdlLocation</wsimport-option-name>
+ <wsimport-option-value>https://ws.footballpool.dataaccess.eu/info.wso?WSDL</wsimport-option-value>
+ </wsimport-option>
+ <wsimport-option>
+ <wsimport-option-name>xnocompile</wsimport-option-name>
+ <wsimport-option-value>true</wsimport-option-value>
+ </wsimport-option>
+ <wsimport-option>
+ <wsimport-option-name>xendorsed</wsimport-option-name>
+ <wsimport-option-value>true</wsimport-option-value>
+ </wsimport-option>
+ </wsimport-options>
+ </client>
+ </clients>
+</jax-ws>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/jaxws-build.xml b/Year_3/TSDWL/WSDL/FootballClient/nbproject/jaxws-build.xml
new file mode 100644
index 0000000..9bd9d81
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/jaxws-build.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ *** GENERATED FROM jax-ws.xml - DO NOT EDIT ! ***
+ *** TO MODIFY wsimport options USE Web Service node -> Edit WS Attributes ***
+ *** TO CHANGE TARGETS GENERATED TO jaxws-build.xml COPY THOSE ***
+ *** TARGETS TO ../build.xml AND MODIFY THAT FILE INSTEAD ***
+
+ --><project xmlns:xalan="http://xml.apache.org/xslt" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1">
+ <!--
+ ===================
+ JAX-WS WSGEN SECTION
+ ===================
+ -->
+ <!--
+ ===================
+ JAX-WS WSIMPORT SECTION
+ ===================
+ -->
+ <target name="wsimport-init" depends="init">
+ <fail if="${wsimport.bad.version}" message="WsImport ant task defined in the classpath ${j2ee.platform.wsimport.classpath} has a serious bug. See http://wiki.netbeans.org/MetroIssue for details."/>
+ <mkdir dir="${build.generated.sources.dir}/jax-ws"/>
+ <property name="j2ee.platform.wsimport.classpath" value="${libs.jaxws21.classpath}"/>
+ <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
+ <classpath path="${java.home}/../lib/tools.jar:${j2ee.platform.wsimport.classpath}:${javac.classpath}"/>
+ </taskdef>
+ <condition property="conf-dir" value="${conf.dir}/" else="">
+ <isset property="conf.dir"/>
+ </condition>
+ </target>
+ <target name="wsimport-client-info" depends="wsimport-init">
+ <mkdir dir="${build.generated.dir}/jax-wsCache/info"/>
+ <wsimport sourcedestdir="${build.generated.dir}/jax-wsCache/info" destdir="${build.generated.dir}/jax-wsCache/info" wsdl="${basedir}/${conf-dir}xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl" catalog="catalog.xml" encoding="${source.encoding}" extension="true" verbose="true" fork="false" wsdlLocation="https://ws.footballpool.dataaccess.eu/info.wso?WSDL" xnocompile="true" xendorsed="true">
+ <depends file="${basedir}/${conf-dir}xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl"/>
+ <produces dir="${build.generated.dir}/jax-wsCache/info"/>
+ </wsimport>
+ <copy todir="${build.generated.sources.dir}/jax-ws">
+ <fileset dir="${build.generated.dir}/jax-wsCache/info">
+ <include name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+ <target name="wsimport-client-clean-info" depends="-init-project">
+ <delete dir="${build.generated.sources.dir}/jax-ws/eu/dataaccess/footballpool"/>
+ <delete dir="${build.generated.dir}/jax-wsCache/info"/>
+ </target>
+ <target name="wsimport-client-generate" depends="wsimport-client-info"/>
+</project>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.properties b/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.properties
new file mode 100644
index 0000000..b8637ec
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.properties
@@ -0,0 +1,84 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=true
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+build.classes.dir=${build.web.dir}/WEB-INF/classes
+build.classes.excludes=**/*.java,**/*.form
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+build.web.dir=${build.dir}/web
+build.web.excludes=${build.classes.excludes}
+client.urlPart=
+compile.jsps=false
+conf.dir=${source.root}/conf
+debug.classpath=${build.classes.dir}:${javac.classpath}
+debug.test.classpath=\
+ ${run.test.classpath}
+display.browser=true
+# Files to be excluded from distribution war
+dist.archive.excludes=
+dist.dir=dist
+dist.ear.war=${dist.dir}/${war.ear.name}
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.war=${dist.dir}/${war.name}
+endorsed.classpath=\
+ ${libs.javaee-endorsed-api-7.0.classpath}
+excludes=
+includes=**
+j2ee.compile.on.save=true
+j2ee.copy.static.files.on.save=true
+j2ee.deploy.on.save=true
+j2ee.platform=1.7-web
+j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-4.4.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
+j2ee.server.type=Tomcat
+jar.compress=false
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.debug=true
+javac.deprecation=false
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=1.8
+javac.target=1.8
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+javac.test.processorpath=\
+ ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.preview=true
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+lib.dir=${web.docbase.dir}/WEB-INF/lib
+no.dependencies=false
+persistence.xml.dir=${conf.dir}
+platform.active=default_platform
+resource.dir=setup
+run.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+# Space-separated list of JVM arguments used when running a class with a main method or a unit test
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
+runmain.jvmargs=
+source.encoding=UTF-8
+source.root=src
+src.dir=${source.root}/java
+test.src.dir=test
+war.content.additional=
+war.ear.name=${war.name}
+war.name=FootballClient.war
+web.docbase.dir=web
+webinf.dir=web/WEB-INF
diff --git a/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.xml b/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.xml
new file mode 100644
index 0000000..eb85024
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/nbproject/project.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.web.project</type>
+ <configuration>
+ <buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
+ <extension file="jaxws-build.xml" id="jaxws">
+ <dependency dependsOn="wsimport-client-generate" target="-pre-pre-compile"/>
+ </extension>
+ </buildExtensions>
+ <data xmlns="http://www.netbeans.org/ns/web-project/3">
+ <name>FootballClient</name>
+ <minimum-ant-version>1.6.5</minimum-ant-version>
+ <web-module-libraries/>
+ <web-module-additional-libraries/>
+ <source-roots>
+ <root id="src.dir" name="Source Packages"/>
+ </source-roots>
+ <test-roots>
+ <root id="test.src.dir" name="Test Packages"/>
+ </test-roots>
+ </data>
+ </configuration>
+</project>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/src/conf/MANIFEST.MF b/Year_3/TSDWL/WSDL/FootballClient/src/conf/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/src/conf/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/Year_3/TSDWL/WSDL/FootballClient/src/conf/xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl b/Year_3/TSDWL/WSDL/FootballClient/src/conf/xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl
new file mode 100644
index 0000000..194bce6
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/src/conf/xml-resources/web-service-references/info/wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl
@@ -0,0 +1,1822 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="https://footballpool.dataaccess.eu" name="Info" targetNamespace="https://footballpool.dataaccess.eu">
+ <types>
+ <xs:schema elementFormDefault="qualified" targetNamespace="https://footballpool.dataaccess.eu">
+ <xs:complexType name="tAllCardsInfo">
+ <xs:sequence>
+ <xs:element name="dDate" type="xs:date"/>
+ <xs:element name="iMinute" type="xs:int"/>
+ <xs:element name="sTeam1Name" type="xs:string"/>
+ <xs:element name="sTeam1Flag" type="xs:string"/>
+ <xs:element name="sTeam2Name" type="xs:string"/>
+ <xs:element name="sTeam2Flag" type="xs:string"/>
+ <xs:element name="sPlayerName" type="xs:string"/>
+ <xs:element name="iYellow" type="xs:int"/>
+ <xs:element name="iRed" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tPlayerName">
+ <xs:sequence>
+ <xs:element name="iId" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="sCountryName" type="xs:string"/>
+ <xs:element name="sCountryFlag" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeamPlayerCardInfo">
+ <xs:sequence>
+ <xs:element name="iID" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="iYellowCards" type="xs:int"/>
+ <xs:element name="iRedCards" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeamPlayerName">
+ <xs:sequence>
+ <xs:element name="iID" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="sTeamName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tStadiumInfo">
+ <xs:sequence>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="iSeatsCapacity" type="xs:int"/>
+ <xs:element name="sCityName" type="xs:string"/>
+ <xs:element name="sWikipediaURL" type="xs:string"/>
+ <xs:element name="sGoogleMapsURL" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeamCoachName">
+ <xs:sequence>
+ <xs:element name="sTeamName" type="xs:string"/>
+ <xs:element name="sCoachName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tCountry">
+ <xs:sequence>
+ <xs:element name="iId" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="sISOCode" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tGameLevelInfo">
+ <xs:sequence>
+ <xs:element name="iLevel" type="xs:int"/>
+ <xs:element name="sLevelCode" type="xs:string"/>
+ <xs:element name="dFirstGame" type="xs:date"/>
+ <xs:element name="dtFirstGameTime" type="xs:dateTime"/>
+ <xs:element name="iFirstGameID" type="xs:int"/>
+ <xs:element name="dLastGame" type="xs:date"/>
+ <xs:element name="iLastGameID" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tGameIDsPerCity">
+ <xs:sequence>
+ <xs:element name="sCity" type="xs:string"/>
+ <xs:element name="iGameIDs" type="tns:ArrayOfInt"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tGameResult">
+ <xs:sequence>
+ <xs:element name="iGameNumber" type="xs:int"/>
+ <xs:element name="sDescription" type="xs:string"/>
+ <xs:element name="dtLocalPlayDateTime" type="xs:string"/>
+ <xs:element name="dtUTCPlayDateTime" type="xs:string"/>
+ <xs:element name="sTeamName1" type="xs:string"/>
+ <xs:element name="sTeamName2" type="xs:string"/>
+ <xs:element name="iScoreTeam1" type="xs:int"/>
+ <xs:element name="iScoreTeam2" type="xs:int"/>
+ <xs:element name="iRedCards" type="xs:int"/>
+ <xs:element name="iYellowCards" type="xs:int"/>
+ <xs:element name="sGroupCode" type="xs:string"/>
+ <xs:element name="bFinished" type="xs:boolean"/>
+ <xs:element name="iPenaltiesWonTeam1" type="xs:int"/>
+ <xs:element name="iPenaltiesWonTeam2" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tGroupInfo">
+ <xs:sequence>
+ <xs:element name="iId" type="xs:int"/>
+ <xs:element name="iLevel" type="xs:int"/>
+ <xs:element name="sCode" type="xs:string"/>
+ <xs:element name="sDescription" type="xs:string"/>
+ <xs:element name="dFirstGameDate" type="xs:date"/>
+ <xs:element name="dLastGameDate" type="xs:date"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tGroupStanding">
+ <xs:sequence>
+ <xs:element name="iTeamId" type="xs:int"/>
+ <xs:element name="sTeamName" type="xs:string"/>
+ <xs:element name="iPlayed" type="xs:int"/>
+ <xs:element name="iWon" type="xs:int"/>
+ <xs:element name="iDraw" type="xs:int"/>
+ <xs:element name="iLost" type="xs:int"/>
+ <xs:element name="iGoalsFor" type="xs:int"/>
+ <xs:element name="iGoalsAgainst" type="xs:int"/>
+ <xs:element name="iPlusMin" type="xs:int"/>
+ <xs:element name="iPoints" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tNextGame">
+ <xs:sequence>
+ <xs:element name="iGameNumber" type="xs:int"/>
+ <xs:element name="sLocalDateTime" type="xs:string"/>
+ <xs:element name="sUTCDateTime" type="xs:string"/>
+ <xs:element name="sTeam1" type="xs:string"/>
+ <xs:element name="sTeam2" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tPlayer">
+ <xs:sequence>
+ <xs:element name="iId" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="sFullName" type="xs:string"/>
+ <xs:element name="sFirstName" type="xs:string"/>
+ <xs:element name="sLastName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tPlayerRole">
+ <xs:sequence>
+ <xs:element name="sCode" type="xs:string"/>
+ <xs:element name="sDescription" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeamPlayerCardRankInfo">
+ <xs:sequence>
+ <xs:element name="iRank" type="xs:int"/>
+ <xs:element name="iID" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="iYellowCards" type="xs:int"/>
+ <xs:element name="iRedCards" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeamPlayerGoalsRankInfo">
+ <xs:sequence>
+ <xs:element name="iRank" type="xs:int"/>
+ <xs:element name="iID" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ <xs:element name="iGoals" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTeam">
+ <xs:sequence>
+ <xs:element name="iId" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="tTopScorerTop5">
+ <xs:sequence>
+ <xs:element name="iRank" type="xs:int"/>
+ <xs:element name="iGoals" type="xs:int"/>
+ <xs:element name="sName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOfInt">
+ <xs:sequence>
+ <xs:element name="int" type="xs:int" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftAllCardsInfo">
+ <xs:sequence>
+ <xs:element name="tAllCardsInfo" type="tns:tAllCardsInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftPlayerName">
+ <xs:sequence>
+ <xs:element name="tPlayerName" type="tns:tPlayerName" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeamPlayerCardInfo">
+ <xs:sequence>
+ <xs:element name="tTeamPlayerCardInfo" type="tns:tTeamPlayerCardInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeamPlayerName">
+ <xs:sequence>
+ <xs:element name="tTeamPlayerName" type="tns:tTeamPlayerName" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftStadiumInfo">
+ <xs:sequence>
+ <xs:element name="tStadiumInfo" type="tns:tStadiumInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeamCoachName">
+ <xs:sequence>
+ <xs:element name="tTeamCoachName" type="tns:tTeamCoachName" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOfString">
+ <xs:sequence>
+ <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftCountry">
+ <xs:sequence>
+ <xs:element name="tCountry" type="tns:tCountry" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftGameLevelInfo">
+ <xs:sequence>
+ <xs:element name="tGameLevelInfo" type="tns:tGameLevelInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftGameIDsPerCity">
+ <xs:sequence>
+ <xs:element name="tGameIDsPerCity" type="tns:tGameIDsPerCity" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftGroupInfo">
+ <xs:sequence>
+ <xs:element name="tGroupInfo" type="tns:tGroupInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftGroupStanding">
+ <xs:sequence>
+ <xs:element name="tGroupStanding" type="tns:tGroupStanding" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOfdate">
+ <xs:sequence>
+ <xs:element name="date" type="xs:date" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftNextGame">
+ <xs:sequence>
+ <xs:element name="tNextGame" type="tns:tNextGame" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftPlayer">
+ <xs:sequence>
+ <xs:element name="tPlayer" type="tns:tPlayer" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftPlayerRole">
+ <xs:sequence>
+ <xs:element name="tPlayerRole" type="tns:tPlayerRole" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeamPlayerCardRankInfo">
+ <xs:sequence>
+ <xs:element name="tTeamPlayerCardRankInfo" type="tns:tTeamPlayerCardRankInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeamPlayerGoalsRankInfo">
+ <xs:sequence>
+ <xs:element name="tTeamPlayerGoalsRankInfo" type="tns:tTeamPlayerGoalsRankInfo" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftGameResult">
+ <xs:sequence>
+ <xs:element name="tGameResult" type="tns:tGameResult" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTeam">
+ <xs:sequence>
+ <xs:element name="tTeam" type="tns:tTeam" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ArrayOftTopScorerTop5">
+ <xs:sequence>
+ <xs:element name="tTopScorerTop5" type="tns:tTopScorerTop5" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="AllCardsInfo">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllCardsInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllCardsInfoResult" type="tns:ArrayOftAllCardsInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayerNames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="bSelected" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayerNamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllPlayerNamesResult" type="tns:ArrayOftPlayerName"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayersWithCards">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayersWithCardsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllPlayersWithCardsResult" type="tns:ArrayOftTeamPlayerCardInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayersWithRole">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sTeamName" type="xs:string"/>
+ <xs:element name="sRoleCode" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllPlayersWithRoleResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllPlayersWithRoleResult" type="tns:ArrayOftTeamPlayerName"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllStadiumInfo">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllStadiumInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllStadiumInfoResult" type="tns:ArrayOftStadiumInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllTeamCoachNames">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AllTeamCoachNamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AllTeamCoachNamesResult" type="tns:ArrayOftTeamCoachName"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Cards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="bYellow" type="xs:boolean"/>
+ <xs:element name="iGameNumber" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CardsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CardsResult" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CityNames">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CityNamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CityNamesResult" type="tns:ArrayOfString"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Countries">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sCountryName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CountriesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CountriesResult" type="tns:ArrayOftCountry"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="FirstLastGamesEachLevel">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="FirstLastGamesEachLevelResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="FirstLastGamesEachLevelResult" type="tns:ArrayOftGameLevelInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameIDsGroupedByCity">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameIDsGroupedByCityResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GameIDsGroupedByCityResult" type="tns:ArrayOftGameIDsPerCity"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameScore">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iGameNumber" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameScoreResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GameScoreResult" type="tns:tGameResult"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameTeamScore">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iGameNumber" type="xs:int"/>
+ <xs:element name="iTeamId" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GameTeamScoreResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GameTeamScoreResult" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GoalsScored">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GoalsScoredResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GoalsScoredResult" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupFirstGameDate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sGroupCode" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupFirstGameDateResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GroupFirstGameDateResult" type="xs:date"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupInfo">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GroupInfoResult" type="tns:ArrayOftGroupInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupLastGameDate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sGroupCode" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupLastGameDateResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GroupLastGameDateResult" type="xs:date"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupStandings">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iGroupId" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroupStandingsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GroupStandingsResult" type="tns:ArrayOftGroupStanding"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LevelFirstGameDate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iLevel" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LevelFirstGameDateResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LevelFirstGameDateResult" type="xs:date"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LevelLastGameDate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iLevel" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LevelLastGameDateResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LevelLastGameDateResult" type="xs:date"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Levels">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LevelsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LevelsResult" type="tns:ArrayOfInt"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MatchDates">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MatchDatesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MatchDatesResult" type="tns:ArrayOfdate"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="NextGames">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="NextGamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="NextGamesResult" type="tns:ArrayOftNextGame"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Players">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayersResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PlayersResult" type="tns:ArrayOftPlayer"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayerRoles">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayerRolesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PlayerRolesResult" type="tns:ArrayOftPlayerRole"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayersWithCardsRanked">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayersWithCardsRankedResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PlayersWithCardsRankedResult" type="tns:ArrayOftTeamPlayerCardRankInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayersWithGoalsRanked">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PlayersWithGoalsRankedResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PlayersWithGoalsRankedResult" type="tns:ArrayOftTeamPlayerGoalsRankInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultsAllGames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="iGroupId" type="xs:int"/>
+ <xs:element name="iLevel" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultsAllGamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ResultsAllGamesResult" type="tns:ArrayOftGameResult"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumGoogleMapsURL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sStadiumName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumGoogleMapsURLResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StadiumGoogleMapsURLResult" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumInfo">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sStadiumName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StadiumInfoResult" type="tns:tStadiumInfo"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumNames">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StadiumNamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StadiumNamesResult" type="tns:ArrayOfString"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamIDsByGroup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sGroupCode" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamIDsByGroupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TeamIDsByGroupResult" type="tns:ArrayOfInt"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamPlayers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sTeamName" type="xs:string"/>
+ <xs:element name="bSelected" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamPlayersResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TeamPlayersResult" type="tns:ArrayOftPlayer"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamNames">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamNamesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TeamNamesResult" type="tns:ArrayOfString"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Teams">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="sTeamName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TeamsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TeamsResult" type="tns:ArrayOftTeam"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TopScorersList">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TopScorersListResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TopScorersListResult" type="tns:ArrayOftTopScorerTop5"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </types>
+ <message name="AllCardsInfoSoapRequest">
+ <part name="parameters" element="tns:AllCardsInfo"/>
+ </message>
+ <message name="AllCardsInfoSoapResponse">
+ <part name="parameters" element="tns:AllCardsInfoResponse"/>
+ </message>
+ <message name="AllPlayerNamesSoapRequest">
+ <part name="parameters" element="tns:AllPlayerNames"/>
+ </message>
+ <message name="AllPlayerNamesSoapResponse">
+ <part name="parameters" element="tns:AllPlayerNamesResponse"/>
+ </message>
+ <message name="AllPlayersWithCardsSoapRequest">
+ <part name="parameters" element="tns:AllPlayersWithCards"/>
+ </message>
+ <message name="AllPlayersWithCardsSoapResponse">
+ <part name="parameters" element="tns:AllPlayersWithCardsResponse"/>
+ </message>
+ <message name="AllPlayersWithRoleSoapRequest">
+ <part name="parameters" element="tns:AllPlayersWithRole"/>
+ </message>
+ <message name="AllPlayersWithRoleSoapResponse">
+ <part name="parameters" element="tns:AllPlayersWithRoleResponse"/>
+ </message>
+ <message name="AllStadiumInfoSoapRequest">
+ <part name="parameters" element="tns:AllStadiumInfo"/>
+ </message>
+ <message name="AllStadiumInfoSoapResponse">
+ <part name="parameters" element="tns:AllStadiumInfoResponse"/>
+ </message>
+ <message name="AllTeamCoachNamesSoapRequest">
+ <part name="parameters" element="tns:AllTeamCoachNames"/>
+ </message>
+ <message name="AllTeamCoachNamesSoapResponse">
+ <part name="parameters" element="tns:AllTeamCoachNamesResponse"/>
+ </message>
+ <message name="CardsSoapRequest">
+ <part name="parameters" element="tns:Cards"/>
+ </message>
+ <message name="CardsSoapResponse">
+ <part name="parameters" element="tns:CardsResponse"/>
+ </message>
+ <message name="CityNamesSoapRequest">
+ <part name="parameters" element="tns:CityNames"/>
+ </message>
+ <message name="CityNamesSoapResponse">
+ <part name="parameters" element="tns:CityNamesResponse"/>
+ </message>
+ <message name="CountriesSoapRequest">
+ <part name="parameters" element="tns:Countries"/>
+ </message>
+ <message name="CountriesSoapResponse">
+ <part name="parameters" element="tns:CountriesResponse"/>
+ </message>
+ <message name="FirstLastGamesEachLevelSoapRequest">
+ <part name="parameters" element="tns:FirstLastGamesEachLevel"/>
+ </message>
+ <message name="FirstLastGamesEachLevelSoapResponse">
+ <part name="parameters" element="tns:FirstLastGamesEachLevelResponse"/>
+ </message>
+ <message name="GameIDsGroupedByCitySoapRequest">
+ <part name="parameters" element="tns:GameIDsGroupedByCity"/>
+ </message>
+ <message name="GameIDsGroupedByCitySoapResponse">
+ <part name="parameters" element="tns:GameIDsGroupedByCityResponse"/>
+ </message>
+ <message name="GameScoreSoapRequest">
+ <part name="parameters" element="tns:GameScore"/>
+ </message>
+ <message name="GameScoreSoapResponse">
+ <part name="parameters" element="tns:GameScoreResponse"/>
+ </message>
+ <message name="GameTeamScoreSoapRequest">
+ <part name="parameters" element="tns:GameTeamScore"/>
+ </message>
+ <message name="GameTeamScoreSoapResponse">
+ <part name="parameters" element="tns:GameTeamScoreResponse"/>
+ </message>
+ <message name="GoalsScoredSoapRequest">
+ <part name="parameters" element="tns:GoalsScored"/>
+ </message>
+ <message name="GoalsScoredSoapResponse">
+ <part name="parameters" element="tns:GoalsScoredResponse"/>
+ </message>
+ <message name="GroupFirstGameDateSoapRequest">
+ <part name="parameters" element="tns:GroupFirstGameDate"/>
+ </message>
+ <message name="GroupFirstGameDateSoapResponse">
+ <part name="parameters" element="tns:GroupFirstGameDateResponse"/>
+ </message>
+ <message name="GroupInfoSoapRequest">
+ <part name="parameters" element="tns:GroupInfo"/>
+ </message>
+ <message name="GroupInfoSoapResponse">
+ <part name="parameters" element="tns:GroupInfoResponse"/>
+ </message>
+ <message name="GroupLastGameDateSoapRequest">
+ <part name="parameters" element="tns:GroupLastGameDate"/>
+ </message>
+ <message name="GroupLastGameDateSoapResponse">
+ <part name="parameters" element="tns:GroupLastGameDateResponse"/>
+ </message>
+ <message name="GroupStandingsSoapRequest">
+ <part name="parameters" element="tns:GroupStandings"/>
+ </message>
+ <message name="GroupStandingsSoapResponse">
+ <part name="parameters" element="tns:GroupStandingsResponse"/>
+ </message>
+ <message name="LevelFirstGameDateSoapRequest">
+ <part name="parameters" element="tns:LevelFirstGameDate"/>
+ </message>
+ <message name="LevelFirstGameDateSoapResponse">
+ <part name="parameters" element="tns:LevelFirstGameDateResponse"/>
+ </message>
+ <message name="LevelLastGameDateSoapRequest">
+ <part name="parameters" element="tns:LevelLastGameDate"/>
+ </message>
+ <message name="LevelLastGameDateSoapResponse">
+ <part name="parameters" element="tns:LevelLastGameDateResponse"/>
+ </message>
+ <message name="LevelsSoapRequest">
+ <part name="parameters" element="tns:Levels"/>
+ </message>
+ <message name="LevelsSoapResponse">
+ <part name="parameters" element="tns:LevelsResponse"/>
+ </message>
+ <message name="MatchDatesSoapRequest">
+ <part name="parameters" element="tns:MatchDates"/>
+ </message>
+ <message name="MatchDatesSoapResponse">
+ <part name="parameters" element="tns:MatchDatesResponse"/>
+ </message>
+ <message name="NextGamesSoapRequest">
+ <part name="parameters" element="tns:NextGames"/>
+ </message>
+ <message name="NextGamesSoapResponse">
+ <part name="parameters" element="tns:NextGamesResponse"/>
+ </message>
+ <message name="PlayersSoapRequest">
+ <part name="parameters" element="tns:Players"/>
+ </message>
+ <message name="PlayersSoapResponse">
+ <part name="parameters" element="tns:PlayersResponse"/>
+ </message>
+ <message name="PlayerRolesSoapRequest">
+ <part name="parameters" element="tns:PlayerRoles"/>
+ </message>
+ <message name="PlayerRolesSoapResponse">
+ <part name="parameters" element="tns:PlayerRolesResponse"/>
+ </message>
+ <message name="PlayersWithCardsRankedSoapRequest">
+ <part name="parameters" element="tns:PlayersWithCardsRanked"/>
+ </message>
+ <message name="PlayersWithCardsRankedSoapResponse">
+ <part name="parameters" element="tns:PlayersWithCardsRankedResponse"/>
+ </message>
+ <message name="PlayersWithGoalsRankedSoapRequest">
+ <part name="parameters" element="tns:PlayersWithGoalsRanked"/>
+ </message>
+ <message name="PlayersWithGoalsRankedSoapResponse">
+ <part name="parameters" element="tns:PlayersWithGoalsRankedResponse"/>
+ </message>
+ <message name="ResultsAllGamesSoapRequest">
+ <part name="parameters" element="tns:ResultsAllGames"/>
+ </message>
+ <message name="ResultsAllGamesSoapResponse">
+ <part name="parameters" element="tns:ResultsAllGamesResponse"/>
+ </message>
+ <message name="StadiumGoogleMapsURLSoapRequest">
+ <part name="parameters" element="tns:StadiumGoogleMapsURL"/>
+ </message>
+ <message name="StadiumGoogleMapsURLSoapResponse">
+ <part name="parameters" element="tns:StadiumGoogleMapsURLResponse"/>
+ </message>
+ <message name="StadiumInfoSoapRequest">
+ <part name="parameters" element="tns:StadiumInfo"/>
+ </message>
+ <message name="StadiumInfoSoapResponse">
+ <part name="parameters" element="tns:StadiumInfoResponse"/>
+ </message>
+ <message name="StadiumNamesSoapRequest">
+ <part name="parameters" element="tns:StadiumNames"/>
+ </message>
+ <message name="StadiumNamesSoapResponse">
+ <part name="parameters" element="tns:StadiumNamesResponse"/>
+ </message>
+ <message name="TeamIDsByGroupSoapRequest">
+ <part name="parameters" element="tns:TeamIDsByGroup"/>
+ </message>
+ <message name="TeamIDsByGroupSoapResponse">
+ <part name="parameters" element="tns:TeamIDsByGroupResponse"/>
+ </message>
+ <message name="TeamPlayersSoapRequest">
+ <part name="parameters" element="tns:TeamPlayers"/>
+ </message>
+ <message name="TeamPlayersSoapResponse">
+ <part name="parameters" element="tns:TeamPlayersResponse"/>
+ </message>
+ <message name="TeamNamesSoapRequest">
+ <part name="parameters" element="tns:TeamNames"/>
+ </message>
+ <message name="TeamNamesSoapResponse">
+ <part name="parameters" element="tns:TeamNamesResponse"/>
+ </message>
+ <message name="TeamsSoapRequest">
+ <part name="parameters" element="tns:Teams"/>
+ </message>
+ <message name="TeamsSoapResponse">
+ <part name="parameters" element="tns:TeamsResponse"/>
+ </message>
+ <message name="TopScorersListSoapRequest">
+ <part name="parameters" element="tns:TopScorersList"/>
+ </message>
+ <message name="TopScorersListSoapResponse">
+ <part name="parameters" element="tns:TopScorersListResponse"/>
+ </message>
+ <portType name="InfoSoapType">
+ <operation name="AllCardsInfo">
+ <documentation>Returns an array with the information about the given yellow and red cards in all games. What date, minute, teams that were playing and player name</documentation>
+ <input message="tns:AllCardsInfoSoapRequest"/>
+ <output message="tns:AllCardsInfoSoapResponse"/>
+ </operation>
+ <operation name="AllPlayerNames">
+ <documentation>Returns an array with the id, name, country and flag reference of all players. Pass a 0 for all players and 1 for only the selected players.</documentation>
+ <input message="tns:AllPlayerNamesSoapRequest"/>
+ <output message="tns:AllPlayerNamesSoapResponse"/>
+ </operation>
+ <operation name="AllPlayersWithCards">
+ <documentation>Returns an array with the names of all players that have a yellow or a red card. The number of yellow and red cards is returned.</documentation>
+ <input message="tns:AllPlayersWithCardsSoapRequest"/>
+ <output message="tns:AllPlayersWithCardsSoapResponse"/>
+ </operation>
+ <operation name="AllPlayersWithRole">
+ <documentation>Returns an array with the names of all players that have the passed player role. If you pass a team name the result will be filtered on that team. For possible team names call the function TeamNames. For possible role codes call the function PlayerRoles</documentation>
+ <input message="tns:AllPlayersWithRoleSoapRequest"/>
+ <output message="tns:AllPlayersWithRoleSoapResponse"/>
+ </operation>
+ <operation name="AllStadiumInfo">
+ <documentation>Returns an array with the information stored about all stadiums. The array contains the names, the city where the stadium can be found, the seat capacity, the google maps and wikipedia URLs</documentation>
+ <input message="tns:AllStadiumInfoSoapRequest"/>
+ <output message="tns:AllStadiumInfoSoapResponse"/>
+ </operation>
+ <operation name="AllTeamCoachNames">
+ <documentation>Returns an array with the names of all the coaches and the team name he/she is coaching</documentation>
+ <input message="tns:AllTeamCoachNamesSoapRequest"/>
+ <output message="tns:AllTeamCoachNamesSoapResponse"/>
+ </operation>
+ <operation name="Cards">
+ <documentation>Returns the total number of red or yellow cards given for all games (iGameNumber &lt; 1) or a specific game. For the game numbers call the function ResultsAllGames</documentation>
+ <input message="tns:CardsSoapRequest"/>
+ <output message="tns:CardsSoapResponse"/>
+ </operation>
+ <operation name="CityNames">
+ <documentation>Returns an array with all the city names where games are played</documentation>
+ <input message="tns:CityNamesSoapRequest"/>
+ <output message="tns:CityNamesSoapResponse"/>
+ </operation>
+ <operation name="Countries">
+ <documentation>Get the top 25 countries starting with or containing the value of sName</documentation>
+ <input message="tns:CountriesSoapRequest"/>
+ <output message="tns:CountriesSoapResponse"/>
+ </operation>
+ <operation name="FirstLastGamesEachLevel">
+ <documentation>Returns an array with a play levels and per level the start and end game date and ID</documentation>
+ <input message="tns:FirstLastGamesEachLevelSoapRequest"/>
+ <output message="tns:FirstLastGamesEachLevelSoapResponse"/>
+ </operation>
+ <operation name="GameIDsGroupedByCity">
+ <documentation>Returns an array of Game IDs grouped by City Name</documentation>
+ <input message="tns:GameIDsGroupedByCitySoapRequest"/>
+ <output message="tns:GameIDsGroupedByCitySoapResponse"/>
+ </operation>
+ <operation name="GameScore">
+ <documentation>Returns the results of a given game (pass the game ID). For the game numbers call the function ResultsAllGames</documentation>
+ <input message="tns:GameScoreSoapRequest"/>
+ <output message="tns:GameScoreSoapResponse"/>
+ </operation>
+ <operation name="GameTeamScore">
+ <documentation>Returns the score for a team in a game. For the game numbers call the function ResultsAllGames. For the team ID call the function Teams</documentation>
+ <input message="tns:GameTeamScoreSoapRequest"/>
+ <output message="tns:GameTeamScoreSoapResponse"/>
+ </operation>
+ <operation name="GoalsScored">
+ <documentation>Returns the total number of goals scored</documentation>
+ <input message="tns:GoalsScoredSoapRequest"/>
+ <output message="tns:GoalsScoredSoapResponse"/>
+ </operation>
+ <operation name="GroupFirstGameDate">
+ <documentation>Returns the date of the first game in this group</documentation>
+ <input message="tns:GroupFirstGameDateSoapRequest"/>
+ <output message="tns:GroupFirstGameDateSoapResponse"/>
+ </operation>
+ <operation name="GroupInfo">
+ <documentation>Returns a list of groups (poule phase and later round of 16 etc) and the information such as name and date first and last game</documentation>
+ <input message="tns:GroupInfoSoapRequest"/>
+ <output message="tns:GroupInfoSoapResponse"/>
+ </operation>
+ <operation name="GroupLastGameDate">
+ <documentation>Returns the date of the last game in this group. For the group code call the function GroupInfo</documentation>
+ <input message="tns:GroupLastGameDateSoapRequest"/>
+ <output message="tns:GroupLastGameDateSoapResponse"/>
+ </operation>
+ <operation name="GroupStandings">
+ <documentation>Returns an the standings in each group by passing the group ID. For the group ID call the function GroupInfo</documentation>
+ <input message="tns:GroupStandingsSoapRequest"/>
+ <output message="tns:GroupStandingsSoapResponse"/>
+ </operation>
+ <operation name="LevelFirstGameDate">
+ <documentation>Returns the date of the first game in this level. For a level Number call the Levels Function.</documentation>
+ <input message="tns:LevelFirstGameDateSoapRequest"/>
+ <output message="tns:LevelFirstGameDateSoapResponse"/>
+ </operation>
+ <operation name="LevelLastGameDate">
+ <documentation>Returns the date of the last game in this level For a level number call the Levels function. For a level Number call the Levels Function.</documentation>
+ <input message="tns:LevelLastGameDateSoapRequest"/>
+ <output message="tns:LevelLastGameDateSoapResponse"/>
+ </operation>
+ <operation name="Levels">
+ <documentation>Returns a array with level numbers. The numbers can be used in functions that require or offer an option to pass a level number such as LevelFirstGameDate</documentation>
+ <input message="tns:LevelsSoapRequest"/>
+ <output message="tns:LevelsSoapResponse"/>
+ </operation>
+ <operation name="MatchDates">
+ <documentation>Returns a list with tournament dates</documentation>
+ <input message="tns:MatchDatesSoapRequest"/>
+ <output message="tns:MatchDatesSoapResponse"/>
+ </operation>
+ <operation name="NextGames">
+ <documentation>Returns an array with the next games of date that is greater than or equal to today. Only games of one day are returned.</documentation>
+ <input message="tns:NextGamesSoapRequest"/>
+ <output message="tns:NextGamesSoapResponse"/>
+ </operation>
+ <operation name="Players">
+ <documentation>Get the top 10 players where name, fullname, firstname or lastname contains the value of sName</documentation>
+ <input message="tns:PlayersSoapRequest"/>
+ <output message="tns:PlayersSoapResponse"/>
+ </operation>
+ <operation name="PlayerRoles">
+ <documentation>Returns an array with the roles a player can have (defender etc)</documentation>
+ <input message="tns:PlayerRolesSoapRequest"/>
+ <output message="tns:PlayerRolesSoapResponse"/>
+ </operation>
+ <operation name="PlayersWithCardsRanked">
+ <documentation>Returns an array with the names of all players that have a yellow or a red card. The number of yellow and red cards is returned.</documentation>
+ <input message="tns:PlayersWithCardsRankedSoapRequest"/>
+ <output message="tns:PlayersWithCardsRankedSoapResponse"/>
+ </operation>
+ <operation name="PlayersWithGoalsRanked">
+ <documentation>Returns an array with the names of all players that have scored a goal.</documentation>
+ <input message="tns:PlayersWithGoalsRankedSoapRequest"/>
+ <output message="tns:PlayersWithGoalsRankedSoapResponse"/>
+ </operation>
+ <operation name="ResultsAllGames">
+ <documentation>Returns game result of all games overall, in one group or at one level. When groupid &lt; 1 All games are processed (optionally filtered by level). A Group ID or level can be retrieved via GroupInfo.</documentation>
+ <input message="tns:ResultsAllGamesSoapRequest"/>
+ <output message="tns:ResultsAllGamesSoapResponse"/>
+ </operation>
+ <operation name="StadiumGoogleMapsURL">
+ <documentation>Returns a URL that can be used to show a small map of the stadium. For the name of the stadium call the funciton StadiumNames</documentation>
+ <input message="tns:StadiumGoogleMapsURLSoapRequest"/>
+ <output message="tns:StadiumGoogleMapsURLSoapResponse"/>
+ </operation>
+ <operation name="StadiumInfo">
+ <documentation>Returns the information stored about a particular stadium. For that pass the exact name of the stadium. For the name of the stadium call the funciton StadiumNames</documentation>
+ <input message="tns:StadiumInfoSoapRequest"/>
+ <output message="tns:StadiumInfoSoapResponse"/>
+ </operation>
+ <operation name="StadiumNames">
+ <documentation>Returns an array of stadium names where the games are played</documentation>
+ <input message="tns:StadiumNamesSoapRequest"/>
+ <output message="tns:StadiumNamesSoapResponse"/>
+ </operation>
+ <operation name="TeamIDsByGroup">
+ <documentation>Returns a list of team IDs based on passed GroupCode (e.g A or H). For the group code call the function GroupInfo</documentation>
+ <input message="tns:TeamIDsByGroupSoapRequest"/>
+ <output message="tns:TeamIDsByGroupSoapResponse"/>
+ </operation>
+ <operation name="TeamPlayers">
+ <documentation>Get the players of a team. This is the current squad. For the team name call the function TeamNames. Pass a 1 for selected players only or 0 for all registered players that belong to the team (now and in the past)</documentation>
+ <input message="tns:TeamPlayersSoapRequest"/>
+ <output message="tns:TeamPlayersSoapResponse"/>
+ </operation>
+ <operation name="TeamNames">
+ <documentation>Returns an array with team names. The names can be used in functions that require or offer an option to pass a teamname</documentation>
+ <input message="tns:TeamNamesSoapRequest"/>
+ <output message="tns:TeamNamesSoapResponse"/>
+ </operation>
+ <operation name="Teams">
+ <documentation>Get the top 10 teams starting with or containing the value of sTeamName. For the team name call the function TeamNames</documentation>
+ <input message="tns:TeamsSoapRequest"/>
+ <output message="tns:TeamsSoapResponse"/>
+ </operation>
+ <operation name="TopScorersList">
+ <documentation>Returns an array with the 5 best performing players.</documentation>
+ <input message="tns:TopScorersListSoapRequest"/>
+ <output message="tns:TopScorersListSoapResponse"/>
+ </operation>
+ </portType>
+ <binding name="InfoSoapBinding" type="tns:InfoSoapType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="AllCardsInfo">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayerNames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayersWithCards">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayersWithRole">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllStadiumInfo">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllTeamCoachNames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Cards">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CityNames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Countries">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="FirstLastGamesEachLevel">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameIDsGroupedByCity">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameScore">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameTeamScore">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GoalsScored">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupFirstGameDate">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupInfo">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupLastGameDate">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupStandings">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="LevelFirstGameDate">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="LevelLastGameDate">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Levels">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="MatchDates">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="NextGames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Players">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayerRoles">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayersWithCardsRanked">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayersWithGoalsRanked">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ResultsAllGames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumGoogleMapsURL">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumInfo">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumNames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamIDsByGroup">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamPlayers">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamNames">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Teams">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TopScorersList">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="InfoSoapBinding12" type="tns:InfoSoapType">
+ <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="AllCardsInfo">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayerNames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayersWithCards">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllPlayersWithRole">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllStadiumInfo">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="AllTeamCoachNames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Cards">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CityNames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Countries">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="FirstLastGamesEachLevel">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameIDsGroupedByCity">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameScore">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GameTeamScore">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GoalsScored">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupFirstGameDate">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupInfo">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupLastGameDate">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="GroupStandings">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="LevelFirstGameDate">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="LevelLastGameDate">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Levels">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="MatchDates">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="NextGames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Players">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayerRoles">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayersWithCardsRanked">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="PlayersWithGoalsRanked">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ResultsAllGames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumGoogleMapsURL">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumInfo">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="StadiumNames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamIDsByGroup">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamPlayers">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TeamNames">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="Teams">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="TopScorersList">
+ <soap12:operation soapAction="" style="document"/>
+ <input>
+ <soap12:body use="literal"/>
+ </input>
+ <output>
+ <soap12:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="Info">
+ <documentation>DataFlex Web Service for public information from the DataFlex Football Pool</documentation>
+ <port name="InfoSoap" binding="tns:InfoSoapBinding">
+ <soap:address location="https://ws.footballpool.dataaccess.eu/info.wso"/>
+ </port>
+ <port name="InfoSoap12" binding="tns:InfoSoapBinding12">
+ <soap12:address location="https://ws.footballpool.dataaccess.eu/info.wso"/>
+ </port>
+ </service>
+</definitions>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumInfo.java b/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumInfo.java
new file mode 100644
index 0000000..d3d3f4f
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumInfo.java
@@ -0,0 +1,87 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package it.dmi.exams.tsdwl;
+
+import https.footballpool_dataaccess.TStadiumInfo;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author dcariotti
+ */
+@WebServlet(name = "StadiumInfo", urlPatterns = {"/StadiumInfo"})
+public class StadiumInfo extends HttpServlet {
+ /**
+ * Handles the HTTP <code>GET</code> method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ RequestDispatcher view = request.getRequestDispatcher("search.html");
+
+ view.forward(request, response);
+ }
+
+ /**
+ * Handles the HTTP <code>POST</code> method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ TStadiumInfo stadium = this.stadiumInfo(request.getParameter("name"));
+
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ out.println("<html><head></head><body>");
+ if (stadium.getSName().length() == 0) {
+ out.println("<p>Stadium not found!</p>");
+ } else {
+ out.println("<p>Stadium info: </p>");
+ out.println(stadium.getSName());
+ out.println(stadium.getISeatsCapacity());
+ out.println(stadium.getSCityName());
+ out.println(stadium.getSGoogleMapsURL());
+ out.println(stadium.getSWikipediaURL());
+ }
+ out.println("</body></html>");
+ }
+
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }// </editor-fold>
+
+ private static TStadiumInfo stadiumInfo(java.lang.String sStadiumName) {
+ https.footballpool_dataaccess.Info service = new https.footballpool_dataaccess.Info();
+ https.footballpool_dataaccess.InfoSoapType port = service.getInfoSoap();
+ return port.stadiumInfo(sStadiumName);
+ }
+
+}
diff --git a/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumList.java b/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumList.java
new file mode 100644
index 0000000..9f3d037
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/src/java/it/dmi/exams/tsdwl/StadiumList.java
@@ -0,0 +1,103 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package it.dmi.exams.tsdwl;
+
+import https.footballpool_dataaccess.ArrayOftStadiumInfo;
+import https.footballpool_dataaccess.TStadiumInfo;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+/**
+ *
+ * @author dcariotti
+ */
+@WebServlet(name = "StadiumList", urlPatterns = {"/StadiumList"})
+public class StadiumList extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("<!DOCTYPE html>");
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>Servlet StadiumList</title>");
+ out.println("</head>");
+ out.println("<body>");
+ out.println("<h1>Servlet StadiumList at " + request.getContextPath() + "</h1>");
+ out.println("</body>");
+ out.println("</html>");
+ }
+ }
+
+ // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
+ /**
+ * Handles the HTTP <code>GET</code> method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ List<TStadiumInfo> stadiumList = this.allStadiumInfo().getTStadiumInfo();
+
+ request.setAttribute("stadiumList", stadiumList);
+ RequestDispatcher view = request.getRequestDispatcher("list.jsp");
+
+ view.forward(request, response);
+ }
+
+ /**
+ * Handles the HTTP <code>POST</code> method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }// </editor-fold>
+
+ private static ArrayOftStadiumInfo allStadiumInfo() {
+ https.footballpool_dataaccess.Info service = new https.footballpool_dataaccess.Info();
+ https.footballpool_dataaccess.InfoSoapType port = service.getInfoSoap();
+ return port.allStadiumInfo();
+ }
+
+}
diff --git a/Year_3/TSDWL/WSDL/FootballClient/web/META-INF/context.xml b/Year_3/TSDWL/WSDL/FootballClient/web/META-INF/context.xml
new file mode 100644
index 0000000..a3b375b
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/web/META-INF/context.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Context path="/FootballClient"/>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/web/WEB-INF/jax-ws-catalog.xml b/Year_3/TSDWL/WSDL/FootballClient/web/WEB-INF/jax-ws-catalog.xml
new file mode 100644
index 0000000..fa89486
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/web/WEB-INF/jax-ws-catalog.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
+ <system systemId="https://ws.footballpool.dataaccess.eu/info.wso?WSDL" uri="wsdl/ws.footballpool.dataaccess.eu/info.wso.wsdl"/>
+</catalog> \ No newline at end of file
diff --git a/Year_3/TSDWL/WSDL/FootballClient/web/index.html b/Year_3/TSDWL/WSDL/FootballClient/web/index.html
new file mode 100644
index 0000000..c627c24
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/web/index.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<!--
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+ <head>
+ <title>TODO supply a title</title>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ </head>
+ <body>
+ <div>TODO write content</div>
+ </body>
+</html>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/web/list.jsp b/Year_3/TSDWL/WSDL/FootballClient/web/list.jsp
new file mode 100644
index 0000000..fba56fa
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/web/list.jsp
@@ -0,0 +1,24 @@
+<%--
+ Document : list
+ Created on : Jan 19, 2022, 8:53:23 PM
+ Author : dcariotti
+--%>
+
+<%@page import="https.footballpool_dataaccess.ArrayOftStadiumInfo"%>
+<%@page import="https.footballpool_dataaccess.TStadiumInfo"%>
+<%@page import="java.util.List"%>
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Stadium list</title>
+ </head>
+ <body>
+ <h1>Stadium list</h1>
+ <% List<TStadiumInfo> stadiums = (List<TStadiumInfo>) request.getAttribute("stadiumList"); %>
+ <% for (TStadiumInfo stadium : stadiums) { %>
+ <p><%= stadium.getSName() %></p>
+ <% } %>
+ </body>
+</html>
diff --git a/Year_3/TSDWL/WSDL/FootballClient/web/search.html b/Year_3/TSDWL/WSDL/FootballClient/web/search.html
new file mode 100644
index 0000000..4cac9f3
--- /dev/null
+++ b/Year_3/TSDWL/WSDL/FootballClient/web/search.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<!--
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+ <head>
+ <title>Search a stadium</title>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ </head>
+ <body>
+ <form method="post">
+ <div>
+ <label for="name">Insert a name: </label>
+ <input name="name" id="name" type="text" required>
+ </div>
+ <button type="submit">Search</button>
+ </form>
+ </body>
+</html>