initial source code upload (Netbeans 6.8 project included)
git-svn-id: https://brutex.net/svn/xservices/trunk@6 e7e49efb-446e-492e-b9ec-fcafc1997a86
This commit is contained in:
parent
2f52f87f8f
commit
fd45152768
71
build.xml
Normal file
71
build.xml
Normal file
@ -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="XServices" default="default" basedir=".">
|
||||
<description>Builds, tests, and runs the project XServices.</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>
|
BIN
lib/activation.jar
Normal file
BIN
lib/activation.jar
Normal file
Binary file not shown.
BIN
lib/ant-antlr.jar
Normal file
BIN
lib/ant-antlr.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-bcel.jar
Normal file
BIN
lib/ant-apache-bcel.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-bsf.jar
Normal file
BIN
lib/ant-apache-bsf.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-log4j.jar
Normal file
BIN
lib/ant-apache-log4j.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-oro.jar
Normal file
BIN
lib/ant-apache-oro.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-regexp.jar
Normal file
BIN
lib/ant-apache-regexp.jar
Normal file
Binary file not shown.
BIN
lib/ant-apache-resolver.jar
Normal file
BIN
lib/ant-apache-resolver.jar
Normal file
Binary file not shown.
BIN
lib/ant-commons-logging.jar
Normal file
BIN
lib/ant-commons-logging.jar
Normal file
Binary file not shown.
BIN
lib/ant-commons-net.jar
Normal file
BIN
lib/ant-commons-net.jar
Normal file
Binary file not shown.
BIN
lib/ant-jai.jar
Normal file
BIN
lib/ant-jai.jar
Normal file
Binary file not shown.
BIN
lib/ant-javamail.jar
Normal file
BIN
lib/ant-javamail.jar
Normal file
Binary file not shown.
BIN
lib/ant-jdepend.jar
Normal file
BIN
lib/ant-jdepend.jar
Normal file
Binary file not shown.
BIN
lib/ant-jmf.jar
Normal file
BIN
lib/ant-jmf.jar
Normal file
Binary file not shown.
BIN
lib/ant-jsch.jar
Normal file
BIN
lib/ant-jsch.jar
Normal file
Binary file not shown.
BIN
lib/ant-junit.jar
Normal file
BIN
lib/ant-junit.jar
Normal file
Binary file not shown.
BIN
lib/ant-launcher.jar
Normal file
BIN
lib/ant-launcher.jar
Normal file
Binary file not shown.
BIN
lib/ant-netrexx.jar
Normal file
BIN
lib/ant-netrexx.jar
Normal file
Binary file not shown.
BIN
lib/ant-nodeps.jar
Normal file
BIN
lib/ant-nodeps.jar
Normal file
Binary file not shown.
BIN
lib/ant-starteam.jar
Normal file
BIN
lib/ant-starteam.jar
Normal file
Binary file not shown.
BIN
lib/ant-stylebook.jar
Normal file
BIN
lib/ant-stylebook.jar
Normal file
Binary file not shown.
BIN
lib/ant-swing.jar
Normal file
BIN
lib/ant-swing.jar
Normal file
Binary file not shown.
BIN
lib/ant-testutil.jar
Normal file
BIN
lib/ant-testutil.jar
Normal file
Binary file not shown.
BIN
lib/ant-trax.jar
Normal file
BIN
lib/ant-trax.jar
Normal file
Binary file not shown.
BIN
lib/ant-weblogic.jar
Normal file
BIN
lib/ant-weblogic.jar
Normal file
Binary file not shown.
BIN
lib/ant.jar
Normal file
BIN
lib/ant.jar
Normal file
Binary file not shown.
BIN
lib/commons-logging-api-1.0.4.jar
Normal file
BIN
lib/commons-logging-api-1.0.4.jar
Normal file
Binary file not shown.
BIN
lib/commons-net-2.0.jar
Normal file
BIN
lib/commons-net-2.0.jar
Normal file
Binary file not shown.
BIN
lib/commons-net-ftp-2.0.jar
Normal file
BIN
lib/commons-net-ftp-2.0.jar
Normal file
Binary file not shown.
BIN
lib/jakarta-oro-2.0.8.jar
Normal file
BIN
lib/jakarta-oro-2.0.8.jar
Normal file
Binary file not shown.
BIN
lib/java-unrar-0.3.jar
Normal file
BIN
lib/java-unrar-0.3.jar
Normal file
Binary file not shown.
BIN
lib/jsch-0.1.42.jar
Normal file
BIN
lib/jsch-0.1.42.jar
Normal file
Binary file not shown.
BIN
lib/webservices-api.jar
Normal file
BIN
lib/webservices-api.jar
Normal file
Binary file not shown.
BIN
lib/webservices-extra-api.jar
Normal file
BIN
lib/webservices-extra-api.jar
Normal file
Binary file not shown.
BIN
lib/webservices-extra.jar
Normal file
BIN
lib/webservices-extra.jar
Normal file
Binary file not shown.
BIN
lib/webservices-rt.jar
Normal file
BIN
lib/webservices-rt.jar
Normal file
Binary file not shown.
BIN
lib/webservices-tools.jar
Normal file
BIN
lib/webservices-tools.jar
Normal file
Binary file not shown.
28
nbproject/ant-deploy.xml
Normal file
28
nbproject/ant-deploy.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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="-deploy-ant" if="deploy.ant.enabled" depends="-init">
|
||||
<echo message="Deploying ${deploy.ant.archive} to ${Context(path)}"/>
|
||||
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"
|
||||
classpath="${tomcat.home}/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">
|
||||
<echo message="Undeploying ${Context(path)}"/>
|
||||
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"
|
||||
classpath="${tomcat.home}/lib/catalina-ant.jar"/>
|
||||
<undeploy url="${tomcat.url}/manager" username="${tomcat.username}"
|
||||
password="${tomcat.password}" path="${Context(path)}"/>
|
||||
</target>
|
||||
</project>
|
931
nbproject/build-impl.xml
Normal file
931
nbproject/build-impl.xml
Normal file
@ -0,0 +1,931 @@
|
||||
<?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
|
||||
- junit compilation
|
||||
- junit execution
|
||||
- junit 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="XServices-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">
|
||||
<and>
|
||||
<isset property="do.display.browser"/>
|
||||
<not>
|
||||
<isset property="do.debug.client"/>
|
||||
</not>
|
||||
</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}'">
|
||||
<length length="0" string="${endorsed.classpath}" when="greater"/>
|
||||
</condition>
|
||||
</target>
|
||||
<target depends="init" name="-init-cos" unless="deploy.on.save">
|
||||
<condition property="deploy.on.save" value="true">
|
||||
<istrue value="${j2ee.deploy.on.save}"/>
|
||||
</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>
|
||||
<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=<path_to_property_file> (where you put the property "j2ee.platform.classpath" in a .properties file)
|
||||
or ant -Dj2ee.platform.classpath=<server_classpath> (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 name="-init-macrodef-javac">
|
||||
<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="${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 name="-init-macrodef-junit">
|
||||
<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"/>
|
||||
<sequential>
|
||||
<junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
|
||||
<batchtest todir="${build.test.results.dir}">
|
||||
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
|
||||
<filename name="@{testincludes}"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
<classpath>
|
||||
<path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.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"/>
|
||||
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
||||
<jvmarg line="${runmain.jvmargs}"/>
|
||||
</junit>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
</target>
|
||||
<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 "${ant.java.version}"/>
|
||||
<condition property="have-jdk-older-than-1.4">
|
||||
<or>
|
||||
<contains string="${version-output}" substring="java version "1.0"/>
|
||||
<contains string="${version-output}" substring="java version "1.1"/>
|
||||
<contains string="${version-output}" substring="java version "1.2"/>
|
||||
<contains string="${version-output}" substring="java version "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
|
||||
<netbeans_installation>/java<version>/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 depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-nbjsdebug,-init-macrodef-debug,-init-taskdefs" 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" 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"/>
|
||||
</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"/>
|
||||
<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="-compilerSourceVM ${javac.source}"/>
|
||||
<arg value="-compilerTargetVM ${javac.target}"/>
|
||||
<arg value="-javaEncoding ${source.encoding}"/>
|
||||
<classpath path="${java.home}/../lib/tools.jar:${jspctask.classpath}:${jspcompilation.classpath}"/>
|
||||
</java>
|
||||
<mkdir dir="${build.generated.dir}/classes"/>
|
||||
<webproject2:javac classpath="${j2ee.platform.classpath}:${build.classes.dir}:${jspcompilation.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="-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:${jspctask.classpath}:${jspcompilation.classpath}"/>
|
||||
</java>
|
||||
<mkdir dir="${build.generated.dir}/classes"/>
|
||||
<webproject2:javac classpath="${j2ee.platform.classpath}:${build.classes.dir}:${jspcompilation.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}"/>
|
||||
</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}"/>
|
||||
</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}"/>
|
||||
</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}"/>
|
||||
</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">
|
||||
<copyfiles files="${file.reference.activation.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-api.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-extra-api.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-extra.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-rt.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-tools.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-antlr.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-bcel.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-bsf.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-log4j.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-oro.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-regexp.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-resolver.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-commons-logging.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-commons-net.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jai.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-javamail.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jdepend.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jmf.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jsch.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-junit.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-launcher.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-netrexx.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-nodeps.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-starteam.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-stylebook.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-swing.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-testutil.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-trax.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.ant-weblogic.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.jsch-0.1.42.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.commons-net-2.0.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.commons-net-ftp-2.0.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.jakarta-oro-2.0.8.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${libs.ApacheAnt.classpath}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.java-unrar-0.3.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<copyfiles files="${file.reference.commons-logging-api-1.0.4.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
|
||||
<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">
|
||||
<copyfiles files="${file.reference.activation.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-api.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-extra-api.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-extra.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-rt.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.webservices-tools.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-antlr.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-bcel.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-bsf.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-log4j.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-oro.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-regexp.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-apache-resolver.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-commons-logging.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-commons-net.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jai.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-javamail.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jdepend.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jmf.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-jsch.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-junit.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-launcher.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-netrexx.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-nodeps.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-starteam.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-stylebook.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-swing.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-testutil.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-trax.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.ant-weblogic.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.jsch-0.1.42.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.commons-net-2.0.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.commons-net-ftp-2.0.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.jakarta-oro-2.0.8.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${libs.ApacheAnt.classpath}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.java-unrar-0.3.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
<copyfiles files="${file.reference.commons-logging-api-1.0.4.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
|
||||
</target>
|
||||
<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}"/>
|
||||
</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" name="run-deploy">
|
||||
<nbjpdaappreloaded/>
|
||||
</target>
|
||||
<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,-display-browser-cl" name="run-display-browser"/>
|
||||
<target if="do.display.browser" name="-init-display-browser">
|
||||
<condition property="do.display.browser.nb">
|
||||
<isset property="netbeans.home"/>
|
||||
</condition>
|
||||
<condition property="do.display.browser.cl">
|
||||
<isset property="deploy.ant.enabled"/>
|
||||
</condition>
|
||||
</target>
|
||||
<target if="do.display.browser.nb" name="-display-browser-nb">
|
||||
<nbbrowse url="${client.url}"/>
|
||||
</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>
|
||||
<!--
|
||||
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"/>
|
||||
<antcall target="connect-client-debugger"/>
|
||||
</target>
|
||||
<target if="do.debug.server" name="connect-debugger" unless="is.debugged">
|
||||
<nbjpdaconnect address="${jpda.address}" host="${jpda.host}" 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" name="debug-display-browser">
|
||||
<nbbrowse url="${client.url}"/>
|
||||
</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"/>
|
||||
<!--
|
||||
JAVADOC SECTION
|
||||
-->
|
||||
<target depends="init" 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>
|
||||
</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"/>
|
||||
<!--
|
||||
|
||||
JUNIT 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"/>
|
||||
<!--
|
||||
|
||||
JUNIT 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:junit 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:junit excludes="" includes="${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"/>
|
||||
<!--
|
||||
|
||||
JUNIT DEBUGGING SECTION
|
||||
-->
|
||||
<target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
|
||||
<fail unless="test.class">Must select one file in the IDE or set test.class</fail>
|
||||
<property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
|
||||
<delete file="${test.report.file}"/>
|
||||
<!-- must exist, otherwise the XML formatter would fail -->
|
||||
<mkdir dir="${build.test.results.dir}"/>
|
||||
<webproject1:debug args="${test.class}" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}:${j2ee.platform.embeddableejb.classpath}">
|
||||
<customize>
|
||||
<arg value="showoutput=true"/>
|
||||
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
|
||||
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
|
||||
</customize>
|
||||
</webproject1:debug>
|
||||
</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,-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" if="no.dist.ear.dir" 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>
|
9
nbproject/genfiles.properties
Normal file
9
nbproject/genfiles.properties
Normal file
@ -0,0 +1,9 @@
|
||||
build.xml.data.CRC32=7ba4ef3e
|
||||
build.xml.script.CRC32=d8ac74c8
|
||||
build.xml.stylesheet.CRC32=c0ebde35@1.21.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=7ba4ef3e
|
||||
nbproject/build-impl.xml.script.CRC32=67947c0e
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=b139b33b@1.21.1.1
|
||||
nbproject/jaxws-build.xml.stylesheet.CRC32=83928735
|
16
nbproject/jax-ws.xml
Normal file
16
nbproject/jax-ws.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jax-ws xmlns="http://www.netbeans.org/ns/jax-ws/1">
|
||||
<services>
|
||||
<service name="ExecuteService">
|
||||
<implementation-class>net.brutex.xservices.ws.ExecuteService</implementation-class>
|
||||
</service>
|
||||
<service name="ArchiveService">
|
||||
<implementation-class>net.brutex.xservices.ws.ArchiveService</implementation-class>
|
||||
</service>
|
||||
<service name="FileService">
|
||||
<implementation-class>net.brutex.xservices.ws.FileService</implementation-class>
|
||||
</service>
|
||||
</services>
|
||||
<clients/>
|
||||
<jsr109>false</jsr109>
|
||||
</jax-ws>
|
42
nbproject/jaxws-build.xml
Normal file
42
nbproject/jaxws-build.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<?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
|
||||
===================
|
||||
-->
|
||||
<target name="wsgen-init" depends="init, -do-compile">
|
||||
<mkdir dir="${build.generated.sources.dir}/jax-ws/resources/"/>
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
|
||||
<classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/>
|
||||
</taskdef>
|
||||
</target>
|
||||
<target name="wsgen-ExecuteService" depends="wsgen-init">
|
||||
<wsgen sourcedestdir="${build.generated.sources.dir}/jax-ws" resourcedestdir="${build.generated.sources.dir}/jax-ws/resources/" destdir="${build.generated.sources.dir}/jax-ws" verbose="true" xendorsed="true" keep="true" genwsdl="true" sei="net.brutex.xservices.ws.ExecuteService">
|
||||
<classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/>
|
||||
</wsgen>
|
||||
</target>
|
||||
<target name="wsgen-ArchiveService" depends="wsgen-init">
|
||||
<wsgen sourcedestdir="${build.generated.sources.dir}/jax-ws" resourcedestdir="${build.generated.sources.dir}/jax-ws/resources/" destdir="${build.generated.sources.dir}/jax-ws" verbose="true" xendorsed="true" keep="true" genwsdl="true" sei="net.brutex.xservices.ws.ArchiveService">
|
||||
<classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/>
|
||||
</wsgen>
|
||||
</target>
|
||||
<target name="wsgen-FileService" depends="wsgen-init">
|
||||
<wsgen sourcedestdir="${build.generated.sources.dir}/jax-ws" resourcedestdir="${build.generated.sources.dir}/jax-ws/resources/" destdir="${build.generated.sources.dir}/jax-ws" verbose="true" xendorsed="true" keep="true" genwsdl="true" sei="net.brutex.xservices.ws.FileService">
|
||||
<classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/>
|
||||
</wsgen>
|
||||
</target>
|
||||
<!--
|
||||
===================
|
||||
JAX-WS WSIMPORT SECTION
|
||||
===================
|
||||
-->
|
||||
</project>
|
145
nbproject/project.properties
Normal file
145
nbproject/project.properties
Normal file
@ -0,0 +1,145 @@
|
||||
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
|
||||
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=
|
||||
excludes=
|
||||
file.reference.activation.jar=lib/activation.jar
|
||||
file.reference.ant-antlr.jar=lib/ant-antlr.jar
|
||||
file.reference.ant-apache-bcel.jar=lib/ant-apache-bcel.jar
|
||||
file.reference.ant-apache-bsf.jar=lib/ant-apache-bsf.jar
|
||||
file.reference.ant-apache-log4j.jar=lib/ant-apache-log4j.jar
|
||||
file.reference.ant-apache-oro.jar=lib/ant-apache-oro.jar
|
||||
file.reference.ant-apache-regexp.jar=lib/ant-apache-regexp.jar
|
||||
file.reference.ant-apache-resolver.jar=lib/ant-apache-resolver.jar
|
||||
file.reference.ant-commons-logging.jar=lib/ant-commons-logging.jar
|
||||
file.reference.ant-commons-net.jar=lib/ant-commons-net.jar
|
||||
file.reference.ant-jai.jar=lib/ant-jai.jar
|
||||
file.reference.ant-javamail.jar=lib/ant-javamail.jar
|
||||
file.reference.ant-jdepend.jar=lib/ant-jdepend.jar
|
||||
file.reference.ant-jmf.jar=lib/ant-jmf.jar
|
||||
file.reference.ant-jsch.jar=lib/ant-jsch.jar
|
||||
file.reference.ant-junit.jar=lib/ant-junit.jar
|
||||
file.reference.ant-launcher.jar=lib/ant-launcher.jar
|
||||
file.reference.ant-netrexx.jar=lib/ant-netrexx.jar
|
||||
file.reference.ant-nodeps.jar=lib/ant-nodeps.jar
|
||||
file.reference.ant-starteam.jar=lib/ant-starteam.jar
|
||||
file.reference.ant-stylebook.jar=lib/ant-stylebook.jar
|
||||
file.reference.ant-swing.jar=lib/ant-swing.jar
|
||||
file.reference.ant-testutil.jar=lib/ant-testutil.jar
|
||||
file.reference.ant-trax.jar=lib/ant-trax.jar
|
||||
file.reference.ant-weblogic.jar=lib/ant-weblogic.jar
|
||||
file.reference.commons-logging-api-1.0.4.jar=lib/commons-logging-api-1.0.4.jar
|
||||
file.reference.commons-net-2.0.jar=lib/commons-net-2.0.jar
|
||||
file.reference.commons-net-ftp-2.0.jar=lib/commons-net-ftp-2.0.jar
|
||||
file.reference.jakarta-oro-2.0.8.jar=lib/jakarta-oro-2.0.8.jar
|
||||
file.reference.java-unrar-0.3.jar=lib/java-unrar-0.3.jar
|
||||
file.reference.jsch-0.1.42.jar=lib/jsch-0.1.42.jar
|
||||
file.reference.webservices-api.jar=lib/webservices-api.jar
|
||||
file.reference.webservices-extra-api.jar=lib/webservices-extra-api.jar
|
||||
file.reference.webservices-extra.jar=lib/webservices-extra.jar
|
||||
file.reference.webservices-rt.jar=lib/webservices-rt.jar
|
||||
file.reference.webservices-tools.jar=lib/webservices-tools.jar
|
||||
includes=**
|
||||
j2ee.deploy.on.save=true
|
||||
j2ee.platform=1.5
|
||||
j2ee.server.type=Tomcat60
|
||||
jar.compress=false
|
||||
javac.classpath=\
|
||||
${file.reference.activation.jar}:\
|
||||
${file.reference.webservices-api.jar}:\
|
||||
${file.reference.webservices-extra-api.jar}:\
|
||||
${file.reference.webservices-extra.jar}:\
|
||||
${file.reference.webservices-rt.jar}:\
|
||||
${file.reference.webservices-tools.jar}:\
|
||||
${file.reference.ant-antlr.jar}:\
|
||||
${file.reference.ant-apache-bcel.jar}:\
|
||||
${file.reference.ant-apache-bsf.jar}:\
|
||||
${file.reference.ant-apache-log4j.jar}:\
|
||||
${file.reference.ant-apache-oro.jar}:\
|
||||
${file.reference.ant-apache-regexp.jar}:\
|
||||
${file.reference.ant-apache-resolver.jar}:\
|
||||
${file.reference.ant-commons-logging.jar}:\
|
||||
${file.reference.ant-commons-net.jar}:\
|
||||
${file.reference.ant-jai.jar}:\
|
||||
${file.reference.ant-javamail.jar}:\
|
||||
${file.reference.ant-jdepend.jar}:\
|
||||
${file.reference.ant-jmf.jar}:\
|
||||
${file.reference.ant-jsch.jar}:\
|
||||
${file.reference.ant-junit.jar}:\
|
||||
${file.reference.ant-launcher.jar}:\
|
||||
${file.reference.ant-netrexx.jar}:\
|
||||
${file.reference.ant-nodeps.jar}:\
|
||||
${file.reference.ant-starteam.jar}:\
|
||||
${file.reference.ant-stylebook.jar}:\
|
||||
${file.reference.ant-swing.jar}:\
|
||||
${file.reference.ant-testutil.jar}:\
|
||||
${file.reference.ant-trax.jar}:\
|
||||
${file.reference.ant-weblogic.jar}:\
|
||||
${file.reference.jsch-0.1.42.jar}:\
|
||||
${file.reference.commons-net-2.0.jar}:\
|
||||
${file.reference.commons-net-ftp-2.0.jar}:\
|
||||
${file.reference.jakarta-oro-2.0.8.jar}:\
|
||||
${libs.ApacheAnt.classpath}:\
|
||||
${file.reference.java-unrar-0.3.jar}:\
|
||||
${file.reference.commons-logging-api-1.0.4.jar}
|
||||
# Space-separated list of extra javac options
|
||||
javac.compilerargs=
|
||||
javac.debug=true
|
||||
javac.deprecation=true
|
||||
javac.source=1.5
|
||||
javac.target=1.5
|
||||
javac.test.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}:\
|
||||
${libs.junit.classpath}:\
|
||||
${libs.junit_4.classpath}
|
||||
javadoc.additionalparam=
|
||||
javadoc.author=true
|
||||
javadoc.encoding=${source.encoding}
|
||||
javadoc.noindex=false
|
||||
javadoc.nonavbar=false
|
||||
javadoc.notree=false
|
||||
javadoc.preview=true
|
||||
javadoc.private=false
|
||||
javadoc.splitindex=false
|
||||
javadoc.use=true
|
||||
javadoc.version=false
|
||||
javadoc.windowtitle=XServices Javadoc
|
||||
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api"
|
||||
jspcompilation.classpath=${jspc.classpath}:${javac.classpath}
|
||||
lib.dir=${web.docbase.dir}/WEB-INF/lib
|
||||
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=XServices.war
|
||||
war.name=XServices.war
|
||||
web.docbase.dir=web
|
||||
webinf.dir=web/WEB-INF
|
170
nbproject/project.xml
Normal file
170
nbproject/project.xml
Normal file
@ -0,0 +1,170 @@
|
||||
<?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"/>
|
||||
</buildExtensions>
|
||||
<data xmlns="http://www.netbeans.org/ns/web-project/3">
|
||||
<name>XServices</name>
|
||||
<minimum-ant-version>1.6.5</minimum-ant-version>
|
||||
<web-module-libraries>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.activation.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.webservices-api.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.webservices-extra-api.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.webservices-extra.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.webservices-rt.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.webservices-tools.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-antlr.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-bcel.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-bsf.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-log4j.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-oro.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-regexp.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-apache-resolver.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-commons-logging.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-commons-net.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-jai.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-javamail.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-jdepend.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-jmf.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-jsch.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-junit.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-launcher.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-netrexx.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-nodeps.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-starteam.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-stylebook.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-swing.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-testutil.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-trax.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.ant-weblogic.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.jsch-0.1.42.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.commons-net-2.0.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.commons-net-ftp-2.0.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.jakarta-oro-2.0.8.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${libs.ApacheAnt.classpath}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.java-unrar-0.3.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
<library dirs="200">
|
||||
<file>${file.reference.commons-logging-api-1.0.4.jar}</file>
|
||||
<path-in-war>WEB-INF/lib</path-in-war>
|
||||
</library>
|
||||
</web-module-libraries>
|
||||
<web-module-additional-libraries/>
|
||||
<source-roots>
|
||||
<root id="src.dir"/>
|
||||
</source-roots>
|
||||
<test-roots>
|
||||
<root id="test.src.dir"/>
|
||||
</test-roots>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
2
src/conf/MANIFEST.MF
Normal file
2
src/conf/MANIFEST.MF
Normal file
@ -0,0 +1,2 @@
|
||||
Manifest-Version: 1.0
|
||||
|
79
src/java/net/brutex/xservices/types/ArchiveResource.java
Normal file
79
src/java/net/brutex/xservices/types/ArchiveResource.java
Normal file
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import java.io.File;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
import org.apache.tools.ant.types.resources.TarResource;
|
||||
import org.apache.tools.ant.types.resources.ZipResource;
|
||||
import org.apache.tools.tar.TarEntry;
|
||||
import org.apache.tools.zip.ZipEntry;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@XmlType(namespace = "http://ws.xservices.brutex.net")
|
||||
public class ArchiveResource
|
||||
implements ResourceInterface {
|
||||
|
||||
@XmlElement(defaultValue = "ZIP", nillable = false, required = true)
|
||||
public ArchiveType type = ArchiveType.ZIP;
|
||||
@XmlElement(nillable = false, required = true)
|
||||
public String archive;
|
||||
@XmlElement(nillable = false, required = true)
|
||||
public String uri;
|
||||
|
||||
@XmlEnum(String.class)
|
||||
public enum ArchiveType {
|
||||
|
||||
ZIP, TAR, GZTAR
|
||||
}
|
||||
|
||||
public Resource getAntResource(Project p) {
|
||||
Resource res = null;
|
||||
switch (type) {
|
||||
case TAR:
|
||||
TarEntry tarentry = new TarEntry(uri);
|
||||
TarResource tres = new TarResource(new File(archive), tarentry);
|
||||
res = tres;
|
||||
break;
|
||||
|
||||
case GZTAR:
|
||||
TarResource gres = new TarResource(new org.apache.tools.ant.types.resources.GZipResource(
|
||||
new org.apache.tools.ant.types.resources.FileResource(
|
||||
new File(archive))), new TarEntry(uri));
|
||||
res = gres;
|
||||
break;
|
||||
|
||||
default: //This is type ZIP also
|
||||
ZipEntry zipentry = new ZipEntry(uri);
|
||||
if (zipentry.getTime() == -1) {
|
||||
zipentry.setTime(System.currentTimeMillis());
|
||||
}
|
||||
res = new ZipResource(new File(archive), null, zipentry);
|
||||
break;
|
||||
}
|
||||
|
||||
res.setProject(p);
|
||||
return res;
|
||||
}
|
||||
}
|
28
src/java/net/brutex/xservices/types/CompressionType.java
Normal file
28
src/java/net/brutex/xservices/types/CompressionType.java
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@XmlEnum()
|
||||
public enum CompressionType {
|
||||
NONE, GZIP, BZIP2
|
||||
}
|
83
src/java/net/brutex/xservices/types/FileResource.java
Normal file
83
src/java/net/brutex/xservices/types/FileResource.java
Normal file
@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import java.io.File;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
import org.apache.tools.ant.types.resources.BZip2Resource;
|
||||
import org.apache.tools.ant.types.resources.GZipResource;
|
||||
import org.apache.tools.ant.types.resources.URLResource;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@XmlRootElement(namespace="http://ws.xservices.brutex.net")
|
||||
public class FileResource
|
||||
implements ResourceInterface {
|
||||
|
||||
@XmlElement(defaultValue = "FILE", nillable = false, required = true)
|
||||
public Type type = Type.FILE;
|
||||
@XmlElement(nillable = false, required = true)
|
||||
public String uri;
|
||||
|
||||
@XmlEnum(String.class)
|
||||
public enum Type {
|
||||
|
||||
FILE, URL, GZIP, BZIP2
|
||||
}
|
||||
|
||||
public FileResource(Type type, String uri) {
|
||||
this.type = type;
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public FileResource() {
|
||||
}
|
||||
|
||||
public Resource getAntResource(Project p) {
|
||||
Resource res = null;
|
||||
switch (type) {
|
||||
case URL:
|
||||
URLResource ures = new URLResource(uri);
|
||||
res = ures;
|
||||
break;
|
||||
|
||||
case GZIP:
|
||||
GZipResource gres = new GZipResource(
|
||||
new org.apache.tools.ant.types.resources.FileResource(new File(uri)));
|
||||
res = gres;
|
||||
break;
|
||||
|
||||
case BZIP2:
|
||||
BZip2Resource bres = new BZip2Resource(
|
||||
new org.apache.tools.ant.types.resources.FileResource(new File(uri)));
|
||||
res = bres;
|
||||
break;
|
||||
|
||||
default:
|
||||
//Default is Type FILE
|
||||
res = new org.apache.tools.ant.types.resources.FileResource(new File(uri));
|
||||
}
|
||||
res.setProject(p);
|
||||
return res;
|
||||
}
|
||||
}
|
89
src/java/net/brutex/xservices/types/FileSetResource.java
Normal file
89
src/java/net/brutex/xservices/types/FileSetResource.java
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import java.io.File;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.types.FileSet;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
import org.apache.tools.ant.types.TarFileSet;
|
||||
import org.apache.tools.ant.types.ZipFileSet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@XmlType(name="FileSetType", namespace="http://ws.xservices.brutex.net",
|
||||
propOrder={"type", "source", "includes", "excludes", "casesensitive"})
|
||||
public class FileSetResource {
|
||||
|
||||
@XmlElement(name="FileSetType", required=true, nillable=false, defaultValue="FILES")
|
||||
public FileSetType type = FileSetType.FILES;
|
||||
|
||||
@XmlElement(name="source", required=true, nillable=false)
|
||||
public String source = "";
|
||||
|
||||
@XmlElement(name="includes", required=true, nillable=false, defaultValue="**/*")
|
||||
public String includes = "";
|
||||
|
||||
@XmlElement(name="excludes", required=false, nillable=true, defaultValue="")
|
||||
public String excludes ="";
|
||||
|
||||
@XmlElement(name="casesensitive", required=true, nillable=false, defaultValue="true")
|
||||
public boolean casesensitive = true;
|
||||
|
||||
public FileSet getAntFileSet(Project p) {
|
||||
FileSet set = null;
|
||||
switch(type) {
|
||||
case ZIP:
|
||||
ZipFileSet zset = new ZipFileSet();
|
||||
zset.setSrc(new File(source));
|
||||
zset.setEncoding(System.getProperty("file.encoding"));
|
||||
set = zset;
|
||||
break;
|
||||
case TAR:
|
||||
TarFileSet tset = new TarFileSet();
|
||||
tset.setSrc(new File(source));
|
||||
set = tset;
|
||||
break;
|
||||
case GZTAR:
|
||||
Resource res = new FileResource(FileResource.Type.GZIP, source).getAntResource(p);
|
||||
TarFileSet gzset = new TarFileSet();
|
||||
gzset.setSrcResource(res);
|
||||
set = gzset;
|
||||
break;
|
||||
default: //FILES
|
||||
set = new FileSet();
|
||||
set.setDir(new File(source));
|
||||
}
|
||||
set.setProject(p);
|
||||
set.setIncludes(includes);
|
||||
set.setExcludes(excludes);
|
||||
set.setCaseSensitive(casesensitive);
|
||||
|
||||
return set;
|
||||
}
|
||||
|
||||
@XmlEnum
|
||||
public enum FileSetType{
|
||||
FILES, ZIP, TAR, GZTAR
|
||||
}
|
||||
|
||||
}
|
30
src/java/net/brutex/xservices/types/ResourceInterface.java
Normal file
30
src/java/net/brutex/xservices/types/ResourceInterface.java
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.types.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
public interface ResourceInterface {
|
||||
|
||||
Resource getAntResource(Project p);
|
||||
|
||||
}
|
43
src/java/net/brutex/xservices/types/ReturnCode.java
Normal file
43
src/java/net/brutex/xservices/types/ReturnCode.java
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.types;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@XmlType(namespace="http://ws.xservices.brutex.net")
|
||||
public class ReturnCode {
|
||||
|
||||
@XmlElement(required=true)
|
||||
public int returnCode;
|
||||
|
||||
public String stdOut;
|
||||
public String stdErr;
|
||||
|
||||
public ReturnCode() {
|
||||
}
|
||||
|
||||
public ReturnCode(int returnCode, String stdOut, String stdErr) {
|
||||
this.returnCode = returnCode;
|
||||
this.stdOut = stdOut;
|
||||
this.stdErr = stdErr;
|
||||
}
|
||||
}
|
91
src/java/net/brutex/xservices/util/RunTask.java
Normal file
91
src/java/net/brutex/xservices/util/RunTask.java
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.util;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Vector;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.BuildListener;
|
||||
import org.apache.tools.ant.BuildLogger;
|
||||
import org.apache.tools.ant.DefaultLogger;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Target;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.taskdefs.Echo;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
public class RunTask {
|
||||
|
||||
Project antproject;
|
||||
Target anttarget;
|
||||
Task anttask;
|
||||
|
||||
public RunTask(Task anttask) {
|
||||
|
||||
antproject = new Project();
|
||||
antproject.init();
|
||||
antproject.setBasedir(System.getProperty("java.io.tmpdir"));
|
||||
DefaultLogger log = new DefaultLogger();
|
||||
log.setErrorPrintStream(System.err);
|
||||
log.setOutputPrintStream(System.out);
|
||||
antproject.addBuildListener(log);
|
||||
Vector listeners = antproject.getBuildListeners();
|
||||
for (Iterator i = listeners.iterator(); i.hasNext(); ) {
|
||||
BuildListener listener = (BuildListener) i.next();
|
||||
|
||||
if (listener instanceof BuildLogger) {
|
||||
BuildLogger logger = (BuildLogger) listener;
|
||||
logger.setMessageOutputLevel(Echo.EchoLevel.VERBOSE.getLevel());
|
||||
logger.setOutputPrintStream(System.out);
|
||||
logger.setErrorPrintStream(System.err);
|
||||
}
|
||||
}
|
||||
|
||||
anttarget = new Target();
|
||||
anttarget.setName("XBridgeNGDynamicTarget");
|
||||
anttarget.setProject(antproject);
|
||||
antproject.addTarget(anttarget);
|
||||
|
||||
this.anttask = anttask;
|
||||
prepareTask();
|
||||
}
|
||||
|
||||
private void prepareTask()
|
||||
throws BuildException {
|
||||
anttask.init();
|
||||
anttask.setProject(antproject);
|
||||
anttask.setOwningTarget(anttarget);
|
||||
anttarget.addTask(anttask);
|
||||
antproject.addOrReplaceTarget(anttarget);
|
||||
}
|
||||
|
||||
public Map<String, String> postTask()
|
||||
throws BuildException
|
||||
{
|
||||
try {
|
||||
antproject.executeTarget(anttarget.getName());
|
||||
//anttask.execute();
|
||||
return antproject.getProperties();
|
||||
} catch (Exception ex) {
|
||||
throw new BuildException(ex);
|
||||
}
|
||||
}
|
||||
}
|
74
src/java/net/brutex/xservices/util/UnRarTask.java
Normal file
74
src/java/net/brutex/xservices/util/UnRarTask.java
Normal file
@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.util;
|
||||
|
||||
import de.innosystec.unrar.Archive;
|
||||
import de.innosystec.unrar.exception.RarException;
|
||||
import de.innosystec.unrar.rarfile.FileHeader;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Task;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
public class UnRarTask extends Task {
|
||||
|
||||
private File dst = null;
|
||||
private File src = null;
|
||||
|
||||
public File getDst() {
|
||||
return dst;
|
||||
}
|
||||
|
||||
public void setDst(File dst) {
|
||||
this.dst = dst;
|
||||
}
|
||||
|
||||
public File getSrc() {
|
||||
return src;
|
||||
}
|
||||
|
||||
public void setSrc(File src) {
|
||||
this.src = src;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
if(src==null ) throw new BuildException("Please supply a source archive file.");
|
||||
if(!src.exists()) throw new BuildException("Archive '"+src.getName()+"' does not exist.");
|
||||
|
||||
try {
|
||||
if(dst==null) dst = new File(src.getParent());
|
||||
Archive ar = new Archive(src);
|
||||
List<FileHeader> list = ar.getFileHeaders();
|
||||
for(FileHeader h : list) {
|
||||
ar.extractFile(h, new FileOutputStream(new File(dst.getAbsolutePath()+"/"+h.getFileNameString())));
|
||||
}
|
||||
} catch (RarException ex) {
|
||||
throw new BuildException(ex.getMessage(), ex);
|
||||
} catch (IOException ex) {
|
||||
throw new BuildException(ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
300
src/java/net/brutex/xservices/ws/ArchiveService.java
Normal file
300
src/java/net/brutex/xservices/ws/ArchiveService.java
Normal file
@ -0,0 +1,300 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.ws;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebParam;
|
||||
import javax.jws.WebService;
|
||||
import net.brutex.xservices.types.ArchiveResource;
|
||||
import net.brutex.xservices.types.CompressionType;
|
||||
import net.brutex.xservices.types.FileResource;
|
||||
import net.brutex.xservices.types.ResourceInterface;
|
||||
import net.brutex.xservices.util.RunTask;
|
||||
import net.brutex.xservices.util.UnRarTask;
|
||||
import org.apache.tools.ant.taskdefs.BUnzip2;
|
||||
import org.apache.tools.ant.taskdefs.BZip2;
|
||||
import org.apache.tools.ant.taskdefs.Expand;
|
||||
import org.apache.tools.ant.taskdefs.GUnzip;
|
||||
import org.apache.tools.ant.taskdefs.GZip;
|
||||
import org.apache.tools.ant.taskdefs.Untar;
|
||||
import org.apache.tools.ant.taskdefs.Zip;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@WebService(targetNamespace="http://ws.xservices.brutex.net", name="ArchiveService")
|
||||
public class ArchiveService {
|
||||
|
||||
public static final String WS_OPERATION_BZIP2 = "bzip2";
|
||||
public static final String WS_OPERATION_BZIP2_ARCHIVE = "bzip2FromArchive";
|
||||
public static final String WS_OPERATION_GZIP = "gzip";
|
||||
public static final String WS_OPERATION_GZIP_ARCHIVE = "gzipFromArchive";
|
||||
public static final String WS_OPERATION_UNZIP = "unzip";
|
||||
public static final String WS_OPERATION_GUNZIP = "gunzip";
|
||||
public static final String WS_OPERATION_BUNZIP2 = "bunzip2";
|
||||
|
||||
public static final String WS_PARAM_SOURCEFILE = "source";
|
||||
public static final String WS_PARAM_SOURCEFILE_STRING = "srcfile";
|
||||
public static final String WS_PARAM_SOURCEURL = "srcurl";
|
||||
public static final String WS_PARAM_SOURCEARCHIVE = "archivesource";
|
||||
public static final String WS_PARAM_DESTFILE = "destfile";
|
||||
public static final String WS_PARAM_DESTDIR = "destdir";
|
||||
|
||||
public static final String WS_PARAM_ENCODING = "encoding";
|
||||
public static final String WS_PARAM_OVERWRITE= "overwrite";
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_BZIP2, action=WS_OPERATION_BZIP2)
|
||||
public String bzip2(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file) {
|
||||
return bzip(src, new File(file));
|
||||
}
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_BZIP2_ARCHIVE, action=WS_OPERATION_BZIP2_ARCHIVE)
|
||||
public String bzip2FromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file) {
|
||||
return bzip(src, new File(file));
|
||||
}
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_GZIP, action=WS_OPERATION_GZIP)
|
||||
public String gzip(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file) {
|
||||
return gzip(src, new File(file));
|
||||
}
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_GZIP_ARCHIVE, action=WS_OPERATION_GZIP_ARCHIVE)
|
||||
public String gzipFromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file) {
|
||||
return gzip(src, new File(file));
|
||||
}
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_GUNZIP, action=WS_OPERATION_GUNZIP)
|
||||
public String gunzip(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest) {
|
||||
File target = null;
|
||||
if (!dest.equals("") && dest != null) {
|
||||
target = new File(dest);
|
||||
}
|
||||
return GUnzip(new FileResource(FileResource.Type.FILE, src), target);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = WS_OPERATION_BUNZIP2)
|
||||
public String bunzip2(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest) {
|
||||
File target = null;
|
||||
if (!dest.equals("") && dest != null) {
|
||||
target = new File(dest);
|
||||
}
|
||||
return BUnzip2(new FileResource(FileResource.Type.FILE, src), target);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "gunzipFromURL")
|
||||
public String gunzipFromURL(@WebParam(name = WS_PARAM_SOURCEURL) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest) {
|
||||
File target = null;
|
||||
if (!dest.equals("") && dest != null) {
|
||||
target = new File(dest);
|
||||
}
|
||||
return GUnzip(new FileResource(FileResource.Type.URL, src), target);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "bunzip2FromURL")
|
||||
public String bunzip2FromURL(@WebParam(name = WS_PARAM_SOURCEURL) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest) {
|
||||
File target = null;
|
||||
if (!dest.equals("") && dest != null) {
|
||||
target = new File(dest);
|
||||
}
|
||||
return BUnzip2(new FileResource(FileResource.Type.URL, src), target);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "zip")
|
||||
public String zip(@WebParam(name = WS_PARAM_SOURCEFILE) FileResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file,
|
||||
@WebParam(name = WS_PARAM_OVERWRITE) boolean overwrite,
|
||||
@WebParam(name = WS_PARAM_ENCODING) String encoding,
|
||||
@WebParam(name = "compresslevel") int level) {
|
||||
if (level > 9) {
|
||||
level = 9;
|
||||
}
|
||||
if (level < 0) {
|
||||
level = 0;
|
||||
}
|
||||
return zip(src, new File(file), encoding, !overwrite, level);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "zipFromArchive")
|
||||
public String zipFromArchive(@WebParam(name = WS_PARAM_SOURCEARCHIVE) ArchiveResource src,
|
||||
@WebParam(name = WS_PARAM_DESTFILE) String file,
|
||||
@WebParam(name = WS_PARAM_OVERWRITE) boolean update,
|
||||
@WebParam(name = WS_PARAM_ENCODING) String encoding,
|
||||
@WebParam(name = "compresslevel") int level) {
|
||||
return zip(src, new File(file), encoding, !update, level);
|
||||
}
|
||||
|
||||
|
||||
@WebMethod(operationName = "unzip")
|
||||
public String unzip(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest,
|
||||
@WebParam(name = WS_PARAM_OVERWRITE) boolean overwrite,
|
||||
@WebParam(name = WS_PARAM_ENCODING) String encoding) {
|
||||
return unzip(new File(src), new File(dest), overwrite, encoding);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "unrar")
|
||||
public String unrar(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest) {
|
||||
return unrar(new File(src), new File(dest));
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "untar")
|
||||
public String untar(@WebParam(name = WS_PARAM_SOURCEFILE_STRING) String src,
|
||||
@WebParam(name = WS_PARAM_DESTDIR) String dest,
|
||||
@WebParam(name = WS_PARAM_OVERWRITE) boolean overwrite,
|
||||
@WebParam(name = "compression") CompressionType compression) {
|
||||
Untar.UntarCompressionMethod c = new Untar.UntarCompressionMethod();
|
||||
switch (compression) {
|
||||
case GZIP:
|
||||
c.setValue("gzip");
|
||||
break;
|
||||
case BZIP2:
|
||||
c.setValue("bzip2");
|
||||
break;
|
||||
default:
|
||||
c.setValue("none");
|
||||
break;
|
||||
}
|
||||
return untar(new File(src), new File(dest), overwrite, c);
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String bzip(ResourceInterface src, File dst) {
|
||||
if (dst.exists() && dst.isFile()) {
|
||||
dst.delete();
|
||||
}
|
||||
BZip2 bzip = new BZip2();
|
||||
bzip.setTaskName("BZip2");
|
||||
RunTask runner = new RunTask(bzip);
|
||||
bzip.setSrcResource(src.getAntResource(bzip.getProject()));
|
||||
bzip.setDestfile(dst);
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String gzip(ResourceInterface src, File dst) {
|
||||
if (dst.exists() && dst.isFile()) {
|
||||
dst.delete();
|
||||
}
|
||||
GZip gzip = new GZip();
|
||||
gzip.setTaskName("GZip");
|
||||
RunTask runner = new RunTask(gzip);
|
||||
gzip.addConfigured(src.getAntResource(gzip.getProject()));
|
||||
gzip.setDestfile(dst);
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String zip(ResourceInterface src, File dst, String encoding, boolean update, int compresslevel) {
|
||||
Zip zip = new Zip();
|
||||
zip.setTaskName("Zip");
|
||||
RunTask runner = new RunTask(zip);
|
||||
zip.add(src.getAntResource(zip.getProject()));
|
||||
zip.setDestFile(dst);
|
||||
if (encoding != null && !encoding.equals("")) {
|
||||
zip.setEncoding(encoding);
|
||||
}
|
||||
zip.setUpdate(update);
|
||||
zip.setLevel(compresslevel);
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String GUnzip(ResourceInterface src, File dst) {
|
||||
GUnzip uz = new GUnzip();
|
||||
uz.setTaskName("GUnzip");
|
||||
RunTask runner = new RunTask(uz);
|
||||
uz.setSrcResource(src.getAntResource(uz.getProject()));
|
||||
if (dst != null) {
|
||||
uz.setDest(dst);
|
||||
}
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String BUnzip2(ResourceInterface src, File dst) {
|
||||
BUnzip2 uz = new BUnzip2();
|
||||
uz.setTaskName("BUnzip2");
|
||||
RunTask runner = new RunTask(uz);
|
||||
uz.setSrcResource(src.getAntResource(uz.getProject()));
|
||||
if (dst != null) {
|
||||
uz.setDest(dst);
|
||||
}
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String unzip(File src, File dest, boolean overwrite, String encoding) {
|
||||
Expand unzip = new Expand();
|
||||
unzip.setTaskName("UnZip");
|
||||
RunTask runner = new RunTask(unzip);
|
||||
unzip.setSrc(src);
|
||||
unzip.setDest(dest);
|
||||
unzip.setOverwrite(overwrite);
|
||||
if (encoding != null && !encoding.equals("")) {
|
||||
unzip.setEncoding(encoding);
|
||||
}
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String untar(File src, File dest, boolean overwrite, Untar.UntarCompressionMethod compression) {
|
||||
Untar unzip = new Untar();
|
||||
unzip.setTaskName("Untar");
|
||||
RunTask runner = new RunTask(unzip);
|
||||
unzip.setSrc(src);
|
||||
unzip.setDest(dest);
|
||||
unzip.setOverwrite(overwrite);
|
||||
unzip.setCompression(compression);
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String unrar(File src, File dst) {
|
||||
UnRarTask unrar = new UnRarTask();
|
||||
unrar.setTaskName("UnRar");
|
||||
RunTask runner = new RunTask(unrar);
|
||||
unrar.setSrc(src);
|
||||
unrar.setDst(dst);
|
||||
Map<String, String> result = runner.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
|
||||
}
|
290
src/java/net/brutex/xservices/ws/ExecuteService.java
Normal file
290
src/java/net/brutex/xservices/ws/ExecuteService.java
Normal file
@ -0,0 +1,290 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.ws;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebParam;
|
||||
import javax.jws.WebService;
|
||||
import net.brutex.xservices.types.ReturnCode;
|
||||
import net.brutex.xservices.util.RunTask;
|
||||
import org.apache.tools.ant.taskdefs.ExecTask;
|
||||
import org.apache.tools.ant.taskdefs.optional.net.RExecTask;
|
||||
import org.apache.tools.ant.taskdefs.optional.net.TelnetTask;
|
||||
import org.apache.tools.ant.taskdefs.optional.ssh.SSHExec;
|
||||
import org.apache.tools.ant.types.Commandline;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@WebService(targetNamespace="http://ws.xservices.brutex.net", name="ExecuteService")
|
||||
public class ExecuteService {
|
||||
|
||||
@WebMethod(operationName = "runCommand")
|
||||
public ReturnCode runCommand(@WebParam(name = "executable") String cmd,
|
||||
@WebParam(name = "argline") String args,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
|
||||
return executeCommand(cmd,
|
||||
Commandline.translateCommandline(args),
|
||||
null,
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
timeout);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "runCommandWithArgs")
|
||||
public ReturnCode runCommandWithArgs(@WebParam(name = "executable") String cmd,
|
||||
@WebParam(name = "arg") String[] args,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
|
||||
return executeCommand(cmd,
|
||||
args,
|
||||
null,
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
timeout);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "runCommandAsync")
|
||||
public ReturnCode runCommandAsync(@WebParam(name = "executable") String cmd,
|
||||
@WebParam(name = "argline") String args) {
|
||||
|
||||
return executeCommand(cmd,
|
||||
Commandline.translateCommandline(args),
|
||||
null,
|
||||
true,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
0);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "runCommandAsyncWithArgs")
|
||||
public ReturnCode runCommandAsyncWithArgs(@WebParam(name = "executable") String cmd,
|
||||
@WebParam(name = "arg") String[] args) {
|
||||
|
||||
return executeCommand(cmd,
|
||||
args,
|
||||
null,
|
||||
true,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
0);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "runCommandWithSSH")
|
||||
public ReturnCode runCommandWithSSH(@WebParam(name = "host") String host,
|
||||
@WebParam(name = "port") int port,
|
||||
@WebParam(name = "username") String username,
|
||||
@WebParam(name = "password") String password,
|
||||
@WebParam(name = "command") String cmd,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
|
||||
return sshExec(host, username, password, port, cmd, timeout);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "runCommandWithSSHKeyAuth")
|
||||
public ReturnCode runCommandWithSSHKeyAuth(@WebParam(name = "host") String host,
|
||||
@WebParam(name = "port") int port,
|
||||
@WebParam(name = "username") String username,
|
||||
@WebParam(name = "passphrase") String passphrase,
|
||||
@WebParam(name = "keyfile") String keyfile,
|
||||
@WebParam(name = "command") String cmd,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
|
||||
return sshExecWithCert(host, username, passphrase, keyfile, port, cmd, timeout);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "rExec")
|
||||
public ReturnCode rExec(@WebParam(name = "host") String host,
|
||||
@WebParam(name = "port") int port,
|
||||
@WebParam(name = "username") String username,
|
||||
@WebParam(name = "password") String password,
|
||||
@WebParam(name = "command") String cmd,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
return rexec(host, port, username, password, cmd, timeout);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "telnet")
|
||||
public ReturnCode runTelnet(@WebParam(name = "host") String host,
|
||||
@WebParam(name = "port") int port,
|
||||
@WebParam(name = "username") String username,
|
||||
@WebParam(name = "password") String password,
|
||||
@WebParam(name = "prompt") String prompt,
|
||||
@WebParam(name = "command") String cmd,
|
||||
@WebParam(name = "expect") String expect,
|
||||
@WebParam(name = "timeout") long timeout) {
|
||||
return telnet(host, port, username, password, cmd, timeout, prompt, expect);
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private ReturnCode executeCommand(String executable,
|
||||
String[] args,
|
||||
File dir,
|
||||
boolean spawn,
|
||||
String inputstring,
|
||||
boolean newenvironment,
|
||||
boolean vmlauncher,
|
||||
boolean searchpath,
|
||||
long timeout) {
|
||||
ExecTask exe = new ExecTask();
|
||||
RunTask runner = new RunTask(exe);
|
||||
Commandline cmdl = new Commandline();
|
||||
cmdl.setExecutable(executable);
|
||||
cmdl.addArguments(args);
|
||||
System.out.println(cmdl.describeCommand());
|
||||
exe.setCommand(cmdl);
|
||||
exe.setDir(dir);
|
||||
if (spawn) {
|
||||
exe.setSpawn(spawn);
|
||||
} else {
|
||||
exe.setTimeout(timeout);
|
||||
exe.setInputString(inputstring);
|
||||
exe.setOutputproperty("ExecuteService.stdout");
|
||||
exe.setErrorProperty("ExecuteService.stderr");
|
||||
exe.setResultProperty("ExecuteService.result");
|
||||
}
|
||||
|
||||
exe.setNewenvironment(newenvironment);
|
||||
exe.setVMLauncher(vmlauncher);
|
||||
exe.setSearchPath(searchpath);
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
ReturnCode res = null;
|
||||
if (spawn) {
|
||||
res = new ReturnCode(0, null, null);
|
||||
} else {
|
||||
res = new ReturnCode(Integer.valueOf(result.get("ExecuteService.result")),
|
||||
result.get("ExecuteService.stdout"), result.get("ExecuteService.stderr"));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private ReturnCode sshExec(String host,
|
||||
String username,
|
||||
String password,
|
||||
int port,
|
||||
String command,
|
||||
long timeout) {
|
||||
SSHExec sshexec = new SSHExec();
|
||||
RunTask runner = new RunTask(sshexec);
|
||||
sshexec.setHost(host);
|
||||
sshexec.setUsername(username);
|
||||
sshexec.setPassword(password);
|
||||
sshexec.setPort(port);
|
||||
sshexec.setCommand(command);
|
||||
sshexec.setTrust(true);
|
||||
sshexec.setTimeout(timeout);
|
||||
sshexec.setOutputproperty("SSHExec.stdout");
|
||||
Map<String, String> result = runner.postTask();
|
||||
ReturnCode res = null;
|
||||
res = new ReturnCode(0,
|
||||
result.get("SSHExec.stdout"), "");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private ReturnCode sshExecWithCert(String host,
|
||||
String username,
|
||||
String passphrase,
|
||||
String keyfile,
|
||||
int port,
|
||||
String command,
|
||||
long timeout) {
|
||||
SSHExec sshexec = new SSHExec();
|
||||
RunTask runner = new RunTask(sshexec);
|
||||
sshexec.setHost(host);
|
||||
sshexec.setUsername(username);
|
||||
sshexec.setKeyfile(keyfile);
|
||||
sshexec.setPassphrase(passphrase);
|
||||
sshexec.setPort(port);
|
||||
sshexec.setCommand(command);
|
||||
sshexec.setTrust(true);
|
||||
sshexec.setTimeout(timeout);
|
||||
sshexec.setOutputproperty("SSHExec.stdout");
|
||||
Map<String, String> result = runner.postTask();
|
||||
ReturnCode res = null;
|
||||
res = new ReturnCode(0,
|
||||
result.get("SSHExec.stdout"), "");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private ReturnCode rexec(String host,
|
||||
int port,
|
||||
String username,
|
||||
String password,
|
||||
String command,
|
||||
long timeout) {
|
||||
RExecTask rexec = new RExecTask();
|
||||
RunTask runner = new RunTask(rexec);
|
||||
rexec.setServer(host);
|
||||
rexec.setPort(port);
|
||||
rexec.setUserid(username);
|
||||
rexec.setPassword(password);
|
||||
rexec.setCommand(command);
|
||||
rexec.setTimeout((int) Math.round(timeout));
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
ReturnCode res = null;
|
||||
res = new ReturnCode(0,
|
||||
"", "");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private ReturnCode telnet(String host,
|
||||
int port,
|
||||
String username,
|
||||
String password,
|
||||
String command,
|
||||
long timeout, String prompt, String expect) {
|
||||
TelnetTask rexec = new TelnetTask();
|
||||
RunTask runner = new RunTask(rexec);
|
||||
rexec.setServer(host);
|
||||
rexec.setPort(port);
|
||||
rexec.setUserid(username);
|
||||
rexec.setPassword(password);
|
||||
rexec.setTimeout((int) Math.round(timeout));
|
||||
|
||||
rexec.createRead().addText(prompt);
|
||||
rexec.createWrite().addText(command);
|
||||
rexec.createRead().addText(expect);
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
ReturnCode res = null;
|
||||
res = new ReturnCode(0,
|
||||
"", "");
|
||||
return res;
|
||||
}
|
||||
}
|
147
src/java/net/brutex/xservices/ws/FileService.java
Normal file
147
src/java/net/brutex/xservices/ws/FileService.java
Normal file
@ -0,0 +1,147 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.ws;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebParam;
|
||||
import javax.jws.WebService;
|
||||
import net.brutex.xservices.types.ArchiveResource;
|
||||
import net.brutex.xservices.types.FileResource;
|
||||
import net.brutex.xservices.types.FileSetResource;
|
||||
import net.brutex.xservices.types.ResourceInterface;
|
||||
import net.brutex.xservices.util.RunTask;
|
||||
import org.apache.tools.ant.taskdefs.Basename;
|
||||
import org.apache.tools.ant.taskdefs.Copy;
|
||||
import org.apache.tools.ant.taskdefs.Echo;
|
||||
import org.apache.tools.ant.taskdefs.LoadResource;
|
||||
import org.apache.tools.ant.types.FileSet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
@WebService(targetNamespace="http://ws.xservices.brutex.net", name="FileService")
|
||||
public class FileService {
|
||||
|
||||
@WebMethod(operationName = "basename")
|
||||
public String basename(@WebParam(name = "file") String filename,
|
||||
@WebParam(name = "suffix") String suffix) {
|
||||
return basename(new File(filename), suffix);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "copy")
|
||||
public void copy(@WebParam(name="fileset") FileSetResource src,
|
||||
@WebParam(name="todir") String todir,
|
||||
@WebParam(name="preservelastmodified") boolean plm,
|
||||
@WebParam(name="overwrite") boolean overwrite,
|
||||
@WebParam(name="encoding") String encoding)
|
||||
throws XServicesFault {
|
||||
try {
|
||||
copy(src, new File(todir), plm, overwrite, encoding);
|
||||
} catch (Exception ex) {
|
||||
throw new XServicesFault(ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "loadResource")
|
||||
public String loadRes(@WebParam(name = "resource") FileResource res,
|
||||
@WebParam(name = "encoding") String encoding) {
|
||||
if (encoding == null || encoding.equals("")) {
|
||||
encoding = System.getProperty("file.encoding");
|
||||
}
|
||||
return loadResource(res, encoding);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "loadResourceFromArchive")
|
||||
public String loadResFromArchive(@WebParam(name = "archiveresource") ArchiveResource res,
|
||||
@WebParam(name = "encoding") String encoding) {
|
||||
if (encoding == null || encoding.equals("")) {
|
||||
encoding = System.getProperty("file.encoding");
|
||||
}
|
||||
return loadResource(res, encoding);
|
||||
}
|
||||
|
||||
@WebMethod(operationName = "echoToFile")
|
||||
public String echo2file(@WebParam(name="message") String message,
|
||||
@WebParam(name="file")String file, @WebParam(name="encoding") String encoding,
|
||||
@WebParam(name="append")boolean append) {
|
||||
return echo(message, new File(file), encoding, append);
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String basename(File file,
|
||||
String suffix) {
|
||||
Basename basename = new Basename();
|
||||
RunTask runner = new RunTask(basename);
|
||||
basename.setFile(file);
|
||||
if (suffix != null && !suffix.equals("")) {
|
||||
basename.setSuffix(suffix);
|
||||
}
|
||||
basename.setProperty("basename.value");
|
||||
Map<String, String> result = runner.postTask();
|
||||
return result.get("basename.value");
|
||||
}
|
||||
@WebMethod(exclude = true)
|
||||
private String loadResource(ResourceInterface src, String encoding) {
|
||||
LoadResource lr = new LoadResource();
|
||||
lr.setTaskName("LoadResource");
|
||||
RunTask runner = new RunTask(lr);
|
||||
lr.addConfigured(src.getAntResource(lr.getProject()));
|
||||
lr.setEncoding(encoding);
|
||||
System.out.println("Using encoding: " + encoding);
|
||||
lr.setProperty("LoadResource.out");
|
||||
Map<String, String> result = runner.postTask();
|
||||
return result.get("LoadResource.out");
|
||||
}
|
||||
|
||||
@WebMethod(exclude = true)
|
||||
private String echo(String msg, File file, String encoding, boolean append) {
|
||||
Echo echo = new Echo();
|
||||
echo.setTaskName("toFile");
|
||||
RunTask runTask = new RunTask(echo);
|
||||
echo.addText(msg);
|
||||
echo.setEncoding(encoding);
|
||||
echo.setFile(file);
|
||||
echo.setAppend(append);
|
||||
Map<String, String> result = runTask.postTask();
|
||||
return "complete";
|
||||
}
|
||||
|
||||
@WebMethod(exclude=true)
|
||||
private void copy(FileSetResource src, File dst, boolean preservelastmodified,
|
||||
boolean overwrite, String encoding) {
|
||||
Copy copy = new Copy();
|
||||
copy.setTaskName("Copy");
|
||||
RunTask runner = new RunTask(copy);
|
||||
FileSet set = src.getAntFileSet(copy.getProject());
|
||||
copy.add(set);
|
||||
|
||||
if(dst.isDirectory()) copy.setTodir(dst);
|
||||
if(dst.isFile()) copy.setTofile(dst);
|
||||
copy.setOverwrite(overwrite);
|
||||
copy.setPreserveLastModified(preservelastmodified);
|
||||
if(encoding!=null && !encoding.equals("") ) {
|
||||
copy.setOutputEncoding(encoding);
|
||||
} else {
|
||||
copy.setOutputEncoding(System.getProperty("file.encoding"));
|
||||
}
|
||||
|
||||
Map<String, String> result = runner.postTask();
|
||||
}
|
||||
}
|
67
src/java/net/brutex/xservices/ws/XServicesFault.java
Normal file
67
src/java/net/brutex/xservices/ws/XServicesFault.java
Normal file
@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright 2010 Brian Rosenberger (Brutex Network)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.brutex.xservices.ws;
|
||||
|
||||
import java.util.GregorianCalendar;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.datatype.DatatypeConfigurationException;
|
||||
import javax.xml.datatype.DatatypeFactory;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Brian Rosenberger, bru@brutex.de
|
||||
*/
|
||||
public class XServicesFault extends Exception {
|
||||
|
||||
public XServicesFault(String message, Exception e) {
|
||||
this(message, e.getCause());
|
||||
}
|
||||
|
||||
public XServicesFault(String string) {
|
||||
this(string, new Exception(string).getCause());
|
||||
}
|
||||
|
||||
public XServicesFault(Exception e) {
|
||||
this(e.getMessage(), e.getCause());
|
||||
}
|
||||
|
||||
public XServicesFault(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
this.faultstring=message;
|
||||
|
||||
|
||||
try {
|
||||
timestamp = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
|
||||
} catch (DatatypeConfigurationException ex) {
|
||||
System.err.println(ex.getMessage());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@XmlElement(name="faultstring")
|
||||
public String faultstring = "";
|
||||
|
||||
@XmlElement(name="username")
|
||||
public String username = System.getProperty("user.name");
|
||||
|
||||
@XmlElement(name="homedir")
|
||||
public String homedir = System.getProperty("user.home");
|
||||
|
||||
@XmlElement(name="timstamp")
|
||||
public XMLGregorianCalendar timestamp = null;
|
||||
}
|
203
web/LICENSE
Normal file
203
web/LICENSE
Normal file
@ -0,0 +1,203 @@
|
||||
/*
|
||||
* Apache License
|
||||
* Version 2.0, January 2004
|
||||
* http://www.apache.org/licenses/
|
||||
*
|
||||
* TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
*
|
||||
* 1. Definitions.
|
||||
*
|
||||
* "License" shall mean the terms and conditions for use, reproduction,
|
||||
* and distribution as defined by Sections 1 through 9 of this document.
|
||||
*
|
||||
* "Licensor" shall mean the copyright owner or entity authorized by
|
||||
* the copyright owner that is granting the License.
|
||||
*
|
||||
* "Legal Entity" shall mean the union of the acting entity and all
|
||||
* other entities that control, are controlled by, or are under common
|
||||
* control with that entity. For the purposes of this definition,
|
||||
* "control" means (i) the power, direct or indirect, to cause the
|
||||
* direction or management of such entity, whether by contract or
|
||||
* otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
* outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
*
|
||||
* "You" (or "Your") shall mean an individual or Legal Entity
|
||||
* exercising permissions granted by this License.
|
||||
*
|
||||
* "Source" form shall mean the preferred form for making modifications,
|
||||
* including but not limited to software source code, documentation
|
||||
* source, and configuration files.
|
||||
*
|
||||
* "Object" form shall mean any form resulting from mechanical
|
||||
* transformation or translation of a Source form, including but
|
||||
* not limited to compiled object code, generated documentation,
|
||||
* and conversions to other media types.
|
||||
*
|
||||
* "Work" shall mean the work of authorship, whether in Source or
|
||||
* Object form, made available under the License, as indicated by a
|
||||
* copyright notice that is included in or attached to the work
|
||||
* (an example is provided in the Appendix below).
|
||||
*
|
||||
* "Derivative Works" shall mean any work, whether in Source or Object
|
||||
* form, that is based on (or derived from) the Work and for which the
|
||||
* editorial revisions, annotations, elaborations, or other modifications
|
||||
* represent, as a whole, an original work of authorship. For the purposes
|
||||
* of this License, Derivative Works shall not include works that remain
|
||||
* separable from, or merely link (or bind by name) to the interfaces of,
|
||||
* the Work and Derivative Works thereof.
|
||||
*
|
||||
* "Contribution" shall mean any work of authorship, including
|
||||
* the original version of the Work and any modifications or additions
|
||||
* to that Work or Derivative Works thereof, that is intentionally
|
||||
* submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
* or by an individual or Legal Entity authorized to submit on behalf of
|
||||
* the copyright owner. For the purposes of this definition, "submitted"
|
||||
* means any form of electronic, verbal, or written communication sent
|
||||
* to the Licensor or its representatives, including but not limited to
|
||||
* communication on electronic mailing lists, source code control systems,
|
||||
* and issue tracking systems that are managed by, or on behalf of, the
|
||||
* Licensor for the purpose of discussing and improving the Work, but
|
||||
* excluding communication that is conspicuously marked or otherwise
|
||||
* designated in writing by the copyright owner as "Not a Contribution."
|
||||
*
|
||||
* "Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
* on behalf of whom a Contribution has been received by Licensor and
|
||||
* subsequently incorporated within the Work.
|
||||
*
|
||||
* 2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
* this License, each Contributor hereby grants to You a perpetual,
|
||||
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
* copyright license to reproduce, prepare Derivative Works of,
|
||||
* publicly display, publicly perform, sublicense, and distribute the
|
||||
* Work and such Derivative Works in Source or Object form.
|
||||
*
|
||||
* 3. Grant of Patent License. Subject to the terms and conditions of
|
||||
* this License, each Contributor hereby grants to You a perpetual,
|
||||
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
* (except as stated in this section) patent license to make, have made,
|
||||
* use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
* where such license applies only to those patent claims licensable
|
||||
* by such Contributor that are necessarily infringed by their
|
||||
* Contribution(s) alone or by combination of their Contribution(s)
|
||||
* with the Work to which such Contribution(s) was submitted. If You
|
||||
* institute patent litigation against any entity (including a
|
||||
* cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
* or a Contribution incorporated within the Work constitutes direct
|
||||
* or contributory patent infringement, then any patent licenses
|
||||
* granted to You under this License for that Work shall terminate
|
||||
* as of the date such litigation is filed.
|
||||
*
|
||||
* 4. Redistribution. You may reproduce and distribute copies of the
|
||||
* Work or Derivative Works thereof in any medium, with or without
|
||||
* modifications, and in Source or Object form, provided that You
|
||||
* meet the following conditions:
|
||||
*
|
||||
* (a) You must give any other recipients of the Work or
|
||||
* Derivative Works a copy of this License; and
|
||||
*
|
||||
* (b) You must cause any modified files to carry prominent notices
|
||||
* stating that You changed the files; and
|
||||
*
|
||||
* (c) You must retain, in the Source form of any Derivative Works
|
||||
* that You distribute, all copyright, patent, trademark, and
|
||||
* attribution notices from the Source form of the Work,
|
||||
* excluding those notices that do not pertain to any part of
|
||||
* the Derivative Works; and
|
||||
*
|
||||
* (d) If the Work includes a "NOTICE" text file as part of its
|
||||
* distribution, then any Derivative Works that You distribute must
|
||||
* include a readable copy of the attribution notices contained
|
||||
* within such NOTICE file, excluding those notices that do not
|
||||
* pertain to any part of the Derivative Works, in at least one
|
||||
* of the following places: within a NOTICE text file distributed
|
||||
* as part of the Derivative Works; within the Source form or
|
||||
* documentation, if provided along with the Derivative Works; or,
|
||||
* within a display generated by the Derivative Works, if and
|
||||
* wherever such third-party notices normally appear. The contents
|
||||
* of the NOTICE file are for informational purposes only and
|
||||
* do not modify the License. You may add Your own attribution
|
||||
* notices within Derivative Works that You distribute, alongside
|
||||
* or as an addendum to the NOTICE text from the Work, provided
|
||||
* that such additional attribution notices cannot be construed
|
||||
* as modifying the License.
|
||||
*
|
||||
* You may add Your own copyright statement to Your modifications and
|
||||
* may provide additional or different license terms and conditions
|
||||
* for use, reproduction, or distribution of Your modifications, or
|
||||
* for any such Derivative Works as a whole, provided Your use,
|
||||
* reproduction, and distribution of the Work otherwise complies with
|
||||
* the conditions stated in this License.
|
||||
*
|
||||
* 5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
* any Contribution intentionally submitted for inclusion in the Work
|
||||
* by You to the Licensor shall be under the terms and conditions of
|
||||
* this License, without any additional terms or conditions.
|
||||
* Notwithstanding the above, nothing herein shall supersede or modify
|
||||
* the terms of any separate license agreement you may have executed
|
||||
* with Licensor regarding such Contributions.
|
||||
*
|
||||
* 6. Trademarks. This License does not grant permission to use the trade
|
||||
* names, trademarks, service marks, or product names of the Licensor,
|
||||
* except as required for reasonable and customary use in describing the
|
||||
* origin of the Work and reproducing the content of the NOTICE file.
|
||||
*
|
||||
* 7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
* agreed to in writing, Licensor provides the Work (and each
|
||||
* Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
* implied, including, without limitation, any warranties or conditions
|
||||
* of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
* PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
* appropriateness of using or redistributing the Work and assume any
|
||||
* risks associated with Your exercise of permissions under this License.
|
||||
*
|
||||
* 8. Limitation of Liability. In no event and under no legal theory,
|
||||
* whether in tort (including negligence), contract, or otherwise,
|
||||
* unless required by applicable law (such as deliberate and grossly
|
||||
* negligent acts) or agreed to in writing, shall any Contributor be
|
||||
* liable to You for damages, including any direct, indirect, special,
|
||||
* incidental, or consequential damages of any character arising as a
|
||||
* result of this License or out of the use or inability to use the
|
||||
* Work (including but not limited to damages for loss of goodwill,
|
||||
* work stoppage, computer failure or malfunction, or any and all
|
||||
* other commercial damages or losses), even if such Contributor
|
||||
* has been advised of the possibility of such damages.
|
||||
*
|
||||
* 9. Accepting Warranty or Additional Liability. While redistributing
|
||||
* the Work or Derivative Works thereof, You may choose to offer,
|
||||
* and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
* or other liability obligations and/or rights consistent with this
|
||||
* License. However, in accepting such obligations, You may act only
|
||||
* on Your own behalf and on Your sole responsibility, not on behalf
|
||||
* of any other Contributor, and only if You agree to indemnify,
|
||||
* defend, and hold each Contributor harmless for any liability
|
||||
* incurred by, or claims asserted against, such Contributor by reason
|
||||
* of your accepting any such warranty or additional liability.
|
||||
*
|
||||
* END OF TERMS AND CONDITIONS
|
||||
*
|
||||
* APPENDIX: How to apply the Apache License to your work.
|
||||
*
|
||||
* To apply the Apache License to your work, attach the following
|
||||
* boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
* replaced with your own identifying information. (Don't include
|
||||
* the brackets!) The text should be enclosed in the appropriate
|
||||
* comment syntax for the file format. We also recommend that a
|
||||
* file or class name and description of purpose be included on the
|
||||
* same "printed page" as the copyright notice for easier
|
||||
* identification within third-party archives.
|
||||
*
|
||||
* Copyright [yyyy] [name of copyright owner]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
2
web/META-INF/context.xml
Normal file
2
web/META-INF/context.xml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Context antiJARLocking="true" path="/XServices"/>
|
@ -10,8 +10,8 @@
|
||||
This product includes software developed by
|
||||
The Apache Software Foundation (http://www.apache.org/).
|
||||
|
||||
This product includes also software developed by :
|
||||
- the W3C consortium (http://www.w3c.org) ,
|
||||
This product includes also software developed by:
|
||||
- the W3C consortium (http://www.w3c.org),
|
||||
- the SAX project (http://www.saxproject.org)
|
||||
|
||||
The <sync> task is based on code Copyright (c) 2002, Landmark
|
||||
|
6
web/WEB-INF/sun-jaxws.xml
Normal file
6
web/WEB-INF/sun-jaxws.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
|
||||
<endpoint implementation="net.brutex.xservices.ws.ExecuteService" name="ExecuteService" url-pattern="/ExecuteService"/>
|
||||
<endpoint implementation="net.brutex.xservices.ws.ArchiveService" name="ArchiveService" url-pattern="/ArchiveService"/>
|
||||
<endpoint implementation="net.brutex.xservices.ws.FileService" name="FileService" url-pattern="/FileService"/>
|
||||
</endpoints>
|
44
web/WEB-INF/web.xml
Normal file
44
web/WEB-INF/web.xml
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
|
||||
<listener>
|
||||
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
|
||||
</listener>
|
||||
<servlet>
|
||||
<servlet-name>ExecuteService</servlet-name>
|
||||
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet>
|
||||
<servlet-name>ArchiveService</servlet-name>
|
||||
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet>
|
||||
<servlet-name>FileService</servlet-name>
|
||||
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>ExecuteService</servlet-name>
|
||||
<url-pattern>/ExecuteService</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>ArchiveService</servlet-name>
|
||||
<url-pattern>/ArchiveService</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>FileService</servlet-name>
|
||||
<url-pattern>/FileService</url-pattern>
|
||||
</servlet-mapping>
|
||||
<session-config>
|
||||
<session-timeout>
|
||||
30
|
||||
</session-timeout>
|
||||
</session-config>
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
</welcome-file-list>
|
||||
<Context path="/ExecuteService">
|
||||
<Valve allow="166.0.0.1" className="org.apache.catalina.valves.RemoteAddrValve" deny=""/>
|
||||
</Context>
|
||||
</web-app>
|
Loading…
x
Reference in New Issue
Block a user