Vytvoření projektu v Netbeans a základní kostra.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Wed Feb 10 18:25:55 2010 +0100 (2010-02-10)
changeset 0b8ecf1ac63fb
child 1 9a3fced9634d
Vytvoření projektu v Netbeans a základní kostra.
.hgignore
java/SpringDemo1/nbproject/ant-deploy.xml
java/SpringDemo1/nbproject/build-impl.xml
java/SpringDemo1/nbproject/genfiles.properties
java/SpringDemo1/nbproject/project.properties
java/SpringDemo1/nbproject/project.xml
java/SpringDemo1/src/conf/MANIFEST.MF
java/SpringDemo1/src/java/cz/frantovo/springDemo1/dao/KnihaDAO.java
java/SpringDemo1/src/java/cz/frantovo/springDemo1/dto/Kniha.java
java/SpringDemo1/src/java/cz/frantovo/springDemo1/web/SpringDemo1Bean.java
java/SpringDemo1/web/WEB-INF/beans.xml
java/SpringDemo1/web/WEB-INF/sun-web.xml
java/SpringDemo1/web/index.jsp
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/.hgignore	Wed Feb 10 18:25:55 2010 +0100
     1.3 @@ -0,0 +1,5 @@
     1.4 +java/SpringDemo1/nbproject/private
     1.5 +java/SpringDemo1/build
     1.6 +java/SpringDemo1/dist
     1.7 +
     1.8 +
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/java/SpringDemo1/nbproject/ant-deploy.xml	Wed Feb 10 18:25:55 2010 +0100
     2.3 @@ -0,0 +1,60 @@
     2.4 +<?xml version="1.0" encoding="UTF-8"?>
     2.5 +<project default="-deploy-ant" basedir=".">
     2.6 +    <target name="-init-cl-deployment-env" if="deploy.ant.enabled">
     2.7 +        <property file="${deploy.ant.properties.file}" />
     2.8 +        <available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/>
     2.9 +        <available file="${deploy.ant.resource.dir}" property="has.setup"/>
    2.10 +        <tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
    2.11 +        <echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/>
    2.12 +    </target>
    2.13 +    
    2.14 +    <target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present">
    2.15 +        <tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/>
    2.16 +        <copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/>
    2.17 +        <!-- The doctype triggers resolution which can fail -->
    2.18 +        <replace file="${temp.sun.web}">
    2.19 +            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
    2.20 +            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
    2.21 +        </replace>
    2.22 +        <replace file="${temp.sun.web}">
    2.23 +            <replacetoken><![CDATA[<sun-web-app]]></replacetoken>
    2.24 +            <replacevalue><![CDATA[--> <sun-web-app]]></replacevalue>
    2.25 +        </replace>
    2.26 +        <xmlproperty file="${temp.sun.web}" validate="false">
    2.27 +        </xmlproperty>    
    2.28 +        <delete file="${temp.sun.web}"/>
    2.29 +        <property name="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}"/>
    2.30 +        <property name="deploy.context.root.argument" value="?contextroot=${sun-web-app.context-root}"/>
    2.31 +    </target>
    2.32 +    <target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present">
    2.33 +        <property name="deploy.context.root.argument" value=""/>
    2.34 +    </target>
    2.35 +    <target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup">
    2.36 +        <tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/>
    2.37 +        <mkdir dir="${gfv3.resources.dir}"/>
    2.38 +        <mkdir dir="${gfv3.resources.dir}/META-INF"/>
    2.39 +        <property name="gfv3.resources.file" value="${gfv3.resources.dir}/META-INF/sun-resources.xml"/>
    2.40 +        <copy todir="${gfv3.resources.dir}/META-INF">
    2.41 +            <fileset dir="${deploy.ant.resource.dir}"/>
    2.42 +        </copy>
    2.43 +        <jar destfile="${deploy.ant.archive}" update="true">
    2.44 +            <fileset dir="${gfv3.resources.dir}"/>
    2.45 +        </jar>
    2.46 +        <delete dir="${gfv3.resources.dir}"/>
    2.47 +    </target>
    2.48 +    <target name="-deploy-ant" depends="-parse-sun-web,-no-parse-sun-web,-add-resources" if="deploy.ant.enabled">
    2.49 +        <echo message="Deploying ${deploy.ant.archive}"/>
    2.50 +        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
    2.51 +        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
    2.52 +        <get src="${gfv3.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}?force=true?name=${ant.project.name}"
    2.53 +            dest="${gfv3.results.file}"/>
    2.54 +        <delete file="${gfv3.results.file}"/>    
    2.55 +    </target>
    2.56 +    <target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled">
    2.57 +        <echo message="Undeploying ${deploy.ant.archive}"/>
    2.58 +        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
    2.59 +        <get src="${gfv3.url}/__asadmin/undeploy?name=${ant.project.name}"
    2.60 +            dest="${gfv3.results.file}"/>
    2.61 +        <delete file="${gfv3.results.file}"/>    
    2.62 +    </target>
    2.63 +</project>
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/java/SpringDemo1/nbproject/build-impl.xml	Wed Feb 10 18:25:55 2010 +0100
     3.3 @@ -0,0 +1,858 @@
     3.4 +<?xml version="1.0" encoding="UTF-8"?>
     3.5 +<!--
     3.6 +        *** GENERATED FROM project.xml - DO NOT EDIT  ***
     3.7 +        ***         EDIT ../build.xml INSTEAD         ***
     3.8 +
     3.9 +        For the purpose of easier reading the script
    3.10 +        is divided into following sections:
    3.11 +        - initialization
    3.12 +        - compilation
    3.13 +        - dist
    3.14 +        - execution
    3.15 +        - debugging
    3.16 +        - javadoc
    3.17 +        - junit compilation
    3.18 +        - junit execution
    3.19 +        - junit debugging
    3.20 +        - cleanup
    3.21 +
    3.22 +        -->
    3.23 +<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="SpringDemo1-impl">
    3.24 +    <import file="ant-deploy.xml"/>
    3.25 +    <fail message="Please build using Ant 1.7.1 or higher.">
    3.26 +        <condition>
    3.27 +            <not>
    3.28 +                <antversion atleast="1.7.1"/>
    3.29 +            </not>
    3.30 +        </condition>
    3.31 +    </fail>
    3.32 +    <target depends="dist,javadoc" description="Build whole project." name="default"/>
    3.33 +    <!--
    3.34 +                INITIALIZATION SECTION
    3.35 +            -->
    3.36 +    <target name="-pre-init">
    3.37 +        <!-- Empty placeholder for easier customization. -->
    3.38 +        <!-- You can override this target in the ../build.xml file. -->
    3.39 +    </target>
    3.40 +    <target depends="-pre-init" name="-init-private">
    3.41 +        <property file="nbproject/private/private.properties"/>
    3.42 +    </target>
    3.43 +    <target depends="-pre-init,-init-private" name="-init-user">
    3.44 +        <property file="${user.properties.file}"/>
    3.45 +        <!-- The two properties below are usually overridden -->
    3.46 +        <!-- by the active platform. Just a fallback. -->
    3.47 +        <property name="default.javac.source" value="1.4"/>
    3.48 +        <property name="default.javac.target" value="1.4"/>
    3.49 +    </target>
    3.50 +    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
    3.51 +        <property file="nbproject/project.properties"/>
    3.52 +    </target>
    3.53 +    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/>
    3.54 +    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
    3.55 +        <condition property="have.tests">
    3.56 +            <or>
    3.57 +                <available file="${test.src.dir}"/>
    3.58 +            </or>
    3.59 +        </condition>
    3.60 +        <condition property="have.sources">
    3.61 +            <or>
    3.62 +                <available file="${src.dir}"/>
    3.63 +            </or>
    3.64 +        </condition>
    3.65 +        <condition property="netbeans.home+have.tests">
    3.66 +            <and>
    3.67 +                <isset property="netbeans.home"/>
    3.68 +                <isset property="have.tests"/>
    3.69 +            </and>
    3.70 +        </condition>
    3.71 +        <condition property="no.javadoc.preview">
    3.72 +            <isfalse value="${javadoc.preview}"/>
    3.73 +        </condition>
    3.74 +        <property name="javac.compilerargs" value=""/>
    3.75 +        <condition property="no.deps">
    3.76 +            <and>
    3.77 +                <istrue value="${no.dependencies}"/>
    3.78 +            </and>
    3.79 +        </condition>
    3.80 +        <condition property="no.dist.ear.dir">
    3.81 +            <not>
    3.82 +                <isset property="dist.ear.dir"/>
    3.83 +            </not>
    3.84 +        </condition>
    3.85 +        <property name="build.web.excludes" value="${build.classes.excludes}"/>
    3.86 +        <condition property="do.compile.jsps">
    3.87 +            <istrue value="${compile.jsps}"/>
    3.88 +        </condition>
    3.89 +        <condition property="do.debug.server">
    3.90 +            <or>
    3.91 +                <not>
    3.92 +                    <isset property="debug.server"/>
    3.93 +                </not>
    3.94 +                <istrue value="${debug.server}"/>
    3.95 +                <and>
    3.96 +                    <not>
    3.97 +                        <istrue value="${debug.server}"/>
    3.98 +                    </not>
    3.99 +                    <not>
   3.100 +                        <istrue value="${debug.client}"/>
   3.101 +                    </not>
   3.102 +                </and>
   3.103 +            </or>
   3.104 +        </condition>
   3.105 +        <condition property="do.debug.client">
   3.106 +            <istrue value="${debug.client}"/>
   3.107 +        </condition>
   3.108 +        <condition property="do.display.browser">
   3.109 +            <istrue value="${display.browser}"/>
   3.110 +        </condition>
   3.111 +        <condition property="do.display.browser.debug">
   3.112 +            <and>
   3.113 +                <isset property="do.display.browser"/>
   3.114 +                <not>
   3.115 +                    <isset property="do.debug.client"/>
   3.116 +                </not>
   3.117 +            </and>
   3.118 +        </condition>
   3.119 +        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
   3.120 +        <available file="${persistence.xml.dir}/persistence.xml" property="has.persistence.xml"/>
   3.121 +        <condition property="do.war.package.with.custom.manifest">
   3.122 +            <isset property="has.custom.manifest"/>
   3.123 +        </condition>
   3.124 +        <condition property="do.war.package.without.custom.manifest">
   3.125 +            <not>
   3.126 +                <isset property="has.custom.manifest"/>
   3.127 +            </not>
   3.128 +        </condition>
   3.129 +        <condition property="do.tmp.war.package.with.custom.manifest">
   3.130 +            <and>
   3.131 +                <isset property="has.custom.manifest"/>
   3.132 +                <or>
   3.133 +                    <isfalse value="${directory.deployment.supported}"/>
   3.134 +                    <isset property="dist.ear.dir"/>
   3.135 +                </or>
   3.136 +            </and>
   3.137 +        </condition>
   3.138 +        <condition property="do.tmp.war.package.without.custom.manifest">
   3.139 +            <and>
   3.140 +                <not>
   3.141 +                    <isset property="has.custom.manifest"/>
   3.142 +                </not>
   3.143 +                <or>
   3.144 +                    <isfalse value="${directory.deployment.supported}"/>
   3.145 +                    <isset property="dist.ear.dir"/>
   3.146 +                </or>
   3.147 +            </and>
   3.148 +        </condition>
   3.149 +        <condition property="do.tmp.war.package">
   3.150 +            <or>
   3.151 +                <isfalse value="${directory.deployment.supported}"/>
   3.152 +                <isset property="dist.ear.dir"/>
   3.153 +            </or>
   3.154 +        </condition>
   3.155 +        <property name="build.meta.inf.dir" value="${build.web.dir}/META-INF"/>
   3.156 +        <condition else="" property="application.args.param" value="${application.args}">
   3.157 +            <and>
   3.158 +                <isset property="application.args"/>
   3.159 +                <not>
   3.160 +                    <equals arg1="${application.args}" arg2="" trim="true"/>
   3.161 +                </not>
   3.162 +            </and>
   3.163 +        </condition>
   3.164 +        <property name="source.encoding" value="${file.encoding}"/>
   3.165 +        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
   3.166 +            <and>
   3.167 +                <isset property="javadoc.encoding"/>
   3.168 +                <not>
   3.169 +                    <equals arg1="${javadoc.encoding}" arg2=""/>
   3.170 +                </not>
   3.171 +            </and>
   3.172 +        </condition>
   3.173 +        <property name="javadoc.encoding.used" value="${source.encoding}"/>
   3.174 +        <property name="includes" value="**"/>
   3.175 +        <property name="excludes" value=""/>
   3.176 +        <property name="runmain.jvmargs" value=""/>
   3.177 +        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
   3.178 +        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
   3.179 +            <length length="0" string="${endorsed.classpath}" when="greater"/>
   3.180 +        </condition>
   3.181 +    </target>
   3.182 +    <target depends="init" name="-init-cos" unless="deploy.on.save">
   3.183 +        <condition property="deploy.on.save" value="true">
   3.184 +            <istrue value="${j2ee.deploy.on.save}"/>
   3.185 +        </condition>
   3.186 +    </target>
   3.187 +    <target name="-post-init">
   3.188 +        <!-- Empty placeholder for easier customization. -->
   3.189 +        <!-- You can override this target in the ../build.xml file. -->
   3.190 +    </target>
   3.191 +    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
   3.192 +        <fail unless="src.dir">Must set src.dir</fail>
   3.193 +        <fail unless="test.src.dir">Must set test.src.dir</fail>
   3.194 +        <fail unless="build.dir">Must set build.dir</fail>
   3.195 +        <fail unless="build.web.dir">Must set build.web.dir</fail>
   3.196 +        <fail unless="build.generated.dir">Must set build.generated.dir</fail>
   3.197 +        <fail unless="dist.dir">Must set dist.dir</fail>
   3.198 +        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
   3.199 +        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
   3.200 +        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
   3.201 +        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
   3.202 +        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
   3.203 +        <fail unless="dist.war">Must set dist.war</fail>
   3.204 +        <fail unless="j2ee.platform.classpath">
   3.205 +The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
   3.206 +Either open the project in the IDE and assign the server or setup the server classpath manually.
   3.207 +For example like this:
   3.208 +   ant -Duser.properties.file=&lt;path_to_property_file&gt; (where you put the property "j2ee.platform.classpath" in a .properties file)
   3.209 +or ant -Dj2ee.platform.classpath=&lt;server_classpath&gt; (where no properties file is used)
   3.210 +                </fail>
   3.211 +    </target>
   3.212 +    <target name="-init-macrodef-property">
   3.213 +        <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
   3.214 +            <attribute name="name"/>
   3.215 +            <attribute name="value"/>
   3.216 +            <sequential>
   3.217 +                <property name="@{name}" value="${@{value}}"/>
   3.218 +            </sequential>
   3.219 +        </macrodef>
   3.220 +    </target>
   3.221 +    <target name="-init-macrodef-javac">
   3.222 +        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
   3.223 +            <attribute default="${src.dir}" name="srcdir"/>
   3.224 +            <attribute default="${build.classes.dir}" name="destdir"/>
   3.225 +            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
   3.226 +            <attribute default="${includes}" name="includes"/>
   3.227 +            <attribute default="${excludes}" name="excludes"/>
   3.228 +            <attribute default="${javac.debug}" name="debug"/>
   3.229 +            <attribute default="${empty.dir}" name="gensrcdir"/>
   3.230 +            <element name="customize" optional="true"/>
   3.231 +            <sequential>
   3.232 +                <property location="${build.dir}/empty" name="empty.dir"/>
   3.233 +                <mkdir dir="${empty.dir}"/>
   3.234 +                <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}">
   3.235 +                    <src>
   3.236 +                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
   3.237 +                            <include name="*"/>
   3.238 +                        </dirset>
   3.239 +                    </src>
   3.240 +                    <classpath>
   3.241 +                        <path path="@{classpath}"/>
   3.242 +                    </classpath>
   3.243 +                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
   3.244 +                    <compilerarg line="${javac.compilerargs}"/>
   3.245 +                    <customize/>
   3.246 +                </javac>
   3.247 +            </sequential>
   3.248 +        </macrodef>
   3.249 +    </target>
   3.250 +    <target name="-init-macrodef-junit">
   3.251 +        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
   3.252 +            <attribute default="${includes}" name="includes"/>
   3.253 +            <attribute default="${excludes}" name="excludes"/>
   3.254 +            <attribute default="**" name="testincludes"/>
   3.255 +            <sequential>
   3.256 +                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
   3.257 +                    <batchtest todir="${build.test.results.dir}">
   3.258 +                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
   3.259 +                            <filename name="@{testincludes}"/>
   3.260 +                        </fileset>
   3.261 +                    </batchtest>
   3.262 +                    <classpath>
   3.263 +                        <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
   3.264 +                    </classpath>
   3.265 +                    <syspropertyset>
   3.266 +                        <propertyref prefix="test-sys-prop."/>
   3.267 +                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   3.268 +                    </syspropertyset>
   3.269 +                    <formatter type="brief" usefile="false"/>
   3.270 +                    <formatter type="xml"/>
   3.271 +                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   3.272 +                    <jvmarg line="${runmain.jvmargs}"/>
   3.273 +                </junit>
   3.274 +            </sequential>
   3.275 +        </macrodef>
   3.276 +    </target>
   3.277 +    <target name="-init-macrodef-java">
   3.278 +        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
   3.279 +            <attribute default="${main.class}" name="classname"/>
   3.280 +            <attribute default="${debug.classpath}" name="classpath"/>
   3.281 +            <element name="customize" optional="true"/>
   3.282 +            <sequential>
   3.283 +                <java classname="@{classname}" fork="true">
   3.284 +                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   3.285 +                    <jvmarg line="${runmain.jvmargs}"/>
   3.286 +                    <classpath>
   3.287 +                        <path path="@{classpath}:${j2ee.platform.classpath}"/>
   3.288 +                    </classpath>
   3.289 +                    <syspropertyset>
   3.290 +                        <propertyref prefix="run-sys-prop."/>
   3.291 +                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
   3.292 +                    </syspropertyset>
   3.293 +                    <customize/>
   3.294 +                </java>
   3.295 +            </sequential>
   3.296 +        </macrodef>
   3.297 +    </target>
   3.298 +    <target name="-init-macrodef-nbjsdebug">
   3.299 +        <macrodef name="nbjsdebugstart" uri="http://www.netbeans.org/ns/web-project/1">
   3.300 +            <attribute default="${client.url}" name="webUrl"/>
   3.301 +            <sequential>
   3.302 +                <nbjsdebugstart urlPart="${client.urlPart}" webUrl="@{webUrl}"/>
   3.303 +            </sequential>
   3.304 +        </macrodef>
   3.305 +    </target>
   3.306 +    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
   3.307 +        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
   3.308 +            <attribute default="${main.class}" name="name"/>
   3.309 +            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
   3.310 +            <sequential>
   3.311 +                <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}">
   3.312 +                    <classpath>
   3.313 +                        <path path="@{classpath}"/>
   3.314 +                    </classpath>
   3.315 +                </nbjpdastart>
   3.316 +            </sequential>
   3.317 +        </macrodef>
   3.318 +        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
   3.319 +            <attribute default="${build.classes.dir}" name="dir"/>
   3.320 +            <sequential>
   3.321 +                <nbjpdareload>
   3.322 +                    <fileset dir="@{dir}" includes="${fix.classes}">
   3.323 +                        <include name="${fix.includes}*.class"/>
   3.324 +                    </fileset>
   3.325 +                </nbjpdareload>
   3.326 +            </sequential>
   3.327 +        </macrodef>
   3.328 +        <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1">
   3.329 +            <sequential>
   3.330 +                <nbjpdaappreloaded/>
   3.331 +            </sequential>
   3.332 +        </macrodef>
   3.333 +    </target>
   3.334 +    <target name="-init-debug-args">
   3.335 +        <property name="version-output" value="java version &quot;${ant.java.version}"/>
   3.336 +        <condition property="have-jdk-older-than-1.4">
   3.337 +            <or>
   3.338 +                <contains string="${version-output}" substring="java version &quot;1.0"/>
   3.339 +                <contains string="${version-output}" substring="java version &quot;1.1"/>
   3.340 +                <contains string="${version-output}" substring="java version &quot;1.2"/>
   3.341 +                <contains string="${version-output}" substring="java version &quot;1.3"/>
   3.342 +            </or>
   3.343 +        </condition>
   3.344 +        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
   3.345 +            <istrue value="${have-jdk-older-than-1.4}"/>
   3.346 +        </condition>
   3.347 +        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
   3.348 +            <os family="windows"/>
   3.349 +        </condition>
   3.350 +        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
   3.351 +            <isset property="debug.transport"/>
   3.352 +        </condition>
   3.353 +    </target>
   3.354 +    <target depends="-init-debug-args" name="-init-macrodef-debug">
   3.355 +        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
   3.356 +            <attribute default="${main.class}" name="classname"/>
   3.357 +            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
   3.358 +            <attribute default="${application.args.param}" name="args"/>
   3.359 +            <element name="customize" optional="true"/>
   3.360 +            <sequential>
   3.361 +                <java classname="@{classname}" fork="true">
   3.362 +                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   3.363 +                    <jvmarg line="${debug-args-line}"/>
   3.364 +                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
   3.365 +                    <jvmarg line="${runmain.jvmargs}"/>
   3.366 +                    <classpath>
   3.367 +                        <path path="@{classpath}"/>
   3.368 +                    </classpath>
   3.369 +                    <syspropertyset>
   3.370 +                        <propertyref prefix="run-sys-prop."/>
   3.371 +                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
   3.372 +                    </syspropertyset>
   3.373 +                    <arg line="@{args}"/>
   3.374 +                    <customize/>
   3.375 +                </java>
   3.376 +            </sequential>
   3.377 +        </macrodef>
   3.378 +    </target>
   3.379 +    <target name="-init-taskdefs">
   3.380 +        <fail unless="libs.CopyLibs.classpath">
   3.381 +The libs.CopyLibs.classpath property is not set up.
   3.382 +This property must point to 
   3.383 +org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
   3.384 +of NetBeans IDE installation and is usually located at 
   3.385 +&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
   3.386 +Either open the project in the IDE and make sure CopyLibs library
   3.387 +exists or setup the property manually. For example like this:
   3.388 + ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
   3.389 +                </fail>
   3.390 +        <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
   3.391 +    </target>
   3.392 +    <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"/>
   3.393 +    <!--
   3.394 +                COMPILATION SECTION
   3.395 +            -->
   3.396 +    <target depends="init" if="no.dist.ear.dir" name="deps-module-jar" unless="no.deps"/>
   3.397 +    <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps"/>
   3.398 +    <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
   3.399 +    <target depends="init,deps-jar" name="-pre-pre-compile">
   3.400 +        <mkdir dir="${build.classes.dir}"/>
   3.401 +    </target>
   3.402 +    <target name="-pre-compile">
   3.403 +        <!-- Empty placeholder for easier customization. -->
   3.404 +        <!-- You can override this target in the ../build.xml file. -->
   3.405 +    </target>
   3.406 +    <target name="-copy-webdir">
   3.407 +        <copy todir="${build.web.dir}">
   3.408 +            <fileset dir="${web.docbase.dir}" excludes="${build.web.excludes},${excludes}" includes="${includes}"/>
   3.409 +        </copy>
   3.410 +        <copy todir="${build.web.dir}/WEB-INF">
   3.411 +            <fileset dir="${webinf.dir}" excludes="${build.web.excludes}"/>
   3.412 +        </copy>
   3.413 +    </target>
   3.414 +    <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">
   3.415 +        <webproject2:javac destdir="${build.classes.dir}" gensrcdir="${build.generated.sources.dir}"/>
   3.416 +        <copy todir="${build.classes.dir}">
   3.417 +            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   3.418 +        </copy>
   3.419 +    </target>
   3.420 +    <target if="has.custom.manifest" name="-copy-manifest">
   3.421 +        <mkdir dir="${build.meta.inf.dir}"/>
   3.422 +        <copy todir="${build.meta.inf.dir}">
   3.423 +            <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
   3.424 +        </copy>
   3.425 +    </target>
   3.426 +    <target if="has.persistence.xml" name="-copy-persistence-xml">
   3.427 +        <mkdir dir="${build.web.dir}/WEB-INF/classes/META-INF"/>
   3.428 +        <copy todir="${build.web.dir}/WEB-INF/classes/META-INF">
   3.429 +            <fileset dir="${persistence.xml.dir}" includes="persistence.xml"/>
   3.430 +        </copy>
   3.431 +    </target>
   3.432 +    <target name="-post-compile">
   3.433 +        <!-- Empty placeholder for easier customization. -->
   3.434 +        <!-- You can override this target in the ../build.xml file. -->
   3.435 +    </target>
   3.436 +    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
   3.437 +    <target name="-pre-compile-single">
   3.438 +        <!-- Empty placeholder for easier customization. -->
   3.439 +        <!-- You can override this target in the ../build.xml file. -->
   3.440 +    </target>
   3.441 +    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
   3.442 +        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
   3.443 +        <webproject2:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}"/>
   3.444 +        <copy todir="${build.classes.dir}">
   3.445 +            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   3.446 +        </copy>
   3.447 +    </target>
   3.448 +    <target name="-post-compile-single">
   3.449 +        <!-- Empty placeholder for easier customization. -->
   3.450 +        <!-- You can override this target in the ../build.xml file. -->
   3.451 +    </target>
   3.452 +    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
   3.453 +    <target depends="compile" description="Test compile JSP pages to expose compilation errors." if="do.compile.jsps" name="compile-jsps">
   3.454 +        <mkdir dir="${build.generated.dir}/src"/>
   3.455 +        <java classname="org.netbeans.modules.web.project.ant.JspC" failonerror="true" fork="true">
   3.456 +            <arg value="-uriroot"/>
   3.457 +            <arg file="${basedir}/${build.web.dir}"/>
   3.458 +            <arg value="-d"/>
   3.459 +            <arg file="${basedir}/${build.generated.dir}/src"/>
   3.460 +            <arg value="-die1"/>
   3.461 +            <arg value="-compilerSourceVM ${javac.source}"/>
   3.462 +            <arg value="-compilerTargetVM ${javac.target}"/>
   3.463 +            <arg value="-javaEncoding ${source.encoding}"/>
   3.464 +            <classpath path="${java.home}/../lib/tools.jar:${jspctask.classpath}:${jspcompilation.classpath}"/>
   3.465 +        </java>
   3.466 +        <mkdir dir="${build.generated.dir}/classes"/>
   3.467 +        <webproject2:javac classpath="${j2ee.platform.classpath}:${build.classes.dir}:${jspcompilation.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src"/>
   3.468 +    </target>
   3.469 +    <target depends="compile" if="jsp.includes" name="-do-compile-single-jsp">
   3.470 +        <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
   3.471 +        <mkdir dir="${build.generated.dir}/src"/>
   3.472 +        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" failonerror="true" fork="true">
   3.473 +            <arg value="-uriroot"/>
   3.474 +            <arg file="${basedir}/${build.web.dir}"/>
   3.475 +            <arg value="-d"/>
   3.476 +            <arg file="${basedir}/${build.generated.dir}/src"/>
   3.477 +            <arg value="-die1"/>
   3.478 +            <arg value="-jspc.files"/>
   3.479 +            <arg path="${jsp.includes}"/>
   3.480 +            <arg value="-compilerSourceVM ${javac.source}"/>
   3.481 +            <arg value="-compilerTargetVM ${javac.target}"/>
   3.482 +            <arg value="-javaEncoding ${source.encoding}"/>
   3.483 +            <classpath path="${java.home}/../lib/tools.jar:${jspctask.classpath}:${jspcompilation.classpath}"/>
   3.484 +        </java>
   3.485 +        <mkdir dir="${build.generated.dir}/classes"/>
   3.486 +        <webproject2:javac classpath="${j2ee.platform.classpath}:${build.classes.dir}:${jspcompilation.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src">
   3.487 +            <customize>
   3.488 +                <patternset includes="${javac.jsp.includes}"/>
   3.489 +            </customize>
   3.490 +        </webproject2:javac>
   3.491 +    </target>
   3.492 +    <target name="compile-single-jsp">
   3.493 +        <fail unless="jsp.includes">Must select a file in the IDE or set jsp.includes</fail>
   3.494 +        <antcall target="-do-compile-single-jsp"/>
   3.495 +    </target>
   3.496 +    <!--
   3.497 +                DIST BUILDING SECTION
   3.498 +            -->
   3.499 +    <target name="-pre-dist">
   3.500 +        <!-- Empty placeholder for easier customization. -->
   3.501 +        <!-- You can override this target in the ../build.xml file. -->
   3.502 +    </target>
   3.503 +    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.without.custom.manifest" name="-do-dist-without-manifest">
   3.504 +        <dirname file="${dist.war}" property="dist.jar.dir"/>
   3.505 +        <mkdir dir="${dist.jar.dir}"/>
   3.506 +        <jar compress="${jar.compress}" jarfile="${dist.war}">
   3.507 +            <fileset dir="${build.web.dir}"/>
   3.508 +        </jar>
   3.509 +    </target>
   3.510 +    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.with.custom.manifest" name="-do-dist-with-manifest">
   3.511 +        <dirname file="${dist.war}" property="dist.jar.dir"/>
   3.512 +        <mkdir dir="${dist.jar.dir}"/>
   3.513 +        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
   3.514 +            <fileset dir="${build.web.dir}"/>
   3.515 +        </jar>
   3.516 +    </target>
   3.517 +    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.without.custom.manifest" name="-do-tmp-dist-without-manifest">
   3.518 +        <dirname file="${dist.war}" property="dist.jar.dir"/>
   3.519 +        <mkdir dir="${dist.jar.dir}"/>
   3.520 +        <jar compress="${jar.compress}" jarfile="${dist.war}">
   3.521 +            <fileset dir="${build.web.dir}"/>
   3.522 +        </jar>
   3.523 +    </target>
   3.524 +    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.with.custom.manifest" name="-do-tmp-dist-with-manifest">
   3.525 +        <dirname file="${dist.war}" property="dist.jar.dir"/>
   3.526 +        <mkdir dir="${dist.jar.dir}"/>
   3.527 +        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
   3.528 +            <fileset dir="${build.web.dir}"/>
   3.529 +        </jar>
   3.530 +    </target>
   3.531 +    <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
   3.532 +    <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
   3.533 +        <copyfiles files="${libs.spring-framework.classpath}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
   3.534 +        <mkdir dir="${build.web.dir}/META-INF"/>
   3.535 +        <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
   3.536 +    </target>
   3.537 +    <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir">
   3.538 +        <copyfiles files="${libs.spring-framework.classpath}" todir="${build.web.dir}/WEB-INF/lib"/>
   3.539 +    </target>
   3.540 +    <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
   3.541 +        <delete dir="${build.web.dir}/WEB-INF/lib"/>
   3.542 +    </target>
   3.543 +    <target depends="init,-clean-webinf-lib,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" if="do.tmp.war.package" name="do-ear-dist">
   3.544 +        <dirname file="${dist.ear.war}" property="dist.jar.dir"/>
   3.545 +        <mkdir dir="${dist.jar.dir}"/>
   3.546 +        <jar compress="${jar.compress}" jarfile="${dist.ear.war}" manifest="${build.web.dir}/META-INF/MANIFEST.MF">
   3.547 +            <fileset dir="${build.web.dir}"/>
   3.548 +        </jar>
   3.549 +    </target>
   3.550 +    <target name="-post-dist">
   3.551 +        <!-- Empty placeholder for easier customization. -->
   3.552 +        <!-- You can override this target in the ../build.xml file. -->
   3.553 +    </target>
   3.554 +    <target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>
   3.555 +    <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"/>
   3.556 +    <!--
   3.557 +                EXECUTION SECTION
   3.558 +            -->
   3.559 +    <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
   3.560 +    <target name="-pre-run-deploy">
   3.561 +        <!-- Empty placeholder for easier customization. -->
   3.562 +        <!-- You can override this target in the ../build.xml file. -->
   3.563 +    </target>
   3.564 +    <target name="-post-run-deploy">
   3.565 +        <!-- Empty placeholder for easier customization. -->
   3.566 +        <!-- You can override this target in the ../build.xml file. -->
   3.567 +    </target>
   3.568 +    <target name="-pre-nbmodule-run-deploy">
   3.569 +        <!-- Empty placeholder for easier customization. -->
   3.570 +        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
   3.571 +    </target>
   3.572 +    <target name="-post-nbmodule-run-deploy">
   3.573 +        <!-- Empty placeholder for easier customization. -->
   3.574 +        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
   3.575 +    </target>
   3.576 +    <target name="-run-deploy-am">
   3.577 +        <!-- Task to deploy to the Access Manager runtime. -->
   3.578 +    </target>
   3.579 +    <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">
   3.580 +        <nbjpdaappreloaded/>
   3.581 +    </target>
   3.582 +    <target if="netbeans.home" name="-run-deploy-nb">
   3.583 +        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
   3.584 +    </target>
   3.585 +    <target name="-init-deploy-ant" unless="netbeans.home">
   3.586 +        <property name="deploy.ant.archive" value="${dist.war}"/>
   3.587 +        <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
   3.588 +        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
   3.589 +        <property name="deploy.ant.enabled" value="true"/>
   3.590 +    </target>
   3.591 +    <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
   3.592 +    <target if="netbeans.home" name="-run-undeploy-nb">
   3.593 +        <fail message="Undeploy is not supported from within the IDE"/>
   3.594 +    </target>
   3.595 +    <target depends="init,-pre-dist,dist,-post-dist" name="verify">
   3.596 +        <nbverify file="${dist.war}"/>
   3.597 +    </target>
   3.598 +    <target depends="run-deploy,-init-display-browser,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
   3.599 +    <target if="do.display.browser" name="-init-display-browser">
   3.600 +        <condition property="do.display.browser.nb">
   3.601 +            <isset property="netbeans.home"/>
   3.602 +        </condition>
   3.603 +        <condition property="do.display.browser.cl">
   3.604 +            <isset property="deploy.ant.enabled"/>
   3.605 +        </condition>
   3.606 +    </target>
   3.607 +    <target if="do.display.browser.nb" name="-display-browser-nb">
   3.608 +        <nbbrowse url="${client.url}"/>
   3.609 +    </target>
   3.610 +    <target if="do.display.browser.cl" name="-get-browser" unless="browser">
   3.611 +        <condition property="browser" value="rundll32">
   3.612 +            <os family="windows"/>
   3.613 +        </condition>
   3.614 +        <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
   3.615 +            <os family="windows"/>
   3.616 +        </condition>
   3.617 +        <condition property="browser" value="/usr/bin/open">
   3.618 +            <os family="mac"/>
   3.619 +        </condition>
   3.620 +        <property environment="env"/>
   3.621 +        <condition property="browser" value="${env.BROWSER}">
   3.622 +            <isset property="env.BROWSER"/>
   3.623 +        </condition>
   3.624 +        <condition property="browser" value="/usr/bin/firefox">
   3.625 +            <available file="/usr/bin/firefox"/>
   3.626 +        </condition>
   3.627 +        <condition property="browser" value="/usr/local/firefox/firefox">
   3.628 +            <available file="/usr/local/firefox/firefox"/>
   3.629 +        </condition>
   3.630 +        <condition property="browser" value="/usr/bin/mozilla">
   3.631 +            <available file="/usr/bin/mozilla"/>
   3.632 +        </condition>
   3.633 +        <condition property="browser" value="/usr/local/mozilla/mozilla">
   3.634 +            <available file="/usr/local/mozilla/mozilla"/>
   3.635 +        </condition>
   3.636 +        <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
   3.637 +            <available file="/usr/sfw/lib/firefox/firefox"/>
   3.638 +        </condition>
   3.639 +        <condition property="browser" value="/opt/csw/bin/firefox">
   3.640 +            <available file="/opt/csw/bin/firefox"/>
   3.641 +        </condition>
   3.642 +        <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
   3.643 +            <available file="/usr/sfw/lib/mozilla/mozilla"/>
   3.644 +        </condition>
   3.645 +        <condition property="browser" value="/opt/csw/bin/mozilla">
   3.646 +            <available file="/opt/csw/bin/mozilla"/>
   3.647 +        </condition>
   3.648 +    </target>
   3.649 +    <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
   3.650 +        <fail unless="browser">
   3.651 +                    Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
   3.652 +                </fail>
   3.653 +        <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
   3.654 +        <echo>Launching ${browse.url}</echo>
   3.655 +        <exec executable="${browser}" spawn="true">
   3.656 +            <arg line="${browser.args} ${browse.url}"/>
   3.657 +        </exec>
   3.658 +    </target>
   3.659 +    <target depends="init,-init-cos,compile-single" name="run-main">
   3.660 +        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
   3.661 +        <webproject1:java classname="${run.class}"/>
   3.662 +    </target>
   3.663 +    <target depends="init,compile-test-single,-pre-test-run-single" name="run-test-with-main">
   3.664 +        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
   3.665 +        <webproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
   3.666 +    </target>
   3.667 +    <!--
   3.668 +                DEBUGGING SECTION
   3.669 +            -->
   3.670 +    <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">
   3.671 +        <nbstartserver debugmode="true"/>
   3.672 +        <antcall target="connect-debugger"/>
   3.673 +        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="true"/>
   3.674 +        <antcall target="debug-display-browser"/>
   3.675 +        <antcall target="connect-client-debugger"/>
   3.676 +    </target>
   3.677 +    <target if="do.debug.server" name="connect-debugger" unless="is.debugged">
   3.678 +        <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" name="${name}" transport="${jpda.transport}">
   3.679 +            <classpath>
   3.680 +                <path path="${debug.classpath}:${j2ee.platform.classpath}"/>
   3.681 +            </classpath>
   3.682 +            <sourcepath>
   3.683 +                <path path="${web.docbase.dir}"/>
   3.684 +            </sourcepath>
   3.685 +        </nbjpdaconnect>
   3.686 +    </target>
   3.687 +    <target if="do.display.browser.debug" name="debug-display-browser">
   3.688 +        <nbbrowse url="${client.url}"/>
   3.689 +    </target>
   3.690 +    <target if="do.debug.client" name="connect-client-debugger">
   3.691 +        <webproject1:nbjsdebugstart webUrl="${client.url}"/>
   3.692 +    </target>
   3.693 +    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
   3.694 +        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
   3.695 +        <webproject1:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
   3.696 +    </target>
   3.697 +    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
   3.698 +    <target depends="init,compile,compile-jsps,-do-compile-single-jsp,debug" if="netbeans.home" name="debug-single"/>
   3.699 +    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
   3.700 +        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
   3.701 +    </target>
   3.702 +    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
   3.703 +        <webproject1:nbjpdastart name="${debug.class}"/>
   3.704 +    </target>
   3.705 +    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
   3.706 +        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
   3.707 +        <webproject1:debug classname="${debug.class}"/>
   3.708 +    </target>
   3.709 +    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/>
   3.710 +    <target depends="init" name="-pre-debug-fix">
   3.711 +        <fail unless="fix.includes">Must set fix.includes</fail>
   3.712 +        <property name="javac.includes" value="${fix.includes}.java"/>
   3.713 +    </target>
   3.714 +    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
   3.715 +        <webproject1:nbjpdareload/>
   3.716 +    </target>
   3.717 +    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
   3.718 +    <!--
   3.719 +                JAVADOC SECTION
   3.720 +            -->
   3.721 +    <target depends="init" name="javadoc-build">
   3.722 +        <mkdir dir="${dist.javadoc.dir}"/>
   3.723 +        <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}">
   3.724 +            <classpath>
   3.725 +                <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
   3.726 +            </classpath>
   3.727 +            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
   3.728 +                <filename name="**/*.java"/>
   3.729 +            </fileset>
   3.730 +            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
   3.731 +                <include name="**/*.java"/>
   3.732 +            </fileset>
   3.733 +        </javadoc>
   3.734 +    </target>
   3.735 +    <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview">
   3.736 +        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
   3.737 +    </target>
   3.738 +    <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/>
   3.739 +    <!--
   3.740 +                
   3.741 +                JUNIT COMPILATION SECTION
   3.742 +            -->
   3.743 +    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
   3.744 +        <mkdir dir="${build.test.classes.dir}"/>
   3.745 +        <property name="j2ee.platform.embeddableejb.classpath" value=""/>
   3.746 +    </target>
   3.747 +    <target name="-pre-compile-test">
   3.748 +        <!-- Empty placeholder for easier customization. -->
   3.749 +        <!-- You can override this target in the ../build.xml file. -->
   3.750 +    </target>
   3.751 +    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test">
   3.752 +        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
   3.753 +        <copy todir="${build.test.classes.dir}">
   3.754 +            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   3.755 +        </copy>
   3.756 +    </target>
   3.757 +    <target name="-post-compile-test">
   3.758 +        <!-- Empty placeholder for easier customization. -->
   3.759 +        <!-- You can override this target in the ../build.xml file. -->
   3.760 +    </target>
   3.761 +    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
   3.762 +    <target name="-pre-compile-test-single">
   3.763 +        <!-- Empty placeholder for easier customization. -->
   3.764 +        <!-- You can override this target in the ../build.xml file. -->
   3.765 +    </target>
   3.766 +    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
   3.767 +        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
   3.768 +        <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}"/>
   3.769 +        <copy todir="${build.test.classes.dir}">
   3.770 +            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   3.771 +        </copy>
   3.772 +    </target>
   3.773 +    <target name="-post-compile-test-single">
   3.774 +        <!-- Empty placeholder for easier customization. -->
   3.775 +        <!-- You can override this target in the ../build.xml file. -->
   3.776 +    </target>
   3.777 +    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
   3.778 +    <!--
   3.779 +                
   3.780 +                JUNIT EXECUTION SECTION
   3.781 +            -->
   3.782 +    <target depends="init" if="have.tests" name="-pre-test-run">
   3.783 +        <mkdir dir="${build.test.results.dir}"/>
   3.784 +    </target>
   3.785 +    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
   3.786 +        <webproject2:junit testincludes="**/*Test.java"/>
   3.787 +    </target>
   3.788 +    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
   3.789 +        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
   3.790 +    </target>
   3.791 +    <target depends="init" if="have.tests" name="test-report"/>
   3.792 +    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
   3.793 +    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
   3.794 +    <target depends="init" if="have.tests" name="-pre-test-run-single">
   3.795 +        <mkdir dir="${build.test.results.dir}"/>
   3.796 +    </target>
   3.797 +    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
   3.798 +        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
   3.799 +        <webproject2:junit excludes="" includes="${test.includes}"/>
   3.800 +    </target>
   3.801 +    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
   3.802 +        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
   3.803 +    </target>
   3.804 +    <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"/>
   3.805 +    <!--
   3.806 +                
   3.807 +                JUNIT DEBUGGING SECTION
   3.808 +            -->
   3.809 +    <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
   3.810 +        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
   3.811 +        <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
   3.812 +        <delete file="${test.report.file}"/>
   3.813 +        <!-- must exist, otherwise the XML formatter would fail -->
   3.814 +        <mkdir dir="${build.test.results.dir}"/>
   3.815 +        <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}">
   3.816 +            <customize>
   3.817 +                <arg value="showoutput=true"/>
   3.818 +                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
   3.819 +                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
   3.820 +            </customize>
   3.821 +        </webproject1:debug>
   3.822 +    </target>
   3.823 +    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
   3.824 +        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
   3.825 +    </target>
   3.826 +    <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
   3.827 +    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
   3.828 +        <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
   3.829 +    </target>
   3.830 +    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
   3.831 +    <!--
   3.832 +                
   3.833 +                CLEANUP SECTION
   3.834 +            -->
   3.835 +    <target depends="init" if="no.dist.ear.dir" name="deps-clean" unless="no.deps"/>
   3.836 +    <target depends="init" name="do-clean">
   3.837 +        <condition property="build.dir.to.clean" value="${build.web.dir}">
   3.838 +            <isset property="dist.ear.dir"/>
   3.839 +        </condition>
   3.840 +        <property name="build.dir.to.clean" value="${build.web.dir}"/>
   3.841 +        <delete includeEmptyDirs="true" quiet="true">
   3.842 +            <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
   3.843 +        </delete>
   3.844 +        <delete dir="${build.dir}"/>
   3.845 +        <available file="${build.dir.to.clean}/WEB-INF/lib" property="status.clean-failed" type="dir"/>
   3.846 +        <delete dir="${dist.dir}"/>
   3.847 +    </target>
   3.848 +    <target depends="do-clean" if="status.clean-failed" name="check-clean">
   3.849 +        <echo message="Warning: unable to delete some files in ${build.web.dir}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
   3.850 +        <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
   3.851 +    </target>
   3.852 +    <target depends="init" if="netbeans.home" name="undeploy-clean">
   3.853 +        <nbundeploy failOnError="false" startServer="false"/>
   3.854 +    </target>
   3.855 +    <target name="-post-clean">
   3.856 +        <!-- Empty placeholder for easier customization. -->
   3.857 +        <!-- You can override this target in the ../build.xml file. -->
   3.858 +    </target>
   3.859 +    <target depends="init,undeploy-clean,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products." name="clean"/>
   3.860 +    <target depends="clean" description="Clean build products." name="clean-ear"/>
   3.861 +</project>
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/java/SpringDemo1/nbproject/genfiles.properties	Wed Feb 10 18:25:55 2010 +0100
     4.3 @@ -0,0 +1,8 @@
     4.4 +build.xml.data.CRC32=99d5a06e
     4.5 +build.xml.script.CRC32=6de4a4de
     4.6 +build.xml.stylesheet.CRC32=c0ebde35@1.21.2.1
     4.7 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
     4.8 +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
     4.9 +nbproject/build-impl.xml.data.CRC32=99d5a06e
    4.10 +nbproject/build-impl.xml.script.CRC32=4d6f4164
    4.11 +nbproject/build-impl.xml.stylesheet.CRC32=b139b33b@1.21.2.1
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/java/SpringDemo1/nbproject/project.properties	Wed Feb 10 18:25:55 2010 +0100
     5.3 @@ -0,0 +1,73 @@
     5.4 +build.classes.dir=${build.web.dir}/WEB-INF/classes
     5.5 +build.classes.excludes=**/*.java,**/*.form
     5.6 +build.dir=build
     5.7 +build.generated.dir=${build.dir}/generated
     5.8 +build.generated.sources.dir=${build.dir}/generated-sources
     5.9 +build.test.classes.dir=${build.dir}/test/classes
    5.10 +build.test.results.dir=${build.dir}/test/results
    5.11 +build.web.dir=${build.dir}/web
    5.12 +build.web.excludes=${build.classes.excludes}
    5.13 +client.urlPart=
    5.14 +compile.jsps=false
    5.15 +conf.dir=${source.root}/conf
    5.16 +debug.classpath=${build.classes.dir}:${javac.classpath}
    5.17 +debug.test.classpath=\
    5.18 +    ${run.test.classpath}
    5.19 +display.browser=false
    5.20 +dist.dir=dist
    5.21 +dist.ear.war=${dist.dir}/${war.ear.name}
    5.22 +dist.javadoc.dir=${dist.dir}/javadoc
    5.23 +dist.war=${dist.dir}/${war.name}
    5.24 +endorsed.classpath=\
    5.25 +    ${libs.javaee-endorsed-api-6.0.classpath}
    5.26 +excludes=
    5.27 +includes=**
    5.28 +j2ee.deploy.on.save=false
    5.29 +j2ee.platform=1.6-web
    5.30 +j2ee.server.type=gfv3ee6
    5.31 +jar.compress=false
    5.32 +javac.classpath=\
    5.33 +    ${libs.spring-framework.classpath}
    5.34 +# Space-separated list of extra javac options
    5.35 +javac.compilerargs=
    5.36 +javac.debug=true
    5.37 +javac.deprecation=false
    5.38 +javac.source=1.5
    5.39 +javac.target=1.5
    5.40 +javac.test.classpath=\
    5.41 +    ${javac.classpath}:\
    5.42 +    ${build.classes.dir}:\
    5.43 +    ${libs.junit.classpath}:\
    5.44 +    ${libs.junit_4.classpath}
    5.45 +javadoc.additionalparam=
    5.46 +javadoc.author=false
    5.47 +javadoc.encoding=${source.encoding}
    5.48 +javadoc.noindex=false
    5.49 +javadoc.nonavbar=false
    5.50 +javadoc.notree=false
    5.51 +javadoc.preview=true
    5.52 +javadoc.private=false
    5.53 +javadoc.splitindex=true
    5.54 +javadoc.use=true
    5.55 +javadoc.version=false
    5.56 +javadoc.windowtitle=
    5.57 +jspcompilation.classpath=${jspc.classpath}:${javac.classpath}
    5.58 +lib.dir=${web.docbase.dir}/WEB-INF/lib
    5.59 +persistence.xml.dir=${conf.dir}
    5.60 +platform.active=default_platform
    5.61 +resource.dir=setup
    5.62 +run.test.classpath=\
    5.63 +    ${javac.test.classpath}:\
    5.64 +    ${build.test.classes.dir}
    5.65 +# Space-separated list of JVM arguments used when running a class with a main method or a unit test
    5.66 +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
    5.67 +runmain.jvmargs=
    5.68 +source.encoding=UTF-8
    5.69 +source.root=src
    5.70 +src.dir=${source.root}/java
    5.71 +test.src.dir=test
    5.72 +war.content.additional=
    5.73 +war.ear.name=SpringDemo1.war
    5.74 +war.name=SpringDemo1.war
    5.75 +web.docbase.dir=web
    5.76 +webinf.dir=web/WEB-INF
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/java/SpringDemo1/nbproject/project.xml	Wed Feb 10 18:25:55 2010 +0100
     6.3 @@ -0,0 +1,23 @@
     6.4 +<?xml version="1.0" encoding="UTF-8"?>
     6.5 +<project xmlns="http://www.netbeans.org/ns/project/1">
     6.6 +    <type>org.netbeans.modules.web.project</type>
     6.7 +    <configuration>
     6.8 +        <data xmlns="http://www.netbeans.org/ns/web-project/3">
     6.9 +            <name>SpringDemo1</name>
    6.10 +            <minimum-ant-version>1.6.5</minimum-ant-version>
    6.11 +            <web-module-libraries>
    6.12 +                <library dirs="200">
    6.13 +                    <file>${libs.spring-framework.classpath}</file>
    6.14 +                    <path-in-war>WEB-INF/lib</path-in-war>
    6.15 +                </library>
    6.16 +            </web-module-libraries>
    6.17 +            <web-module-additional-libraries/>
    6.18 +            <source-roots>
    6.19 +                <root id="src.dir"/>
    6.20 +            </source-roots>
    6.21 +            <test-roots>
    6.22 +                <root id="test.src.dir"/>
    6.23 +            </test-roots>
    6.24 +        </data>
    6.25 +    </configuration>
    6.26 +</project>
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/java/SpringDemo1/src/conf/MANIFEST.MF	Wed Feb 10 18:25:55 2010 +0100
     7.3 @@ -0,0 +1,2 @@
     7.4 +Manifest-Version: 1.0
     7.5 +
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/java/SpringDemo1/src/java/cz/frantovo/springDemo1/dao/KnihaDAO.java	Wed Feb 10 18:25:55 2010 +0100
     8.3 @@ -0,0 +1,9 @@
     8.4 +package cz.frantovo.springDemo1.dao;
     8.5 +
     8.6 +/**
     8.7 + *
     8.8 + * @author fiki
     8.9 + */
    8.10 +public class KnihaDAO {
    8.11 +
    8.12 +}
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/java/SpringDemo1/src/java/cz/frantovo/springDemo1/dto/Kniha.java	Wed Feb 10 18:25:55 2010 +0100
     9.3 @@ -0,0 +1,9 @@
     9.4 +package cz.frantovo.springDemo1.dto;
     9.5 +
     9.6 +/**
     9.7 + *
     9.8 + * @author fiki
     9.9 + */
    9.10 +public class Kniha {
    9.11 +
    9.12 +}
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/java/SpringDemo1/src/java/cz/frantovo/springDemo1/web/SpringDemo1Bean.java	Wed Feb 10 18:25:55 2010 +0100
    10.3 @@ -0,0 +1,9 @@
    10.4 +package cz.frantovo.springDemo1.web;
    10.5 +
    10.6 +/**
    10.7 + *
    10.8 + * @author fiki
    10.9 + */
   10.10 +public class SpringDemo1Bean {
   10.11 +
   10.12 +}
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/java/SpringDemo1/web/WEB-INF/beans.xml	Wed Feb 10 18:25:55 2010 +0100
    11.3 @@ -0,0 +1,5 @@
    11.4 +<?xml version="1.0" encoding="UTF-8"?>
    11.5 +<beans xmlns="http://java.sun.com/xml/ns/javaee"
    11.6 +       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    11.7 +       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
    11.8 +</beans>
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/java/SpringDemo1/web/WEB-INF/sun-web.xml	Wed Feb 10 18:25:55 2010 +0100
    12.3 @@ -0,0 +1,11 @@
    12.4 +<?xml version="1.0" encoding="UTF-8"?>
    12.5 +<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
    12.6 +<sun-web-app error-url="">
    12.7 +  <context-root>/SpringDemo1</context-root>
    12.8 +  <class-loader delegate="true"/>
    12.9 +  <jsp-config>
   12.10 +    <property name="keepgenerated" value="true">
   12.11 +      <description>Keep a copy of the generated servlet class' java code.</description>
   12.12 +    </property>
   12.13 +  </jsp-config>
   12.14 +</sun-web-app>
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/java/SpringDemo1/web/index.jsp	Wed Feb 10 18:25:55 2010 +0100
    13.3 @@ -0,0 +1,21 @@
    13.4 +<?xml version="1.0" encoding="UTF-8"?>
    13.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
    13.6 +	  xmlns:c="http://java.sun.com/jsp/jstl/core"
    13.7 +	  version="2.0">
    13.8 +    <jsp:directive.page contentType="application/xhtml+xml"/>
    13.9 +    <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
   13.10 +		doctype-root-element="html"
   13.11 +		omit-xml-declaration="false"/>
   13.12 +
   13.13 +    <html xmlns="http://www.w3.org/1999/xhtml">
   13.14 +	<head>
   13.15 +	    <title>SpringDemo1</title>
   13.16 +	</head>
   13.17 +	<body>
   13.18 +	    <h1>SpringDemo1</h1>
   13.19 +	    <p>Spring JDBC…</p>
   13.20 +
   13.21 +	</body>
   13.22 +    </html>
   13.23 +
   13.24 +</jsp:root>