diff --git a/.gitignore b/.gitignore index 7afcb7c..fbc9269 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ Icon? ehthumbs.db [Tt]humbs.db +/nbproject/private/ +/build/ +/dist/ \ No newline at end of file diff --git a/doc/db.fuel.class.violet.html b/doc/db.fuel.class.violet.html new file mode 100644 index 0000000..31aacdb --- /dev/null +++ b/doc/db.fuel.class.violet.html @@ -0,0 +1,330 @@ +<HTML> +<HEAD> +<META name="description" + content="Violet UML Editor cross format document" /> +<META name="keywords" content="Violet, UML" /> +<META charset="UTF-8" /> +<SCRIPT type="text/javascript"> + function switchVisibility() { + var obj = document.getElementById("content"); + obj.style.display = (obj.style.display == "block") ? "none" : "block"; + } +</SCRIPT> +</HEAD> +<BODY> + This file was generated with Violet UML Editor 2.1.0. + ( <A href=# onclick="switchVisibility()">View Source</A> / <A href="http://sourceforge.net/projects/violet/files/violetumleditor/" target="_blank">Download Violet</A> ) + <BR /> + <BR /> + <SCRIPT id="content" type="text/xml"><![CDATA[<ClassDiagramGraph id="1"> + <nodes id="2"> + <ClassNode id="3"> + <children id="4"/> + <location class="Point2D.Double" id="5" x="90.0" y="70.0"/> + <id id="6" value="abe25fb1-272e-4064-9d98-7cf790b0df4b"/> + <revision>1</revision> + <backgroundColor id="7"> + <red>255</red> + <green>255</green> + <blue>255</blue> + <alpha>255</alpha> + </backgroundColor> + <borderColor id="8"> + <red>0</red> + <green>0</green> + <blue>0</blue> + <alpha>255</alpha> + </borderColor> + <textColor reference="8"/> + <name id="9" justification="1" size="3" underlined="false"> + <text><<Feature>> +燃料給油所</text> + </name> + <attributes id="10" justification="0" size="4" underlined="false"> + <text>+ 地点:GM_Point ++ 燃料店舗分類:燃料店舗分類コード ++ 所在地: String</text> + </attributes> + <methods id="11" justification="0" size="4" underlined="false"> + <text></text> + </methods> + </ClassNode> + <ClassNode id="12"> + <children id="13"/> + <location class="Point2D.Double" id="14" x="460.0" y="80.0"/> + <id id="15" value="b49c7466-b0f5-46d6-8d25-446774395a9e"/> + <revision>1</revision> + <backgroundColor reference="7"/> + <borderColor reference="8"/> + <textColor reference="8"/> + <name id="16" justification="1" size="3" underlined="false"> + <text><<CodeList>> +燃料店舗分類コード</text> + </name> + <attributes id="17" justification="0" size="4" underlined="false"> + <text>+ SS(ガソリンスタンド) = 1</text> + </attributes> + <methods id="18" justification="0" size="4" underlined="false"> + <text></text> + </methods> + </ClassNode> + <ClassNode id="19"> + <children id="20"/> + <location class="Point2D.Double" id="21" x="100.0" y="290.0"/> + <id id="22" value="457b856c-6be7-4122-a77e-cdc5fac6c88a"/> + <revision>1</revision> + <backgroundColor id="23"> + <red>255</red> + <green>255</green> + <blue>255</blue> + <alpha>255</alpha> + </backgroundColor> + <borderColor id="24"> + <red>0</red> + <green>0</green> + <blue>0</blue> + <alpha>255</alpha> + </borderColor> + <textColor reference="24"/> + <name id="25" justification="1" size="3" underlined="false"> + <text><<HSQLDB table>> +table.SS_CODE</text> + </name> + <attributes id="26" justification="0" size="4" underlined="false"> + <text>+ id: String ++ lon: doble ++ lat: double</text> + </attributes> + <methods id="27" justification="0" size="4" underlined="false"> + <text></text> + </methods> + </ClassNode> + </nodes> + <edges id="28"> + <AggregationEdge id="29"> + <start class="ClassNode" reference="12"/> + <end class="ClassNode" reference="3"/> + <startLocation class="Point2D.Double" id="30" x="60.0" y="80.0"/> + <endLocation class="Point2D.Double" id="31" x="150.0" y="90.0"/> + <transitionPoints id="32"/> + <id id="33" value="81c7ef9b-72a0-468f-a338-294586e0ef84"/> + <revision>1</revision> + <bentStyle name="AUTO"/> + <startLabel>1</startLabel> + <middleLabel>店舗分類</middleLabel> + <endLabel>1</endLabel> + </AggregationEdge> + </edges> +</ClassDiagramGraph>]]></SCRIPT> + <BR /> + <BR /> + <IMG alt="embedded diagram image" src="data:image/png;base64,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 +TmvHAAAAAElFTkSuQmCC" /> +</BODY> +</HTML> \ No newline at end of file diff --git a/manifest.mf b/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/nbbuild.xml b/nbbuild.xml new file mode 100644 index 0000000..b6c1178 --- /dev/null +++ b/nbbuild.xml @@ -0,0 +1,73 @@ +<?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="osmCoverage" default="default" basedir="."> + <description>Builds, tests, and runs the project osmCoverage.</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-jar: called before JAR building + -post-jar: called after JAR building + -post-clean: called after cleaning build products + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of inserting an obfuscator after compilation could look like this: + + <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. + + + Another way to customize the build is by overriding existing main targets. + The targets 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 + -init-macrodef-java: defines macro for class execution + -do-jar: JAR building + run: execution of project + -javadoc-build: Javadoc generation + test-report: JUnit report generation + + An example of overriding the target for project execution could look like this: + + <target name="run" depends="osmCoverage-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </target> + + Notice that the overridden target depends on the jar target and not only on + the compile target as the regular run target does. Again, for a list of available + properties which you can use, check the target you are overriding in the + nbproject/build-impl.xml file. + + --> +</project> diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml new file mode 100644 index 0000000..894502b --- /dev/null +++ b/nbproject/build-impl.xml @@ -0,0 +1,1403 @@ +<?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 + - jar + - execution + - debugging + - javadoc + - test compilation + - test execution + - test debugging + - applet + - cleanup + + --> +<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="osmCoverage-impl"> + <fail message="Please build using Ant 1.8.0 or higher."> + <condition> + <not> + <antversion atleast="1.8.0"/> + </not> + </condition> + </fail> + <target depends="test,jar,javadoc" description="Build and test 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/config.properties"/> + <property file="nbproject/private/configs/${config}.properties"/> + <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.6"/> + <property name="default.javac.target" value="1.6"/> + </target> + <target depends="-pre-init,-init-private,-init-user" name="-init-project"> + <property file="nbproject/configs/${config}.properties"/> + <property file="nbproject/project.properties"/> + </target> + <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> + <property name="platform.java" value="${java.home}/bin/java"/> + <available file="${manifest.file}" property="manifest.available"/> + <condition property="splashscreen.available"> + <and> + <not> + <equals arg1="${application.splash}" arg2="" trim="true"/> + </not> + <available file="${application.splash}"/> + </and> + </condition> + <condition property="main.class.available"> + <and> + <isset property="main.class"/> + <not> + <equals arg1="${main.class}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition property="profile.available"> + <and> + <isset property="javac.profile"/> + <length length="0" string="${javac.profile}" when="greater"/> + <matches pattern="((1\.[89])|9)(\..*)?" string="${javac.source}"/> + </and> + </condition> + <condition property="do.archive"> + <or> + <not> + <istrue value="${jar.archive.disabled}"/> + </not> + <istrue value="${not.archive.disabled}"/> + </or> + </condition> + <condition property="do.mkdist"> + <and> + <isset property="do.archive"/> + <isset property="libs.CopyLibs.classpath"/> + <not> + <istrue value="${mkdist.disabled}"/> + </not> + </and> + </condition> + <condition property="do.archive+manifest.available"> + <and> + <isset property="manifest.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+main.class.available"> + <and> + <isset property="main.class.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+splashscreen.available"> + <and> + <isset property="splashscreen.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+profile.available"> + <and> + <isset property="profile.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="have.tests"> + <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"> + <and> + <isset property="javadoc.preview"/> + <isfalse value="${javadoc.preview}"/> + </and> + </condition> + <property name="run.jvmargs" value=""/> + <property name="run.jvmargs.ide" value=""/> + <property name="javac.compilerargs" value=""/> + <property name="work.dir" value="${basedir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <property name="javac.debug" value="true"/> + <property name="javadoc.preview" value="true"/> + <property name="application.args" value=""/> + <property name="source.encoding" value="${file.encoding}"/> + <property name="runtime.encoding" value="${source.encoding}"/> + <property name="manifest.encoding" value="${source.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="do.depend" value="false"/> + <condition property="do.depend.true"> + <istrue value="${do.depend}"/> + </condition> + <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> + <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> + <and> + <isset property="endorsed.classpath"/> + <not> + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> + <isset property="profile.available"/> + </condition> + <condition else="false" property="jdkBug6558476"> + <and> + <matches pattern="1\.[56]" string="${java.specification.version}"/> + <not> + <os family="unix"/> + </not> + </and> + </condition> + <condition else="false" property="javac.fork"> + <or> + <istrue value="${jdkBug6558476}"/> + <istrue value="${javac.external.vm}"/> + </or> + </condition> + <property name="jar.index" value="false"/> + <property name="jar.index.metainf" value="${jar.index}"/> + <property name="copylibs.rebase" value="true"/> + <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> + <condition property="junit.available"> + <or> + <available classname="org.junit.Test" classpath="${run.test.classpath}"/> + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/> + </or> + </condition> + <condition property="testng.available"> + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/> + </condition> + <condition property="junit+testng.available"> + <and> + <istrue value="${junit.available}"/> + <istrue value="${testng.available}"/> + </and> + </condition> + <condition else="testng" property="testng.mode" value="mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <condition else="" property="testng.debug.mode" value="-mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <property name="java.failonerror" value="true"/> + </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="build.dir">Must set build.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.jar">Must set dist.jar</fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <mkdir dir="@{apgeneratedsrcdir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <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.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <compilerarg value="-processorpath"/> + <compilerarg path="@{processorpath}:${empty.dir}"/> + <compilerarg line="${ap.processors.internal}"/> + <compilerarg line="${annotation.processing.processor.options}"/> + <compilerarg value="-s"/> + <compilerarg path="@{apgeneratedsrcdir}"/> + <compilerarg line="${ap.proc.none.internal}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <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}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <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.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> + <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <sequential> + <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </depend> + </sequential> + </macrodef> + <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${build.classes.dir}" name="destdir"/> + <sequential> + <fail unless="javac.includes">Must set javac.includes</fail> + <pathconvert pathsep="${line.separator}" property="javac.includes.binary"> + <path> + <filelist dir="@{destdir}" files="${javac.includes}"/> + </path> + <globmapper from="*.java" to="*.class"/> + </pathconvert> + <tempfile deleteonexit="true" property="javac.includesfile.binary"/> + <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/> + <delete> + <files includesfile="${javac.includesfile.binary}"/> + </delete> + <delete> + <fileset file="${javac.includesfile.binary}"/> + </delete> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-init"> + <condition else="false" property="nb.junit.batch" value="true"> + <and> + <istrue value="${junit.available}"/> + <not> + <isset property="test.method"/> + </not> + </and> + </condition> + <condition else="false" property="nb.junit.single" value="true"> + <and> + <istrue value="${junit.available}"/> + <isset property="test.method"/> + </and> + </condition> + </target> + <target name="-init-test-properties"> + <property name="test.binaryincludes" value="<nothing>"/> + <property name="test.binarytestincludes" value=""/> + <property name="test.binaryexcludes" value=""/> + </target> + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/> + <target if="${testng.available}" name="-init-macrodef-testng"> + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}"> + <isset property="test.method"/> + </condition> + <union id="test.set"/> + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="osmCoverage" testname="TestNG tests" workingDir="${work.dir}"> + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> + <propertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </propertyset> + <customize/> + </testng> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-test-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <echo>No tests executed.</echo> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:testng> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test"> + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <sequential> + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-impl> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl"> + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit-debug> + </sequential> + </macrodef> + </target> + <target if="${testng.available}" name="-init-macrodef-testng-debug"> + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element name="customize2" optional="true"/> + <sequential> + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> + <isset property="test.method"/> + </condition> + <condition else="-suitename osmCoverage -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> + <matches pattern=".*\.xml" string="@{testClass}"/> + </condition> + <delete dir="${build.test.results.dir}" quiet="true"/> + <mkdir dir="${build.test.results.dir}"/> + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}"> + <customize> + <customize2/> + <jvmarg value="-ea"/> + <arg line="${testng.debug.mode}"/> + <arg line="-d ${build.test.results.dir}"/> + <arg line="-listener org.testng.reporters.VerboseReporter"/> + <arg line="${testng.cmd.args}"/> + </customize> + </j2seproject3:debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl"> + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element implicit="true" name="customize2" optional="true"/> + <sequential> + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2/> + </j2seproject3:testng-debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + </customize2> + </j2seproject3:testng-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/> + <!-- + pre NB7.2 profiling section; consider it deprecated + --> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/> + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile"> + <macrodef name="resolve"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${env.@{value}}"/> + </sequential> + </macrodef> + <macrodef name="profile"> + <attribute default="${main.class}" name="classname"/> + <element name="customize" optional="true"/> + <sequential> + <property environment="env"/> + <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/> + <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <arg line="${application.args}"/> + <classpath> + <path path="${run.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check"> + <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> + <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> + </target> + <!-- + end of pre NB7.2 profiling section + --> + <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="name"/> + <attribute default="${debug.classpath}" name="classpath"/> + <attribute default="" name="stopclassname"/> + <sequential> + <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-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> + </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/j2se-project/3"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${debug.classpath}" name="classpath"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{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-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${run.classpath}" name="classpath"/> + <attribute default="jvm" name="jvm"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{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-copylibs"> + <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${manifest.file}" name="manifest"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <pathconvert property="run.classpath.without.build.classes.dir"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to=""/> + </pathconvert> + <pathconvert pathsep=" " property="jar.classpath"> + <path path="${run.classpath.without.build.classes.dir}"/> + <chainedmapper> + <flattenmapper/> + <filtermapper> + <replacestring from=" " to="%20"/> + </filtermapper> + <globmapper from="*" to="lib/*"/> + </chainedmapper> + </pathconvert> + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + <manifest> + <attribute name="Class-Path" value="${jar.classpath}"/> + <customize/> + </manifest> + </copylibs> + </sequential> + </macrodef> + </target> + <target name="-init-presetdef-jar"> + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8"> + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + </jar> + </presetdef> + </target> + <target name="-init-ap-cmdline-properties"> + <property name="annotation.processing.enabled" value="true"/> + <property name="annotation.processing.processors.list" value=""/> + <property name="annotation.processing.processor.options" value=""/> + <property name="annotation.processing.run.all.processors" value="true"/> + <property name="javac.processorpath" value="${javac.classpath}"/> + <property name="javac.test.processorpath" value="${javac.test.classpath}"/> + <condition property="ap.supported.internal" value="true"> + <not> + <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> + </not> + </condition> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> + <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> + <isfalse value="${annotation.processing.run.all.processors}"/> + </condition> + <condition else="" property="ap.proc.none.internal" value="-proc:none"> + <isfalse value="${annotation.processing.enabled}"/> + </condition> + </target> + <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> + <property name="ap.cmd.line.internal" value=""/> + </target> + <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/> + <!-- + =================== + COMPILATION SECTION + =================== + --> + <target name="-deps-jar-init" unless="built-jar.properties"> + <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> + <delete file="${built-jar.properties}" quiet="true"/> + </target> + <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> + <echo level="warn" message="Cycle detected: osmCoverage was already built"/> + </target> + <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-jar.properties}" verbose="false"/> + <property file="${built-jar.properties}" prefix="already.built.jar."/> + <antcall target="-warn-already-built-jar"/> + <propertyfile file="${built-jar.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> + <target depends="init" name="-check-automatic-build"> + <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> + </target> + <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> + <antcall target="clean"/> + </target> + <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 if="do.depend.true" name="-compile-depend"> + <pathconvert property="build.generated.subdirs"> + <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </pathconvert> + <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> + <j2seproject3:javac 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.persistence.xml" name="-copy-persistence-xml"> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy todir="${build.classes.dir}/META-INF"> + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-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> + <j2seproject3:force-recompile/> + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> + </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,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> + <!-- + ==================== + JAR BUILDING SECTION + ==================== + --> + <target depends="init" name="-pre-pre-jar"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + </target> + <target name="-pre-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <touch file="${tmp.manifest.file}" verbose="false"/> + </target> + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass"> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="Main-Class" value="${main.class}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile"> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="Profile" value="${javac.profile}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen"> + <basename file="${application.splash}" property="splashscreen.basename"/> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> + </manifest> + </target> + <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs"> + <j2seproject3:copylibs manifest="${tmp.manifest.file}"/> + <echo level="info">To run this application from the command line without Ant, try:</echo> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <echo level="info">java -jar "${dist.jar.resolved}"</echo> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist"> + <j2seproject1:jar manifest="${tmp.manifest.file}"/> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <pathconvert property="run.classpath.with.dist.jar"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> + </pathconvert> + <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}"> + <isset property="main.class.available"/> + </condition> + <condition else="debug" property="jar.usage.level" value="info"> + <isset property="main.class.available"/> + </condition> + <echo level="${jar.usage.level}" message="${jar.usage.message}"/> + </target> + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest"> + <delete> + <fileset file="${tmp.manifest.file}"/> + </delete> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/> + <target name="-post-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/> + <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/> + <!-- + ================= + EXECUTION SECTION + ================= + --> + <target depends="init,compile" description="Run a main class." name="run"> + <j2seproject1:java> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject1:java> + </target> + <target name="-do-not-recompile"> + <property name="javac.includes.binary" value=""/> + </target> + <target depends="init,compile-single" name="run-single"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}"/> + </target> + <target depends="init,compile-test-single" name="run-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> + </target> + <!-- + ================= + DEBUGGING SECTION + ================= + --> + <target depends="init" if="netbeans.home" name="-debug-start-debugger"> + <j2seproject1:nbjpdastart name="${debug.class}"/> + </target> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> + </target> + <target depends="init,compile" name="-debug-start-debuggee"> + <j2seproject3:debug> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> + <j2seproject1:nbjpdastart stopclassname="${main.class}"/> + </target> + <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> + <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> + <j2seproject3:debug classname="${debug.class}"/> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> + <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> + <j2seproject3: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" 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"> + <j2seproject1:nbjpdareload/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> + <!-- + ================= + PROFILING SECTION + ================= + --> + <!-- + pre NB7.2 profiler integration + --> + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile/> + </target> + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72"> + <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="${profile.class}"/> + </target> + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </profile> + </target> + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + </nbprofiledirect> + <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true"> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <test name="${profile.class}"/> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + </junit> + </target> + <!-- + end of pre NB72 profiling section + --> + <target if="netbeans.home" name="-profile-check"> + <condition property="profiler.configured"> + <or> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/> + </or> + </condition> + </target> + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent"> + <startprofiler/> + <antcall target="run"/> + </target> + <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-single"/> + </target> + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/> + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <startprofiler/> + <antcall target="test-single"/> + </target> + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-test-with-main"/> + </target> + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <startprofiler/> + <antcall target="run-applet"/> + </target> + <!-- + =============== + JAVADOC SECTION + =============== + --> + <target depends="init" if="have.sources" name="-javadoc-build"> + <mkdir dir="${dist.javadoc.dir}"/> + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}"> + <and> + <isset property="endorsed.classpath.cmd.line.arg"/> + <not> + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/> + </not> + </and> + </condition> + <condition else="" property="bug5101868workaround" value="*.java"> + <matches pattern="1\.[56](\..*)?" string="${java.version}"/> + </condition> + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${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}"/> + </classpath> + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> + <filename name="**/*.java"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/> + </javadoc> + <copy todir="${dist.javadoc.dir}"> + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> + <filename name="**/doc-files/**"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/doc-files/**"/> + </fileset> + </copy> + </target> + <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> + <!-- + ========================= + TEST COMPILATION SECTION + ========================= + --> + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-test-depend"> + <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir=""/> + <copy todir="${build.test.classes.dir}"/> + </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,deps-jar,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> + <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="" srcdir=""/> + <copy todir="${build.test.classes.dir}"/> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> + <!-- + ======================= + TEST EXECUTION SECTION + ======================= + --> + <target depends="init" if="have.tests" name="-pre-test-run"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/> + </target> + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init" if="have.tests" name="test-report"/> + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> + <target depends="init" if="have.tests" name="-pre-test-run-single"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method"> + <fail unless="test.class">Must select some files in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/> + <!-- + ======================= + TEST DEBUGGING SECTION + ======================= + --> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> + <!-- + ========================= + APPLET EXECUTION SECTION + ========================= + --> + <target depends="init,compile-single" name="run-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject1:java classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject1:java> + </target> + <!-- + ========================= + APPLET DEBUGGING SECTION + ========================= + --> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject3:debug classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> + <!-- + =============== + CLEANUP SECTION + =============== + --> + <target name="-deps-clean-init" unless="built-clean.properties"> + <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> + <delete file="${built-clean.properties}" quiet="true"/> + </target> + <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> + <echo level="warn" message="Cycle detected: osmCoverage was already built"/> + </target> + <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-clean.properties}" verbose="false"/> + <property file="${built-clean.properties}" prefix="already.built.clean."/> + <antcall target="-warn-already-built-clean"/> + <propertyfile file="${built-clean.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init" name="-do-clean"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target name="-check-call-dep"> + <property file="${call.built.properties}" prefix="already.built."/> + <condition property="should.call.dep"> + <and> + <not> + <isset property="already.built.${call.subproject}"/> + </not> + <available file="${call.script}"/> + </and> + </condition> + </target> + <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> + <ant antfile="${call.script}" inheritall="false" target="${call.target}"> + <propertyset> + <propertyref prefix="transfer."/> + <mapper from="transfer.*" to="*" type="glob"/> + </propertyset> + </ant> + </target> +</project> diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..d7773c1 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +nbbuild.xml.data.CRC32=980059b7 +nbbuild.xml.script.CRC32=e7ea1557 +nbbuild.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# 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=980059b7 +nbproject/build-impl.xml.script.CRC32=9b89e078 +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..e0da09d --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,83 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=osmCoverage +application.vendor=yuu +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +buildfile=nbbuild.xml +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# \u914d\u7f6ejar\u304b\u3089\u9664\u5916\u3059\u308b\u5fc5\u8981\u304c\u3042\u308bbuild.classes.dir\u5185\u306e\u30d5\u30a1\u30a4\u30eb +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/osmCoverage.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.hayashi_0225.jar=lib\\hayashi_0225.jar +file.reference.hsqldb_2.2.9.jar=lib\\hsqldb_2.2.9.jar +file.reference.osmCoverage-src=src +file.reference.postgresql-9.4.1212.jar=lib\\postgresql-9.4.1212.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.hayashi_0225.jar}:\ + ${file.reference.hsqldb_2.2.9.jar}:\ + ${file.reference.postgresql-9.4.1212.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=${file.reference.osmCoverage-src} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..3480a86 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.java.j2seproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> + <name>osmCoverage</name> + <source-roots> + <root id="src.dir"/> + </source-roots> + <test-roots/> + </data> + </configuration> +</project> diff --git a/src/ImportGML_FUEL.bat b/src/ImportGML_FUEL.bat new file mode 100644 index 0000000..2f1f6e9 --- /dev/null +++ b/src/ImportGML_FUEL.bat @@ -0,0 +1,3 @@ +RD /s database +java -cp .;osmCoverage.jar;hayashi_0225.jar;hsqldb_2.2.9.jar;postgresql-9.4.1212.jar osm.jp.coverage.fuel.DbFuel + diff --git a/src/osm/jp/api/Db.java b/src/osm/jp/api/Db.java new file mode 100644 index 0000000..0da611a --- /dev/null +++ b/src/osm/jp/api/Db.java @@ -0,0 +1,51 @@ +package osm.jp.api; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.SQLSyntaxErrorException; + +public class Db { + /** + * データを受信しないSQLを実行するに作る + * 既にテーブルが存在する時には何もしない + * @param con + * @param createsql + * @throws SQLException + * @throws java.sql.SQLSyntaxErrorException + */ + public static void updateSQL(Connection con, String createsql) throws SQLException, SQLSyntaxErrorException { + System.out.println(createsql); + try (PreparedStatement ps = con.prepareStatement(createsql)) { + ps.executeUpdate(); + } + } + + /** + * 'table.?'を削除するS + * @param con + * @param tableName + * @throws SQLException + */ + public static void drop(Connection con, String tableName) throws SQLException { + String createSt = "DROP TABLE "+ tableName +";"; + System.out.println(createSt); + try (PreparedStatement ps = con.prepareStatement(createSt)) { + ps.executeUpdate(); + } + } + + /** + * 'table.FUEL'の内容を空にする + * @param con + * @param tableName + * @throws SQLException + */ + public static void clear(Connection con, String tableName) throws SQLException { + String createSt = "DELETE FROM "+ tableName +";"; + System.out.println(createSt); + try (PreparedStatement ps = con.prepareStatement(createSt)) { + ps.executeUpdate(); + } + } +} \ No newline at end of file diff --git a/src/osm/jp/coverage/busstop/Busstop.java b/src/osm/jp/coverage/busstop/Busstop.java index 4f140fc..d861539 100644 --- a/src/osm/jp/coverage/busstop/Busstop.java +++ b/src/osm/jp/coverage/busstop/Busstop.java @@ -38,9 +38,10 @@ /** * メイン * - * java -cp .:ConvBusstop.jar:hayashi_0225.jar:hsqldb_2.2.9.jar osm.jp.ConvBusstop <option> + * java -cp .:ConvBusstop.jar:hayashi_0225.jar:hsqldb_2.2.9.jar osm.jp.ConvBusstop [option] * OPTION: -check OSMデータ上に既存のバス停が存在するかどうかをチェックする * + * @param args * @throws IOException * @throws SQLException * @throws ClassNotFoundException @@ -50,14 +51,14 @@ * @throws ParserConfigurationException */ public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException { - for (int i=0; i < args.length; i++) { - if (args[i].equals("-update")) { - Busstop.update = true; - } - if (args[i].equals("-noget")) { - Busstop.noget = true; - } - } + for (String arg : args) { + if (arg.equals("-update")) { + Busstop.update = true; + } + if (arg.equals("-noget")) { + Busstop.noget = true; + } + } // HSQLディレクトリがなければ作る File dbdir = new File("database"); @@ -100,22 +101,18 @@ } public static void getJapanCapabilities(Connection con, File oFile) throws MalformedURLException, ProtocolException, IOException, ClassNotFoundException, SQLException, ParserConfigurationException, SAXException { - for (int i=0; i < all.length; i++) { - HttpPOST.getCapabilities(oFile, "highway", "bus_stop", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - readExistingFile(con, oFile); - - HttpPOST.getCapabilities(oFile, "highway", "disused:bus_stop", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - readExistingFile(con, oFile); - - HttpPOST.getCapabilities(oFile, "amenity", "bus_station", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - readExistingFile(con, oFile); - - HttpPOST.getCapabilities(oFile, "public_transport", "platform", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - readExistingFile(con, oFile); - - HttpPOST.getCapabilities(oFile, "public_transport", "stop_position", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - readExistingFile(con, oFile); - } + for (Japan all1 : all) { + HttpPOST.getCapabilities(oFile, "highway", "bus_stop", all1.minLat, all1.maxLat, all1.minLon, all1.maxLon); + readExistingFile(con, oFile); + HttpPOST.getCapabilities(oFile, "highway", "disused:bus_stop", all1.minLat, all1.maxLat, all1.minLon, all1.maxLon); + readExistingFile(con, oFile); + HttpPOST.getCapabilities(oFile, "amenity", "bus_station", all1.minLat, all1.maxLat, all1.minLon, all1.maxLon); + readExistingFile(con, oFile); + HttpPOST.getCapabilities(oFile, "public_transport", "platform", all1.minLat, all1.maxLat, all1.minLon, all1.maxLon); + readExistingFile(con, oFile); + HttpPOST.getCapabilities(oFile, "public_transport", "stop_position", all1.minLat, all1.maxLat, all1.minLon, all1.maxLon); + readExistingFile(con, oFile); + } } @@ -170,79 +167,79 @@ else { ps1 = con.prepareStatement("SELECT idref,name,lat,lon,fixed FROM bus_stop WHERE area=?"); } - PreparedStatement ps2 = con.prepareStatement("SELECT SUM(score) FROM existing_data where (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?)"); - PreparedStatement ps3 = con.prepareStatement("UPDATE bus_stop SET fixed=? WHERE idref=?"); - PreparedStatement ps4 = con.prepareStatement("SELECT SUM(score) FROM existing_data where (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?) and (name = ?)"); - ps1.setInt(1, areacode); - ResultSet rset1 = ps1.executeQuery(); - while (rset1.next()) { - String idref = rset1.getString(1); - String name = rset1.getString("name"); - Double lat = rset1.getDouble("lat"); - Double lon = rset1.getDouble("lon"); - int fixed = rset1.getInt("fixed"); - - // 指定の緯度経度を中心とする半径150x2m四方の矩形領域 - System.out.print(idref + "("+ name + ") ...."); - RectArea rect = new RectArea(lat, lon, NEER); // 300m 四方 - ps2.setDouble(1, rect.minlat); - ps2.setDouble(2, rect.maxlat); - ps2.setDouble(3, rect.minlon); - ps2.setDouble(4, rect.maxlon); - ResultSet rset2 = ps2.executeQuery(); - if (rset2.next()) { - int score = rset2.getInt(1); - if (score > 0) { - System.out.println("."+ score); - if (Busstop.update) { - if (fixed != score) { - String osm_node = "UPDATE t_busstop SET fixed="+ score +" WHERE gid="+ idref +";"; - System.out.println(osm_node); - ow.write(osm_node); - ow.newLine(); - } - } - else { - ps3.setInt(1, score); - ps3.setString(2, idref); - ps3.executeUpdate(); - } - } - else { - // 指定の緯度経度を中心とする半径150x4m四方の矩形領域 - System.out.print("***"); - rect = new RectArea(lat, lon, NEER*2); // 600m 四方 - ps4.setDouble(1, rect.minlat); - ps4.setDouble(2, rect.maxlat); - ps4.setDouble(3, rect.minlon); - ps4.setDouble(4, rect.maxlon); - ps4.setString(5, name); - ResultSet rset4 = ps4.executeQuery(); - if (rset4.next()) { - score = rset4.getInt(1); - System.out.println(".."+ score); - if (score != fixed) { - if (Busstop.update) { - String osm_node = "UPDATE t_busstop SET fixed="+ score +" WHERE gid="+ idref +";"; - System.out.println(osm_node); - ow.write(osm_node); - ow.newLine(); - } - else { - ps3.setInt(1, score); - ps3.setString(2, idref); - ps3.executeUpdate(); - } - } - } - rset4.close(); - } - } - rset2.close(); - } - rset1.close(); - ps3.close(); - ps2.close(); + try (PreparedStatement ps2 = con.prepareStatement("SELECT SUM(score) FROM existing_data where (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?)")) { + PreparedStatement ps3 = con.prepareStatement("UPDATE bus_stop SET fixed=? WHERE idref=?"); + PreparedStatement ps4 = con.prepareStatement("SELECT SUM(score) FROM existing_data where (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?) and (name = ?)"); + ps1.setInt(1, areacode); + ResultSet rset1 = ps1.executeQuery(); + while (rset1.next()) { + String idref = rset1.getString(1); + String name = rset1.getString("name"); + Double lat = rset1.getDouble("lat"); + Double lon = rset1.getDouble("lon"); + int fixed = rset1.getInt("fixed"); + + // 指定の緯度経度を中心とする半径150x2m四方の矩形領域 + System.out.print(idref + "("+ name + ") ...."); + RectArea rect = new RectArea(lat, lon, NEER); // 300m 四方 + ps2.setDouble(1, rect.minlat); + ps2.setDouble(2, rect.maxlat); + ps2.setDouble(3, rect.minlon); + ps2.setDouble(4, rect.maxlon); + try (ResultSet rset2 = ps2.executeQuery()) { + if (rset2.next()) { + int score = rset2.getInt(1); + if (score > 0) { + System.out.println("."+ score); + if (Busstop.update) { + if (fixed != score) { + String osm_node = "UPDATE t_busstop SET fixed="+ score +" WHERE gid="+ idref +";"; + System.out.println(osm_node); + ow.write(osm_node); + ow.newLine(); + } + } + else { + ps3.setInt(1, score); + ps3.setString(2, idref); + ps3.executeUpdate(); + } + } + else { + // 指定の緯度経度を中心とする半径150x4m四方の矩形領域 + System.out.print("***"); + rect = new RectArea(lat, lon, NEER*2); // 600m 四方 + ps4.setDouble(1, rect.minlat); + ps4.setDouble(2, rect.maxlat); + ps4.setDouble(3, rect.minlon); + ps4.setDouble(4, rect.maxlon); + ps4.setString(5, name); + try (ResultSet rset4 = ps4.executeQuery()) { + if (rset4.next()) { + score = rset4.getInt(1); + System.out.println(".."+ score); + if (score != fixed) { + if (Busstop.update) { + String osm_node = "UPDATE t_busstop SET fixed="+ score +" WHERE gid="+ idref +";"; + System.out.println(osm_node); + ow.write(osm_node); + ow.newLine(); + } + else { + ps3.setInt(1, score); + ps3.setString(2, idref); + ps3.executeUpdate(); + } + } + } + } + } + } + } + } + rset1.close(); + ps3.close(); + } ps1.close(); } @@ -266,7 +263,7 @@ static String[] shiftArgs(String[] args) { String[] values = new String[args.length - 1]; for (int i=1; i < args.length; i++) { - values[i - 1] = new String(args[i]); + values[i - 1] = args[i]; } return values; } @@ -315,19 +312,22 @@ String fixmeStr = ""; int score = 0; - NamedNodeMap nodeMap = node.getAttributes(); if (null != nodeMap) { for (int j=0; j < nodeMap.getLength(); j++) { - if (nodeMap.item(j).getNodeName().equals("id")) { - idrefStr = nodeMap.item(j).getNodeValue(); - } - else if (nodeMap.item(j).getNodeName().equals("lat")) { - latStr = nodeMap.item(j).getNodeValue(); - } - else if (nodeMap.item(j).getNodeName().equals("lon")) { - lonStr = nodeMap.item(j).getNodeValue(); - } + switch (nodeMap.item(j).getNodeName()) { + case "id": + idrefStr = nodeMap.item(j).getNodeValue(); + break; + case "lat": + latStr = nodeMap.item(j).getNodeValue(); + break; + case "lon": + lonStr = nodeMap.item(j).getNodeValue(); + break; + default: + break; + } } NodeList nodes = node.getChildNodes(); @@ -348,10 +348,10 @@ } if ((key != null) && key.toLowerCase().equals("name") && (value != null)) { - nameStr = new String(value); + nameStr = value; } if ((key != null) && key.toLowerCase().equals("fixme") && (value != null)) { - fixmeStr = new String(value); + fixmeStr = value; } } } @@ -365,67 +365,76 @@ score = 1; } - // idref と nameStr をデータベースに格納する - PreparedStatement ps1 = con.prepareStatement("SELECT name,score FROM existing_data WHERE idref=?"); - ps1.setString(1, idrefStr); - ResultSet rset1 = ps1.executeQuery(); - if (rset1.next()) { - int fixed = rset1.getInt("score"); - if (fixed < score) { - System.out.println("update existing_data : [id:"+ idrefStr +"] score="+ Integer.toString(score) +" "+ nameStr); - PreparedStatement ps5 = con.prepareStatement("UPDATE existing_data SET score=? WHERE idref=?"); - ps5.setInt(1, score); - ps5.setString(2, idrefStr); - ps5.executeUpdate(); - ps5.close(); - } - } - else { - System.out.println("import existing_data : "+ idrefStr +" ("+ latStr +","+ lonStr+")["+ Integer.toString(score) +"]"+ nameStr); - PreparedStatement ps5 = con.prepareStatement("INSERT INTO existing_data (idref,lat,lon, name, score) VALUES (?,?,?,?,?)"); - ps5.setString(1, idrefStr); - ps5.setDouble(2, Double.parseDouble(latStr)); - ps5.setDouble(3, Double.parseDouble(lonStr)); - ps5.setString(4, nameStr); - ps5.setInt(5, score); - ps5.executeUpdate(); - ps5.close(); - } - rset1.close(); - ps1.close(); + try ( // idref と nameStr をデータベースに格納する + PreparedStatement ps1 = con.prepareStatement("SELECT name,score FROM existing_data WHERE idref=?")) { + ps1.setString(1, idrefStr); + ResultSet rset1 = ps1.executeQuery(); + if (rset1.next()) { + int fixed = rset1.getInt("score"); + if (fixed < score) { + System.out.println("update existing_data : [id:"+ idrefStr +"] score="+ Integer.toString(score) +" "+ nameStr); + try (PreparedStatement ps5 = con.prepareStatement("UPDATE existing_data SET score=? WHERE idref=?")) { + ps5.setInt(1, score); + ps5.setString(2, idrefStr); + ps5.executeUpdate(); + } + } + } + else { + System.out.println("import existing_data : "+ idrefStr +" ("+ latStr +","+ lonStr+")["+ Integer.toString(score) +"]"+ nameStr); + try (PreparedStatement ps5 = con.prepareStatement("INSERT INTO existing_data (idref,lat,lon, name, score) VALUES (?,?,?,?,?)")) { + ps5.setString(1, idrefStr); + ps5.setDouble(2, Double.parseDouble(latStr)); + ps5.setDouble(3, Double.parseDouble(lonStr)); + ps5.setString(4, nameStr); + ps5.setInt(5, score); + ps5.executeUpdate(); + } + } + rset1.close(); + } } } /** * + * @param conHsql + * @param conPost + * @param areacode + * @throws java.io.FileNotFoundException + * @throws java.lang.ClassNotFoundException + * @throws java.sql.SQLException + * @throws java.io.IOException + * @throws javax.xml.parsers.ParserConfigurationException + * @throws org.xml.sax.SAXException */ public static void updateFile (Connection conHsql, Connection conPost, int areacode) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException { int iCounter = 0; - PreparedStatement ps1 = conPost.prepareStatement("SELECT gid,name,fixed,ST_X(geom) LON, ST_Y(geom) LAT FROM t_busstop WHERE area=?"); - PreparedStatement ps2 = conHsql.prepareStatement("INSERT INTO bus_stop (idref,name,fixed,area,lat,lon) VALUES (?,?,?,?,?,?)"); - - // idref と nameStr をデータベースに格納する - ps1.setInt(1, areacode); - ResultSet rset1 = ps1.executeQuery(); - while (rset1.next()) { - iCounter++; - int idref = rset1.getInt("gid"); - String nameStr = rset1.getString("name"); - int fixed = rset1.getInt("fixed"); - double lat = rset1.getDouble(4); - double lon = rset1.getDouble(5); - - ps2.setInt(1, idref); - ps2.setString(2, nameStr); - ps2.setInt(3, fixed); - ps2.setInt(4, areacode); - ps2.setDouble(5, lon); - ps2.setDouble(6, lat); - System.out.println("INSERT INTO bus_stop (idref,name,fixed,area,lat,lon) VALUES ("+ idref +",'"+ nameStr +"',"+ fixed +","+ areacode +","+ lat +","+ lon +")"); - ps2.executeUpdate(); - } - rset1.close(); - ps1.close(); + PreparedStatement ps2; + try (PreparedStatement ps1 = conPost.prepareStatement("SELECT gid,name,fixed,ST_X(geom) LON, ST_Y(geom) LAT FROM t_busstop WHERE area=?")) { + ps2 = conHsql.prepareStatement("INSERT INTO bus_stop (idref,name,fixed,area,lat,lon) VALUES (?,?,?,?,?,?)"); + // idref と nameStr をデータベースに格納する + ps1.setInt(1, areacode); + ResultSet rset1 = ps1.executeQuery(); + while (rset1.next()) { + iCounter++; + int idref = rset1.getInt("gid"); + String nameStr = rset1.getString("name"); + int fixed = rset1.getInt("fixed"); + double lat = rset1.getDouble(4); + double lon = rset1.getDouble(5); + + ps2.setInt(1, idref); + ps2.setString(2, nameStr); + ps2.setInt(3, fixed); + ps2.setInt(4, areacode); + ps2.setDouble(5, lon); + ps2.setDouble(6, lat); + System.out.println("INSERT INTO bus_stop (idref,name,fixed,area,lat,lon) VALUES ("+ idref +",'"+ nameStr +"',"+ fixed +","+ areacode +","+ lat +","+ lon +")"); + ps2.executeUpdate(); + } + rset1.close(); + } ps2.close(); System.out.println("("+ areacode +") バス停数["+ iCounter +"]"); @@ -435,6 +444,7 @@ * 数値地図情報のGMLデータファイルを読み取ってローカルベータベースへ記録する * @param con * @param iFile + * @param areacode * @throws FileNotFoundException * @throws ClassNotFoundException * @throws SQLException @@ -452,7 +462,6 @@ DocumentBuilder builder; Node root; - iCounter = 0; factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); factory.setIgnoringElementContentWhitespace(true); @@ -465,14 +474,13 @@ } public static void clearDb(Connection con) throws SQLException { - Statement stmt = con.createStatement(); - long count = stmt.executeUpdate("delete from bus_stop"); - System.out.println("'Database.bus_stop'から "+ count +" 件のデータを削除しました。"); - - count = stmt.executeUpdate("delete from existing_data"); - System.out.println("'Database.existing_data'から "+ count +" 件のデータを削除しました。"); - - stmt.close(); + try (Statement stmt = con.createStatement()) { + long count = stmt.executeUpdate("delete from bus_stop"); + System.out.println("'Database.bus_stop'から "+ count +" 件のデータを削除しました。"); + + count = stmt.executeUpdate("delete from existing_data"); + System.out.println("'Database.existing_data'から "+ count +" 件のデータを削除しました。"); + } } public static void initDb(Connection con) throws SQLException { @@ -487,6 +495,7 @@ * @param node * @param iFileName // ソースファイル名(拡張子を含まない) * @param timeStampStr + * @param areacode * @return * @throws IOException * @throws SQLException @@ -505,25 +514,25 @@ NodeList nodes = node.getChildNodes(); for (int i=0; i<nodes.getLength(); i++) { Node node2 = nodes.item(i); - if (node2.getNodeName().equals("jps:GM_Point")) { - showGmPoint(con, node2); - } - else if (node2.getNodeName().equals("gml:Point")) { - showGmlPoint(con, node2, areacode); - } - - else if (node2.getNodeName().equals("ksj:ED01")) { - iCounter++; - showED01(con, node2, iFileName); - } - else if (node2.getNodeName().equals("ksj:BusStop")) { - iCounter++; - showBusStop(con, node2, iFileName); - } - - else { - iCounter += showNodes(con, node2, iFileName, timeStampStr, areacode); - } + switch (node2.getNodeName()) { + case "jps:GM_Point": + showGmPoint(con, node2); + break; + case "gml:Point": + showGmlPoint(con, node2, areacode); + break; + case "ksj:ED01": + iCounter++; + showED01(con, node2, iFileName); + break; + case "ksj:BusStop": + iCounter++; + showBusStop(con, node2, iFileName); + break; + default: + iCounter += showNodes(con, node2, iFileName, timeStampStr, areacode); + break; + } } return iCounter; } diff --git a/src/osm/jp/coverage/fuel/DbFuel.java b/src/osm/jp/coverage/fuel/DbFuel.java new file mode 100644 index 0000000..bc47ffc --- /dev/null +++ b/src/osm/jp/coverage/fuel/DbFuel.java @@ -0,0 +1,246 @@ +package osm.jp.coverage.fuel; + +import java.io.*; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import jp.co.areaweb.tools.database.*; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; +import osm.jp.api.Db; + +public class DbFuel { + public static final String TABLE_NAME = "FUEL"; + + /** メイン + * @param args + * @throws IOException + * @throws SQLException + * @throws ClassNotFoundException + * @throws FileNotFoundException + * @throws javax.xml.parsers.ParserConfigurationException + * @throws org.xml.sax.SAXException */ + public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, IOException, SQLException, ParserConfigurationException, SAXException + { + // HSQLディレクトリがなければ作る + File dbdir = new File("database"); + if (!dbdir.isDirectory()) { + dbdir.mkdir(); + } + Connection con = null; + try { + // DB.tableを作成 + con = DatabaseTool.openDb("database"); + create(con); + + // + File gmlDir = new File("GML_FUEL"); + for (File gmlFile : gmlDir.listFiles()) { + if (checkGMLfile(gmlFile)) { + int index = "P07-15_".length(); + int areacode = Integer.parseInt(gmlFile.getName().substring(index, index+2)); + inputFile(con, gmlFile, areacode); + } + } + + DbFuel.export(con); + } + finally { + if (con != null) { + DatabaseTool.closeDb(con); + } + } + } + + /** + * 数値地図情報のGMLデータファイルを読み取ってローカルベータベースへ記録する + * @param con + * @param iFile + * @param areacode + * @throws FileNotFoundException + * @throws ClassNotFoundException + * @throws SQLException + * @throws IOException + * @throws ParserConfigurationException + * @throws SAXException + */ + public static void inputFile (Connection con, File iFile, int areacode) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException { + DocumentBuilderFactory factory; + DocumentBuilder builder; + + factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + factory.setIgnoringElementContentWhitespace(true); + factory.setIgnoringComments(true); + factory.setValidating(true); + + // Root node --> <ksj:Dataset/> + Node root = builder.parse(iFile); + NodeList nodes = root.getChildNodes(); + for (int i=0; i < nodes.getLength(); i++) { + Node nodePoint = nodes.item(i); + if (nodePoint.getNodeName().equals("ksj:Dataset")) { + int iCounter = showNodes(con, nodePoint, areacode); + System.out.println("("+ areacode +") データ数["+ iCounter +"]"); + } + } + + } + + /** + * node : + * <ksj:Dataset> + * <gml:Point gml:id="n00001"> + * <gml:pos>43.03442215 141.47026381</gml:pos> + * </gml:Point> + * </ksj:Dataset> + * + * @param con + * @param node + * @param areacode + * @return + * @throws IOException + * @throws SQLException + */ + public static int showNodes(Connection con, Node node, int areacode) throws IOException, SQLException { + int iCounter = 0; + + // Root node : <ksj:Dataset/> + // Child node : <gml:Point gml:id="n00001"><gml:pos>43.03442215 141.47026381</gml:pos></gml:Point> + // + NodeList nodes = node.getChildNodes(); + for (int i=0; i < nodes.getLength(); i++) { + Node nodePoint = nodes.item(i); + switch (nodePoint.getNodeName()) { + case "gml:Point": + iCounter++; + showGmPoint(con, nodePoint, areacode); + break; + default: + System.out.println(nodePoint.getNodeName()); + break; + } + } + return iCounter; + } + + /** + * node : + * <gml:Point gml:id="n00001"> + * <gml:pos>43.03442215 141.47026381</gml:pos> + * </gml:Point> + * + * @param con + * @param node + * @throws IOException + * @throws SQLException + */ + public static void showGmPoint(Connection con, Node node, int areacode) throws IOException, SQLException { + String latStr = ""; + String lonStr = ""; + String idStr = ""; + + NamedNodeMap attrMap = node.getAttributes(); + if (null != attrMap ) { + for (int j=0; j < attrMap.getLength(); j++) { + if (attrMap.item(j).getNodeName().equals("gml:id")) { + idStr = attrMap.item(j).getNodeValue(); + } + } + } + + NodeList nodes = node.getChildNodes(); + for (int i=0; i < nodes.getLength(); i++) { + Node node2 = nodes.item(i); + if (node2.getNodeName().equals("gml:pos")) { + String positionStr = node2.getTextContent(); + String[] str4Ary = positionStr.split(" "); + latStr = str4Ary[0]; + lonStr = str4Ary[1]; + break; + } + } + + try (PreparedStatement ps = con.prepareStatement("INSERT INTO "+ TABLE_NAME +"(lat,lon,fixed,idref,area) VALUES(?,?,?,?,?)")) { + double lat = Double.parseDouble(latStr); + double lon = Double.parseDouble(lonStr); + ps.setDouble(1, lat); + ps.setDouble(2, lon); + ps.setInt(3, 0); + ps.setString(4, idStr); + ps.setInt(5, areacode); + System.out.println("INSERT "+ TABLE_NAME +"("+ idStr +", lat="+ lat +", lon="+ lon +", fixed=0, area="+ areacode +")"); + ps.executeUpdate(); + } + } + + /** + * 数値地図情報のデータファイルかどうかを見極める + * @param f + * @return + */ + public static boolean checkGMLfile(File f) { + if (f.isDirectory()) { + return false; + } + String name = f.getName(); + if (!name.startsWith("P07")) { + return false; + } + return name.toUpperCase().endsWith(".XML"); + } + + /** + * 'table.FUEL'を新規に作る + * 既にテーブルが存在する時には何もしない + * @param con + * @throws SQLException + */ + public static void create(Connection con) throws SQLException { + String createSt; + + // 'table.FUEL'を新規に作る + //Db.drop(con, TABLE_NAME); + createSt = "CREATE TABLE "+ TABLE_NAME +" (idref VARCHAR(12) NOT NULL, lat DOUBLE, lon DOUBLE, fixed INT, area INT)"; + Db.updateSQL(con, createSt); + + /* + drop(con, "existing_data"); + createSt = "CREATE TABLE existing_data (idref VARCHAR(12) NOT NULL, name VARCHAR(128), lat DOUBLE, lon DOUBLE, score INT, CONSTRAINT existing_pk PRIMARY KEY(idref, lat, lon));"; + Db.updateSQL(con, createSt); + + drop(con, "coverage"); + createSt = "CREATE TABLE coverage (area INT, name VARCHAR(128), denominator BIGINT, lv1 BIGINT, lv2 BIGINT, lv3 BIGINT);"; + Db.updateSQL(con, createSt); + */ + } + + /** + * 'table.FUEL'の内容をCSV形式にして標準出力に出力する + * @param con + * @throws java.sql.SQLException + */ + public static void export(Connection con) throws SQLException { + String header = "idref,lat,lon,fixed"; + System.out.println("TABLE: "+ TABLE_NAME); + System.out.println(header); + PreparedStatement ps8 = con.prepareStatement("SELECT idref,lat,lon,fixed,area FROM "+ TABLE_NAME); + try (ResultSet rset8 = ps8.executeQuery()) { + while (rset8.next()) { + String name = rset8.getString(1); + Double lat = rset8.getDouble(2); + Double lon = rset8.getDouble(3); + int fixed = rset8.getInt(4); + int area = rset8.getInt(5); + System.out.println(name +","+ lat +","+ lon +","+ fixed+","+ area); + } + } + } +} \ No newline at end of file