1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/java/jdbc-loopback-driver/build.xml Fri Apr 04 23:40:28 2014 +0200
1.3 @@ -0,0 +1,73 @@
1.4 +<?xml version="1.0" encoding="UTF-8"?>
1.5 +<!-- You may freely edit this file. See commented blocks below for -->
1.6 +<!-- some examples of how to customize the build. -->
1.7 +<!-- (If you delete it and reopen the project it will be recreated.) -->
1.8 +<!-- By default, only the Clean and Build commands use this build script. -->
1.9 +<!-- Commands such as Run, Debug, and Test only use this build script if -->
1.10 +<!-- the Compile on Save feature is turned off for the project. -->
1.11 +<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
1.12 +<!-- in the project's Project Properties dialog box.-->
1.13 +<project name="jdbc-loopback-driver" default="default" basedir=".">
1.14 + <description>Builds, tests, and runs the project jdbc-loopback-driver.</description>
1.15 + <import file="nbproject/build-impl.xml"/>
1.16 + <!--
1.17 +
1.18 + There exist several targets which are by default empty and which can be
1.19 + used for execution of your tasks. These targets are usually executed
1.20 + before and after some main targets. They are:
1.21 +
1.22 + -pre-init: called before initialization of project properties
1.23 + -post-init: called after initialization of project properties
1.24 + -pre-compile: called before javac compilation
1.25 + -post-compile: called after javac compilation
1.26 + -pre-compile-single: called before javac compilation of single file
1.27 + -post-compile-single: called after javac compilation of single file
1.28 + -pre-compile-test: called before javac compilation of JUnit tests
1.29 + -post-compile-test: called after javac compilation of JUnit tests
1.30 + -pre-compile-test-single: called before javac compilation of single JUnit test
1.31 + -post-compile-test-single: called after javac compilation of single JUunit test
1.32 + -pre-jar: called before JAR building
1.33 + -post-jar: called after JAR building
1.34 + -post-clean: called after cleaning build products
1.35 +
1.36 + (Targets beginning with '-' are not intended to be called on their own.)
1.37 +
1.38 + Example of inserting an obfuscator after compilation could look like this:
1.39 +
1.40 + <target name="-post-compile">
1.41 + <obfuscate>
1.42 + <fileset dir="${build.classes.dir}"/>
1.43 + </obfuscate>
1.44 + </target>
1.45 +
1.46 + For list of available properties check the imported
1.47 + nbproject/build-impl.xml file.
1.48 +
1.49 +
1.50 + Another way to customize the build is by overriding existing main targets.
1.51 + The targets of interest are:
1.52 +
1.53 + -init-macrodef-javac: defines macro for javac compilation
1.54 + -init-macrodef-junit: defines macro for junit execution
1.55 + -init-macrodef-debug: defines macro for class debugging
1.56 + -init-macrodef-java: defines macro for class execution
1.57 + -do-jar: JAR building
1.58 + run: execution of project
1.59 + -javadoc-build: Javadoc generation
1.60 + test-report: JUnit report generation
1.61 +
1.62 + An example of overriding the target for project execution could look like this:
1.63 +
1.64 + <target name="run" depends="jdbc-loopback-driver-impl.jar">
1.65 + <exec dir="bin" executable="launcher.exe">
1.66 + <arg file="${dist.jar}"/>
1.67 + </exec>
1.68 + </target>
1.69 +
1.70 + Notice that the overridden target depends on the jar target and not only on
1.71 + the compile target as the regular run target does. Again, for a list of available
1.72 + properties which you can use, check the target you are overriding in the
1.73 + nbproject/build-impl.xml file.
1.74 +
1.75 + -->
1.76 +</project>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/java/jdbc-loopback-driver/conf/META-INF/services/java.sql.Driver Fri Apr 04 23:40:28 2014 +0200
2.3 @@ -0,0 +1,1 @@
2.4 +info.globalcode.jdbc.loopback.Driver
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/java/jdbc-loopback-driver/nbproject/build-impl.xml Fri Apr 04 23:40:28 2014 +0200
3.3 @@ -0,0 +1,1422 @@
3.4 +<?xml version="1.0" encoding="UTF-8"?>
3.5 +<!--
3.6 +*** GENERATED FROM project.xml - DO NOT EDIT ***
3.7 +*** EDIT ../build.xml INSTEAD ***
3.8 +
3.9 +For the purpose of easier reading the script
3.10 +is divided into following sections:
3.11 +
3.12 + - initialization
3.13 + - compilation
3.14 + - jar
3.15 + - execution
3.16 + - debugging
3.17 + - javadoc
3.18 + - test compilation
3.19 + - test execution
3.20 + - test debugging
3.21 + - applet
3.22 + - cleanup
3.23 +
3.24 + -->
3.25 +<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="jdbc-loopback-driver-impl">
3.26 + <fail message="Please build using Ant 1.8.0 or higher.">
3.27 + <condition>
3.28 + <not>
3.29 + <antversion atleast="1.8.0"/>
3.30 + </not>
3.31 + </condition>
3.32 + </fail>
3.33 + <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
3.34 + <!--
3.35 + ======================
3.36 + INITIALIZATION SECTION
3.37 + ======================
3.38 + -->
3.39 + <target name="-pre-init">
3.40 + <!-- Empty placeholder for easier customization. -->
3.41 + <!-- You can override this target in the ../build.xml file. -->
3.42 + </target>
3.43 + <target depends="-pre-init" name="-init-private">
3.44 + <property file="nbproject/private/config.properties"/>
3.45 + <property file="nbproject/private/configs/${config}.properties"/>
3.46 + <property file="nbproject/private/private.properties"/>
3.47 + </target>
3.48 + <target depends="-pre-init,-init-private" name="-init-user">
3.49 + <property file="${user.properties.file}"/>
3.50 + <!-- The two properties below are usually overridden -->
3.51 + <!-- by the active platform. Just a fallback. -->
3.52 + <property name="default.javac.source" value="1.4"/>
3.53 + <property name="default.javac.target" value="1.4"/>
3.54 + </target>
3.55 + <target depends="-pre-init,-init-private,-init-user" name="-init-project">
3.56 + <property file="nbproject/configs/${config}.properties"/>
3.57 + <property file="nbproject/project.properties"/>
3.58 + </target>
3.59 + <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
3.60 + <property name="platform.java" value="${java.home}/bin/java"/>
3.61 + <available file="${manifest.file}" property="manifest.available"/>
3.62 + <condition property="splashscreen.available">
3.63 + <and>
3.64 + <not>
3.65 + <equals arg1="${application.splash}" arg2="" trim="true"/>
3.66 + </not>
3.67 + <available file="${application.splash}"/>
3.68 + </and>
3.69 + </condition>
3.70 + <condition property="main.class.available">
3.71 + <and>
3.72 + <isset property="main.class"/>
3.73 + <not>
3.74 + <equals arg1="${main.class}" arg2="" trim="true"/>
3.75 + </not>
3.76 + </and>
3.77 + </condition>
3.78 + <condition property="profile.available">
3.79 + <and>
3.80 + <isset property="javac.profile"/>
3.81 + <length length="0" string="${javac.profile}" when="greater"/>
3.82 + <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
3.83 + </and>
3.84 + </condition>
3.85 + <condition property="do.archive">
3.86 + <or>
3.87 + <not>
3.88 + <istrue value="${jar.archive.disabled}"/>
3.89 + </not>
3.90 + <istrue value="${not.archive.disabled}"/>
3.91 + </or>
3.92 + </condition>
3.93 + <condition property="do.mkdist">
3.94 + <and>
3.95 + <isset property="do.archive"/>
3.96 + <isset property="libs.CopyLibs.classpath"/>
3.97 + <not>
3.98 + <istrue value="${mkdist.disabled}"/>
3.99 + </not>
3.100 + </and>
3.101 + </condition>
3.102 + <condition property="do.archive+manifest.available">
3.103 + <and>
3.104 + <isset property="manifest.available"/>
3.105 + <istrue value="${do.archive}"/>
3.106 + </and>
3.107 + </condition>
3.108 + <condition property="do.archive+main.class.available">
3.109 + <and>
3.110 + <isset property="main.class.available"/>
3.111 + <istrue value="${do.archive}"/>
3.112 + </and>
3.113 + </condition>
3.114 + <condition property="do.archive+splashscreen.available">
3.115 + <and>
3.116 + <isset property="splashscreen.available"/>
3.117 + <istrue value="${do.archive}"/>
3.118 + </and>
3.119 + </condition>
3.120 + <condition property="do.archive+profile.available">
3.121 + <and>
3.122 + <isset property="profile.available"/>
3.123 + <istrue value="${do.archive}"/>
3.124 + </and>
3.125 + </condition>
3.126 + <condition property="have.tests">
3.127 + <or>
3.128 + <available file="${test.src.dir}"/>
3.129 + </or>
3.130 + </condition>
3.131 + <condition property="have.sources">
3.132 + <or>
3.133 + <available file="${src.conf.dir}"/>
3.134 + <available file="${src.dir}"/>
3.135 + </or>
3.136 + </condition>
3.137 + <condition property="netbeans.home+have.tests">
3.138 + <and>
3.139 + <isset property="netbeans.home"/>
3.140 + <isset property="have.tests"/>
3.141 + </and>
3.142 + </condition>
3.143 + <condition property="no.javadoc.preview">
3.144 + <and>
3.145 + <isset property="javadoc.preview"/>
3.146 + <isfalse value="${javadoc.preview}"/>
3.147 + </and>
3.148 + </condition>
3.149 + <property name="run.jvmargs" value=""/>
3.150 + <property name="run.jvmargs.ide" value=""/>
3.151 + <property name="javac.compilerargs" value=""/>
3.152 + <property name="work.dir" value="${basedir}"/>
3.153 + <condition property="no.deps">
3.154 + <and>
3.155 + <istrue value="${no.dependencies}"/>
3.156 + </and>
3.157 + </condition>
3.158 + <property name="javac.debug" value="true"/>
3.159 + <property name="javadoc.preview" value="true"/>
3.160 + <property name="application.args" value=""/>
3.161 + <property name="source.encoding" value="${file.encoding}"/>
3.162 + <property name="runtime.encoding" value="${source.encoding}"/>
3.163 + <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
3.164 + <and>
3.165 + <isset property="javadoc.encoding"/>
3.166 + <not>
3.167 + <equals arg1="${javadoc.encoding}" arg2=""/>
3.168 + </not>
3.169 + </and>
3.170 + </condition>
3.171 + <property name="javadoc.encoding.used" value="${source.encoding}"/>
3.172 + <property name="includes" value="**"/>
3.173 + <property name="excludes" value=""/>
3.174 + <property name="do.depend" value="false"/>
3.175 + <condition property="do.depend.true">
3.176 + <istrue value="${do.depend}"/>
3.177 + </condition>
3.178 + <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
3.179 + <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
3.180 + <and>
3.181 + <isset property="endorsed.classpath"/>
3.182 + <not>
3.183 + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
3.184 + </not>
3.185 + </and>
3.186 + </condition>
3.187 + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
3.188 + <isset property="profile.available"/>
3.189 + </condition>
3.190 + <condition else="false" property="jdkBug6558476">
3.191 + <and>
3.192 + <matches pattern="1\.[56]" string="${java.specification.version}"/>
3.193 + <not>
3.194 + <os family="unix"/>
3.195 + </not>
3.196 + </and>
3.197 + </condition>
3.198 + <property name="javac.fork" value="${jdkBug6558476}"/>
3.199 + <property name="jar.index" value="false"/>
3.200 + <property name="jar.index.metainf" value="${jar.index}"/>
3.201 + <property name="copylibs.rebase" value="true"/>
3.202 + <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
3.203 + <condition property="junit.available">
3.204 + <or>
3.205 + <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
3.206 + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
3.207 + </or>
3.208 + </condition>
3.209 + <condition property="testng.available">
3.210 + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
3.211 + </condition>
3.212 + <condition property="junit+testng.available">
3.213 + <and>
3.214 + <istrue value="${junit.available}"/>
3.215 + <istrue value="${testng.available}"/>
3.216 + </and>
3.217 + </condition>
3.218 + <condition else="testng" property="testng.mode" value="mixed">
3.219 + <istrue value="${junit+testng.available}"/>
3.220 + </condition>
3.221 + <condition else="" property="testng.debug.mode" value="-mixed">
3.222 + <istrue value="${junit+testng.available}"/>
3.223 + </condition>
3.224 + </target>
3.225 + <target name="-post-init">
3.226 + <!-- Empty placeholder for easier customization. -->
3.227 + <!-- You can override this target in the ../build.xml file. -->
3.228 + </target>
3.229 + <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
3.230 + <fail unless="src.conf.dir">Must set src.conf.dir</fail>
3.231 + <fail unless="src.dir">Must set src.dir</fail>
3.232 + <fail unless="test.src.dir">Must set test.src.dir</fail>
3.233 + <fail unless="build.dir">Must set build.dir</fail>
3.234 + <fail unless="dist.dir">Must set dist.dir</fail>
3.235 + <fail unless="build.classes.dir">Must set build.classes.dir</fail>
3.236 + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
3.237 + <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
3.238 + <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
3.239 + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
3.240 + <fail unless="dist.jar">Must set dist.jar</fail>
3.241 + </target>
3.242 + <target name="-init-macrodef-property">
3.243 + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
3.244 + <attribute name="name"/>
3.245 + <attribute name="value"/>
3.246 + <sequential>
3.247 + <property name="@{name}" value="${@{value}}"/>
3.248 + </sequential>
3.249 + </macrodef>
3.250 + </target>
3.251 + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
3.252 + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
3.253 + <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
3.254 + <attribute default="${build.classes.dir}" name="destdir"/>
3.255 + <attribute default="${javac.classpath}" name="classpath"/>
3.256 + <attribute default="${javac.processorpath}" name="processorpath"/>
3.257 + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
3.258 + <attribute default="${includes}" name="includes"/>
3.259 + <attribute default="${excludes}" name="excludes"/>
3.260 + <attribute default="${javac.debug}" name="debug"/>
3.261 + <attribute default="${empty.dir}" name="sourcepath"/>
3.262 + <attribute default="${empty.dir}" name="gensrcdir"/>
3.263 + <element name="customize" optional="true"/>
3.264 + <sequential>
3.265 + <property location="${build.dir}/empty" name="empty.dir"/>
3.266 + <mkdir dir="${empty.dir}"/>
3.267 + <mkdir dir="@{apgeneratedsrcdir}"/>
3.268 + <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}">
3.269 + <src>
3.270 + <dirset dir="@{gensrcdir}" erroronmissingdir="false">
3.271 + <include name="*"/>
3.272 + </dirset>
3.273 + </src>
3.274 + <classpath>
3.275 + <path path="@{classpath}"/>
3.276 + </classpath>
3.277 + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
3.278 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
3.279 + <compilerarg line="${javac.compilerargs}"/>
3.280 + <compilerarg value="-processorpath"/>
3.281 + <compilerarg path="@{processorpath}:${empty.dir}"/>
3.282 + <compilerarg line="${ap.processors.internal}"/>
3.283 + <compilerarg line="${annotation.processing.processor.options}"/>
3.284 + <compilerarg value="-s"/>
3.285 + <compilerarg path="@{apgeneratedsrcdir}"/>
3.286 + <compilerarg line="${ap.proc.none.internal}"/>
3.287 + <customize/>
3.288 + </javac>
3.289 + </sequential>
3.290 + </macrodef>
3.291 + </target>
3.292 + <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
3.293 + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
3.294 + <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
3.295 + <attribute default="${build.classes.dir}" name="destdir"/>
3.296 + <attribute default="${javac.classpath}" name="classpath"/>
3.297 + <attribute default="${javac.processorpath}" name="processorpath"/>
3.298 + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
3.299 + <attribute default="${includes}" name="includes"/>
3.300 + <attribute default="${excludes}" name="excludes"/>
3.301 + <attribute default="${javac.debug}" name="debug"/>
3.302 + <attribute default="${empty.dir}" name="sourcepath"/>
3.303 + <attribute default="${empty.dir}" name="gensrcdir"/>
3.304 + <element name="customize" optional="true"/>
3.305 + <sequential>
3.306 + <property location="${build.dir}/empty" name="empty.dir"/>
3.307 + <mkdir dir="${empty.dir}"/>
3.308 + <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}">
3.309 + <src>
3.310 + <dirset dir="@{gensrcdir}" erroronmissingdir="false">
3.311 + <include name="*"/>
3.312 + </dirset>
3.313 + </src>
3.314 + <classpath>
3.315 + <path path="@{classpath}"/>
3.316 + </classpath>
3.317 + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
3.318 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
3.319 + <compilerarg line="${javac.compilerargs}"/>
3.320 + <customize/>
3.321 + </javac>
3.322 + </sequential>
3.323 + </macrodef>
3.324 + </target>
3.325 + <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
3.326 + <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
3.327 + <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
3.328 + <attribute default="${build.classes.dir}" name="destdir"/>
3.329 + <attribute default="${javac.classpath}" name="classpath"/>
3.330 + <sequential>
3.331 + <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
3.332 + <classpath>
3.333 + <path path="@{classpath}"/>
3.334 + </classpath>
3.335 + </depend>
3.336 + </sequential>
3.337 + </macrodef>
3.338 + <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
3.339 + <attribute default="${build.classes.dir}" name="destdir"/>
3.340 + <sequential>
3.341 + <fail unless="javac.includes">Must set javac.includes</fail>
3.342 + <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
3.343 + <path>
3.344 + <filelist dir="@{destdir}" files="${javac.includes}"/>
3.345 + </path>
3.346 + <globmapper from="*.java" to="*.class"/>
3.347 + </pathconvert>
3.348 + <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
3.349 + <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
3.350 + <delete>
3.351 + <files includesfile="${javac.includesfile.binary}"/>
3.352 + </delete>
3.353 + <delete>
3.354 + <fileset file="${javac.includesfile.binary}"/>
3.355 + </delete>
3.356 + </sequential>
3.357 + </macrodef>
3.358 + </target>
3.359 + <target if="${junit.available}" name="-init-macrodef-junit-init">
3.360 + <condition else="false" property="nb.junit.batch" value="true">
3.361 + <and>
3.362 + <istrue value="${junit.available}"/>
3.363 + <not>
3.364 + <isset property="test.method"/>
3.365 + </not>
3.366 + </and>
3.367 + </condition>
3.368 + <condition else="false" property="nb.junit.single" value="true">
3.369 + <and>
3.370 + <istrue value="${junit.available}"/>
3.371 + <isset property="test.method"/>
3.372 + </and>
3.373 + </condition>
3.374 + </target>
3.375 + <target name="-init-test-properties">
3.376 + <property name="test.binaryincludes" value="<nothing>"/>
3.377 + <property name="test.binarytestincludes" value=""/>
3.378 + <property name="test.binaryexcludes" value=""/>
3.379 + </target>
3.380 + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
3.381 + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
3.382 + <attribute default="${includes}" name="includes"/>
3.383 + <attribute default="${excludes}" name="excludes"/>
3.384 + <attribute default="**" name="testincludes"/>
3.385 + <attribute default="" name="testmethods"/>
3.386 + <element name="customize" optional="true"/>
3.387 + <sequential>
3.388 + <property name="junit.forkmode" value="perTest"/>
3.389 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
3.390 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
3.391 + <syspropertyset>
3.392 + <propertyref prefix="test-sys-prop."/>
3.393 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.394 + </syspropertyset>
3.395 + <formatter type="brief" usefile="false"/>
3.396 + <formatter type="xml"/>
3.397 + <jvmarg value="-ea"/>
3.398 + <customize/>
3.399 + </junit>
3.400 + </sequential>
3.401 + </macrodef>
3.402 + </target>
3.403 + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
3.404 + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
3.405 + <attribute default="${includes}" name="includes"/>
3.406 + <attribute default="${excludes}" name="excludes"/>
3.407 + <attribute default="**" name="testincludes"/>
3.408 + <attribute default="" name="testmethods"/>
3.409 + <element name="customize" optional="true"/>
3.410 + <sequential>
3.411 + <property name="junit.forkmode" value="perTest"/>
3.412 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
3.413 + <batchtest todir="${build.test.results.dir}">
3.414 + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
3.415 + <filename name="@{testincludes}"/>
3.416 + </fileset>
3.417 + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
3.418 + <filename name="${test.binarytestincludes}"/>
3.419 + </fileset>
3.420 + </batchtest>
3.421 + <syspropertyset>
3.422 + <propertyref prefix="test-sys-prop."/>
3.423 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.424 + </syspropertyset>
3.425 + <formatter type="brief" usefile="false"/>
3.426 + <formatter type="xml"/>
3.427 + <jvmarg value="-ea"/>
3.428 + <customize/>
3.429 + </junit>
3.430 + </sequential>
3.431 + </macrodef>
3.432 + </target>
3.433 + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
3.434 + <target if="${testng.available}" name="-init-macrodef-testng">
3.435 + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
3.436 + <attribute default="${includes}" name="includes"/>
3.437 + <attribute default="${excludes}" name="excludes"/>
3.438 + <attribute default="**" name="testincludes"/>
3.439 + <attribute default="" name="testmethods"/>
3.440 + <element name="customize" optional="true"/>
3.441 + <sequential>
3.442 + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
3.443 + <isset property="test.method"/>
3.444 + </condition>
3.445 + <union id="test.set">
3.446 + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
3.447 + <filename name="@{testincludes}"/>
3.448 + </fileset>
3.449 + </union>
3.450 + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
3.451 + <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="jdbc-loopback-driver" testname="TestNG tests" workingDir="${work.dir}">
3.452 + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
3.453 + <propertyset>
3.454 + <propertyref prefix="test-sys-prop."/>
3.455 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.456 + </propertyset>
3.457 + <customize/>
3.458 + </testng>
3.459 + </sequential>
3.460 + </macrodef>
3.461 + </target>
3.462 + <target name="-init-macrodef-test-impl">
3.463 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
3.464 + <attribute default="${includes}" name="includes"/>
3.465 + <attribute default="${excludes}" name="excludes"/>
3.466 + <attribute default="**" name="testincludes"/>
3.467 + <attribute default="" name="testmethods"/>
3.468 + <element implicit="true" name="customize" optional="true"/>
3.469 + <sequential>
3.470 + <echo>No tests executed.</echo>
3.471 + </sequential>
3.472 + </macrodef>
3.473 + </target>
3.474 + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
3.475 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
3.476 + <attribute default="${includes}" name="includes"/>
3.477 + <attribute default="${excludes}" name="excludes"/>
3.478 + <attribute default="**" name="testincludes"/>
3.479 + <attribute default="" name="testmethods"/>
3.480 + <element implicit="true" name="customize" optional="true"/>
3.481 + <sequential>
3.482 + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
3.483 + <customize/>
3.484 + </j2seproject3:junit>
3.485 + </sequential>
3.486 + </macrodef>
3.487 + </target>
3.488 + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
3.489 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
3.490 + <attribute default="${includes}" name="includes"/>
3.491 + <attribute default="${excludes}" name="excludes"/>
3.492 + <attribute default="**" name="testincludes"/>
3.493 + <attribute default="" name="testmethods"/>
3.494 + <element implicit="true" name="customize" optional="true"/>
3.495 + <sequential>
3.496 + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
3.497 + <customize/>
3.498 + </j2seproject3:testng>
3.499 + </sequential>
3.500 + </macrodef>
3.501 + </target>
3.502 + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
3.503 + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
3.504 + <attribute default="${includes}" name="includes"/>
3.505 + <attribute default="${excludes}" name="excludes"/>
3.506 + <attribute default="**" name="testincludes"/>
3.507 + <attribute default="" name="testmethods"/>
3.508 + <sequential>
3.509 + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
3.510 + <customize>
3.511 + <classpath>
3.512 + <path path="${run.test.classpath}"/>
3.513 + </classpath>
3.514 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
3.515 + <jvmarg line="${run.jvmargs}"/>
3.516 + <jvmarg line="${run.jvmargs.ide}"/>
3.517 + </customize>
3.518 + </j2seproject3:test-impl>
3.519 + </sequential>
3.520 + </macrodef>
3.521 + </target>
3.522 + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
3.523 + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.524 + <attribute default="${includes}" name="includes"/>
3.525 + <attribute default="${excludes}" name="excludes"/>
3.526 + <attribute default="**" name="testincludes"/>
3.527 + <attribute default="" name="testmethods"/>
3.528 + <element name="customize" optional="true"/>
3.529 + <sequential>
3.530 + <property name="junit.forkmode" value="perTest"/>
3.531 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
3.532 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
3.533 + <syspropertyset>
3.534 + <propertyref prefix="test-sys-prop."/>
3.535 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.536 + </syspropertyset>
3.537 + <formatter type="brief" usefile="false"/>
3.538 + <formatter type="xml"/>
3.539 + <jvmarg value="-ea"/>
3.540 + <jvmarg line="${debug-args-line}"/>
3.541 + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
3.542 + <customize/>
3.543 + </junit>
3.544 + </sequential>
3.545 + </macrodef>
3.546 + </target>
3.547 + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
3.548 + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.549 + <attribute default="${includes}" name="includes"/>
3.550 + <attribute default="${excludes}" name="excludes"/>
3.551 + <attribute default="**" name="testincludes"/>
3.552 + <attribute default="" name="testmethods"/>
3.553 + <element name="customize" optional="true"/>
3.554 + <sequential>
3.555 + <property name="junit.forkmode" value="perTest"/>
3.556 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
3.557 + <batchtest todir="${build.test.results.dir}">
3.558 + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
3.559 + <filename name="@{testincludes}"/>
3.560 + </fileset>
3.561 + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
3.562 + <filename name="${test.binarytestincludes}"/>
3.563 + </fileset>
3.564 + </batchtest>
3.565 + <syspropertyset>
3.566 + <propertyref prefix="test-sys-prop."/>
3.567 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.568 + </syspropertyset>
3.569 + <formatter type="brief" usefile="false"/>
3.570 + <formatter type="xml"/>
3.571 + <jvmarg value="-ea"/>
3.572 + <jvmarg line="${debug-args-line}"/>
3.573 + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
3.574 + <customize/>
3.575 + </junit>
3.576 + </sequential>
3.577 + </macrodef>
3.578 + </target>
3.579 + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
3.580 + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
3.581 + <attribute default="${includes}" name="includes"/>
3.582 + <attribute default="${excludes}" name="excludes"/>
3.583 + <attribute default="**" name="testincludes"/>
3.584 + <attribute default="" name="testmethods"/>
3.585 + <element implicit="true" name="customize" optional="true"/>
3.586 + <sequential>
3.587 + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
3.588 + <customize/>
3.589 + </j2seproject3:junit-debug>
3.590 + </sequential>
3.591 + </macrodef>
3.592 + </target>
3.593 + <target if="${testng.available}" name="-init-macrodef-testng-debug">
3.594 + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.595 + <attribute default="${main.class}" name="testClass"/>
3.596 + <attribute default="" name="testMethod"/>
3.597 + <element name="customize2" optional="true"/>
3.598 + <sequential>
3.599 + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
3.600 + <isset property="test.method"/>
3.601 + </condition>
3.602 + <condition else="-suitename jdbc-loopback-driver -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
3.603 + <matches pattern=".*\.xml" string="@{testClass}"/>
3.604 + </condition>
3.605 + <delete dir="${build.test.results.dir}" quiet="true"/>
3.606 + <mkdir dir="${build.test.results.dir}"/>
3.607 + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
3.608 + <customize>
3.609 + <customize2/>
3.610 + <jvmarg value="-ea"/>
3.611 + <arg line="${testng.debug.mode}"/>
3.612 + <arg line="-d ${build.test.results.dir}"/>
3.613 + <arg line="-listener org.testng.reporters.VerboseReporter"/>
3.614 + <arg line="${testng.cmd.args}"/>
3.615 + </customize>
3.616 + </j2seproject3:debug>
3.617 + </sequential>
3.618 + </macrodef>
3.619 + </target>
3.620 + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
3.621 + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
3.622 + <attribute default="${main.class}" name="testClass"/>
3.623 + <attribute default="" name="testMethod"/>
3.624 + <element implicit="true" name="customize2" optional="true"/>
3.625 + <sequential>
3.626 + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
3.627 + <customize2/>
3.628 + </j2seproject3:testng-debug>
3.629 + </sequential>
3.630 + </macrodef>
3.631 + </target>
3.632 + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
3.633 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.634 + <attribute default="${includes}" name="includes"/>
3.635 + <attribute default="${excludes}" name="excludes"/>
3.636 + <attribute default="**" name="testincludes"/>
3.637 + <attribute default="" name="testmethods"/>
3.638 + <attribute default="${main.class}" name="testClass"/>
3.639 + <attribute default="" name="testMethod"/>
3.640 + <sequential>
3.641 + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
3.642 + <customize>
3.643 + <classpath>
3.644 + <path path="${run.test.classpath}"/>
3.645 + </classpath>
3.646 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
3.647 + <jvmarg line="${run.jvmargs}"/>
3.648 + <jvmarg line="${run.jvmargs.ide}"/>
3.649 + </customize>
3.650 + </j2seproject3:test-debug-impl>
3.651 + </sequential>
3.652 + </macrodef>
3.653 + </target>
3.654 + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
3.655 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.656 + <attribute default="${includes}" name="includes"/>
3.657 + <attribute default="${excludes}" name="excludes"/>
3.658 + <attribute default="**" name="testincludes"/>
3.659 + <attribute default="" name="testmethods"/>
3.660 + <attribute default="${main.class}" name="testClass"/>
3.661 + <attribute default="" name="testMethod"/>
3.662 + <sequential>
3.663 + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
3.664 + <customize2>
3.665 + <syspropertyset>
3.666 + <propertyref prefix="test-sys-prop."/>
3.667 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.668 + </syspropertyset>
3.669 + </customize2>
3.670 + </j2seproject3:testng-debug-impl>
3.671 + </sequential>
3.672 + </macrodef>
3.673 + </target>
3.674 + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
3.675 + <!--
3.676 + pre NB7.2 profiling section; consider it deprecated
3.677 + -->
3.678 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
3.679 + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
3.680 + <!-- Empty placeholder for easier customization. -->
3.681 + <!-- You can override this target in the ../build.xml file. -->
3.682 + </target>
3.683 + <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
3.684 + <!-- Empty placeholder for easier customization. -->
3.685 + <!-- You can override this target in the ../build.xml file. -->
3.686 + </target>
3.687 + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
3.688 + <macrodef name="resolve">
3.689 + <attribute name="name"/>
3.690 + <attribute name="value"/>
3.691 + <sequential>
3.692 + <property name="@{name}" value="${env.@{value}}"/>
3.693 + </sequential>
3.694 + </macrodef>
3.695 + <macrodef name="profile">
3.696 + <attribute default="${main.class}" name="classname"/>
3.697 + <element name="customize" optional="true"/>
3.698 + <sequential>
3.699 + <property environment="env"/>
3.700 + <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
3.701 + <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
3.702 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
3.703 + <jvmarg value="${profiler.info.jvmargs.agent}"/>
3.704 + <jvmarg line="${profiler.info.jvmargs}"/>
3.705 + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
3.706 + <arg line="${application.args}"/>
3.707 + <classpath>
3.708 + <path path="${run.classpath}"/>
3.709 + </classpath>
3.710 + <syspropertyset>
3.711 + <propertyref prefix="run-sys-prop."/>
3.712 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
3.713 + </syspropertyset>
3.714 + <customize/>
3.715 + </java>
3.716 + </sequential>
3.717 + </macrodef>
3.718 + </target>
3.719 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
3.720 + <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
3.721 + <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
3.722 + </target>
3.723 + <!--
3.724 + end of pre NB7.2 profiling section
3.725 + -->
3.726 + <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
3.727 + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
3.728 + <attribute default="${main.class}" name="name"/>
3.729 + <attribute default="${debug.classpath}" name="classpath"/>
3.730 + <attribute default="" name="stopclassname"/>
3.731 + <sequential>
3.732 + <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
3.733 + <classpath>
3.734 + <path path="@{classpath}"/>
3.735 + </classpath>
3.736 + </nbjpdastart>
3.737 + </sequential>
3.738 + </macrodef>
3.739 + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
3.740 + <attribute default="${build.classes.dir}" name="dir"/>
3.741 + <sequential>
3.742 + <nbjpdareload>
3.743 + <fileset dir="@{dir}" includes="${fix.classes}">
3.744 + <include name="${fix.includes}*.class"/>
3.745 + </fileset>
3.746 + </nbjpdareload>
3.747 + </sequential>
3.748 + </macrodef>
3.749 + </target>
3.750 + <target name="-init-debug-args">
3.751 + <property name="version-output" value="java version "${ant.java.version}"/>
3.752 + <condition property="have-jdk-older-than-1.4">
3.753 + <or>
3.754 + <contains string="${version-output}" substring="java version "1.0"/>
3.755 + <contains string="${version-output}" substring="java version "1.1"/>
3.756 + <contains string="${version-output}" substring="java version "1.2"/>
3.757 + <contains string="${version-output}" substring="java version "1.3"/>
3.758 + </or>
3.759 + </condition>
3.760 + <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
3.761 + <istrue value="${have-jdk-older-than-1.4}"/>
3.762 + </condition>
3.763 + <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
3.764 + <os family="windows"/>
3.765 + </condition>
3.766 + <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
3.767 + <isset property="debug.transport"/>
3.768 + </condition>
3.769 + </target>
3.770 + <target depends="-init-debug-args" name="-init-macrodef-debug">
3.771 + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
3.772 + <attribute default="${main.class}" name="classname"/>
3.773 + <attribute default="${debug.classpath}" name="classpath"/>
3.774 + <element name="customize" optional="true"/>
3.775 + <sequential>
3.776 + <java classname="@{classname}" dir="${work.dir}" fork="true">
3.777 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
3.778 + <jvmarg line="${debug-args-line}"/>
3.779 + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
3.780 + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
3.781 + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
3.782 + <jvmarg line="${run.jvmargs}"/>
3.783 + <jvmarg line="${run.jvmargs.ide}"/>
3.784 + <classpath>
3.785 + <path path="@{classpath}"/>
3.786 + </classpath>
3.787 + <syspropertyset>
3.788 + <propertyref prefix="run-sys-prop."/>
3.789 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
3.790 + </syspropertyset>
3.791 + <customize/>
3.792 + </java>
3.793 + </sequential>
3.794 + </macrodef>
3.795 + </target>
3.796 + <target name="-init-macrodef-java">
3.797 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
3.798 + <attribute default="${main.class}" name="classname"/>
3.799 + <attribute default="${run.classpath}" name="classpath"/>
3.800 + <attribute default="jvm" name="jvm"/>
3.801 + <element name="customize" optional="true"/>
3.802 + <sequential>
3.803 + <java classname="@{classname}" dir="${work.dir}" fork="true">
3.804 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
3.805 + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
3.806 + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
3.807 + <jvmarg line="${run.jvmargs}"/>
3.808 + <jvmarg line="${run.jvmargs.ide}"/>
3.809 + <classpath>
3.810 + <path path="@{classpath}"/>
3.811 + </classpath>
3.812 + <syspropertyset>
3.813 + <propertyref prefix="run-sys-prop."/>
3.814 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
3.815 + </syspropertyset>
3.816 + <customize/>
3.817 + </java>
3.818 + </sequential>
3.819 + </macrodef>
3.820 + </target>
3.821 + <target name="-init-macrodef-copylibs">
3.822 + <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
3.823 + <attribute default="${manifest.file}" name="manifest"/>
3.824 + <element name="customize" optional="true"/>
3.825 + <sequential>
3.826 + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
3.827 + <pathconvert property="run.classpath.without.build.classes.dir">
3.828 + <path path="${run.classpath}"/>
3.829 + <map from="${build.classes.dir.resolved}" to=""/>
3.830 + </pathconvert>
3.831 + <pathconvert pathsep=" " property="jar.classpath">
3.832 + <path path="${run.classpath.without.build.classes.dir}"/>
3.833 + <chainedmapper>
3.834 + <flattenmapper/>
3.835 + <filtermapper>
3.836 + <replacestring from=" " to="%20"/>
3.837 + </filtermapper>
3.838 + <globmapper from="*" to="lib/*"/>
3.839 + </chainedmapper>
3.840 + </pathconvert>
3.841 + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
3.842 + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
3.843 + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
3.844 + <manifest>
3.845 + <attribute name="Class-Path" value="${jar.classpath}"/>
3.846 + <customize/>
3.847 + </manifest>
3.848 + </copylibs>
3.849 + </sequential>
3.850 + </macrodef>
3.851 + </target>
3.852 + <target name="-init-presetdef-jar">
3.853 + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
3.854 + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
3.855 + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
3.856 + </jar>
3.857 + </presetdef>
3.858 + </target>
3.859 + <target name="-init-ap-cmdline-properties">
3.860 + <property name="annotation.processing.enabled" value="true"/>
3.861 + <property name="annotation.processing.processors.list" value=""/>
3.862 + <property name="annotation.processing.processor.options" value=""/>
3.863 + <property name="annotation.processing.run.all.processors" value="true"/>
3.864 + <property name="javac.processorpath" value="${javac.classpath}"/>
3.865 + <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
3.866 + <condition property="ap.supported.internal" value="true">
3.867 + <not>
3.868 + <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
3.869 + </not>
3.870 + </condition>
3.871 + </target>
3.872 + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
3.873 + <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
3.874 + <isfalse value="${annotation.processing.run.all.processors}"/>
3.875 + </condition>
3.876 + <condition else="" property="ap.proc.none.internal" value="-proc:none">
3.877 + <isfalse value="${annotation.processing.enabled}"/>
3.878 + </condition>
3.879 + </target>
3.880 + <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
3.881 + <property name="ap.cmd.line.internal" value=""/>
3.882 + </target>
3.883 + <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"/>
3.884 + <!--
3.885 + ===================
3.886 + COMPILATION SECTION
3.887 + ===================
3.888 + -->
3.889 + <target name="-deps-jar-init" unless="built-jar.properties">
3.890 + <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
3.891 + <delete file="${built-jar.properties}" quiet="true"/>
3.892 + </target>
3.893 + <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
3.894 + <echo level="warn" message="Cycle detected: jdbc-loopback-driver was already built"/>
3.895 + </target>
3.896 + <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
3.897 + <mkdir dir="${build.dir}"/>
3.898 + <touch file="${built-jar.properties}" verbose="false"/>
3.899 + <property file="${built-jar.properties}" prefix="already.built.jar."/>
3.900 + <antcall target="-warn-already-built-jar"/>
3.901 + <propertyfile file="${built-jar.properties}">
3.902 + <entry key="${basedir}" value=""/>
3.903 + </propertyfile>
3.904 + </target>
3.905 + <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
3.906 + <target depends="init" name="-check-automatic-build">
3.907 + <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
3.908 + </target>
3.909 + <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
3.910 + <antcall target="clean"/>
3.911 + </target>
3.912 + <target depends="init,deps-jar" name="-pre-pre-compile">
3.913 + <mkdir dir="${build.classes.dir}"/>
3.914 + </target>
3.915 + <target name="-pre-compile">
3.916 + <!-- Empty placeholder for easier customization. -->
3.917 + <!-- You can override this target in the ../build.xml file. -->
3.918 + </target>
3.919 + <target if="do.depend.true" name="-compile-depend">
3.920 + <pathconvert property="build.generated.subdirs">
3.921 + <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
3.922 + <include name="*"/>
3.923 + </dirset>
3.924 + </pathconvert>
3.925 + <j2seproject3:depend srcdir="${src.conf.dir}:${src.dir}:${build.generated.subdirs}"/>
3.926 + </target>
3.927 + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
3.928 + <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
3.929 + <copy todir="${build.classes.dir}">
3.930 + <fileset dir="${src.conf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
3.931 + <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
3.932 + </copy>
3.933 + </target>
3.934 + <target if="has.persistence.xml" name="-copy-persistence-xml">
3.935 + <mkdir dir="${build.classes.dir}/META-INF"/>
3.936 + <copy todir="${build.classes.dir}/META-INF">
3.937 + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
3.938 + </copy>
3.939 + </target>
3.940 + <target name="-post-compile">
3.941 + <!-- Empty placeholder for easier customization. -->
3.942 + <!-- You can override this target in the ../build.xml file. -->
3.943 + </target>
3.944 + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
3.945 + <target name="-pre-compile-single">
3.946 + <!-- Empty placeholder for easier customization. -->
3.947 + <!-- You can override this target in the ../build.xml file. -->
3.948 + </target>
3.949 + <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
3.950 + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
3.951 + <j2seproject3:force-recompile/>
3.952 + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.conf.dir}:${src.dir}"/>
3.953 + </target>
3.954 + <target name="-post-compile-single">
3.955 + <!-- Empty placeholder for easier customization. -->
3.956 + <!-- You can override this target in the ../build.xml file. -->
3.957 + </target>
3.958 + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
3.959 + <!--
3.960 + ====================
3.961 + JAR BUILDING SECTION
3.962 + ====================
3.963 + -->
3.964 + <target depends="init" name="-pre-pre-jar">
3.965 + <dirname file="${dist.jar}" property="dist.jar.dir"/>
3.966 + <mkdir dir="${dist.jar.dir}"/>
3.967 + </target>
3.968 + <target name="-pre-jar">
3.969 + <!-- Empty placeholder for easier customization. -->
3.970 + <!-- You can override this target in the ../build.xml file. -->
3.971 + </target>
3.972 + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
3.973 + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
3.974 + <touch file="${tmp.manifest.file}" verbose="false"/>
3.975 + </target>
3.976 + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
3.977 + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
3.978 + <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
3.979 + </target>
3.980 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
3.981 + <manifest file="${tmp.manifest.file}" mode="update">
3.982 + <attribute name="Main-Class" value="${main.class}"/>
3.983 + </manifest>
3.984 + </target>
3.985 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
3.986 + <manifest file="${tmp.manifest.file}" mode="update">
3.987 + <attribute name="Profile" value="${javac.profile}"/>
3.988 + </manifest>
3.989 + </target>
3.990 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
3.991 + <basename file="${application.splash}" property="splashscreen.basename"/>
3.992 + <mkdir dir="${build.classes.dir}/META-INF"/>
3.993 + <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
3.994 + <manifest file="${tmp.manifest.file}" mode="update">
3.995 + <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
3.996 + </manifest>
3.997 + </target>
3.998 + <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">
3.999 + <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
3.1000 + <echo level="info">To run this application from the command line without Ant, try:</echo>
3.1001 + <property location="${dist.jar}" name="dist.jar.resolved"/>
3.1002 + <echo level="info">java -jar "${dist.jar.resolved}"</echo>
3.1003 + </target>
3.1004 + <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">
3.1005 + <j2seproject1:jar manifest="${tmp.manifest.file}"/>
3.1006 + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
3.1007 + <property location="${dist.jar}" name="dist.jar.resolved"/>
3.1008 + <pathconvert property="run.classpath.with.dist.jar">
3.1009 + <path path="${run.classpath}"/>
3.1010 + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
3.1011 + </pathconvert>
3.1012 + <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}">
3.1013 + <isset property="main.class.available"/>
3.1014 + </condition>
3.1015 + <condition else="debug" property="jar.usage.level" value="info">
3.1016 + <isset property="main.class.available"/>
3.1017 + </condition>
3.1018 + <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
3.1019 + </target>
3.1020 + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
3.1021 + <delete>
3.1022 + <fileset file="${tmp.manifest.file}"/>
3.1023 + </delete>
3.1024 + </target>
3.1025 + <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"/>
3.1026 + <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"/>
3.1027 + <target name="-post-jar">
3.1028 + <!-- Empty placeholder for easier customization. -->
3.1029 + <!-- You can override this target in the ../build.xml file. -->
3.1030 + </target>
3.1031 + <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
3.1032 + <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
3.1033 + <!--
3.1034 + =================
3.1035 + EXECUTION SECTION
3.1036 + =================
3.1037 + -->
3.1038 + <target depends="init,compile" description="Run a main class." name="run">
3.1039 + <j2seproject1:java>
3.1040 + <customize>
3.1041 + <arg line="${application.args}"/>
3.1042 + </customize>
3.1043 + </j2seproject1:java>
3.1044 + </target>
3.1045 + <target name="-do-not-recompile">
3.1046 + <property name="javac.includes.binary" value=""/>
3.1047 + </target>
3.1048 + <target depends="init,compile-single" name="run-single">
3.1049 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
3.1050 + <j2seproject1:java classname="${run.class}"/>
3.1051 + </target>
3.1052 + <target depends="init,compile-test-single" name="run-test-with-main">
3.1053 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
3.1054 + <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
3.1055 + </target>
3.1056 + <!--
3.1057 + =================
3.1058 + DEBUGGING SECTION
3.1059 + =================
3.1060 + -->
3.1061 + <target depends="init" if="netbeans.home" name="-debug-start-debugger">
3.1062 + <j2seproject1:nbjpdastart name="${debug.class}"/>
3.1063 + </target>
3.1064 + <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
3.1065 + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
3.1066 + </target>
3.1067 + <target depends="init,compile" name="-debug-start-debuggee">
3.1068 + <j2seproject3:debug>
3.1069 + <customize>
3.1070 + <arg line="${application.args}"/>
3.1071 + </customize>
3.1072 + </j2seproject3:debug>
3.1073 + </target>
3.1074 + <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
3.1075 + <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
3.1076 + <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
3.1077 + </target>
3.1078 + <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
3.1079 + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
3.1080 + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
3.1081 + <j2seproject3:debug classname="${debug.class}"/>
3.1082 + </target>
3.1083 + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
3.1084 + <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
3.1085 + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
3.1086 + <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
3.1087 + </target>
3.1088 + <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
3.1089 + <target depends="init" name="-pre-debug-fix">
3.1090 + <fail unless="fix.includes">Must set fix.includes</fail>
3.1091 + <property name="javac.includes" value="${fix.includes}.java"/>
3.1092 + </target>
3.1093 + <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
3.1094 + <j2seproject1:nbjpdareload/>
3.1095 + </target>
3.1096 + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
3.1097 + <!--
3.1098 + =================
3.1099 + PROFILING SECTION
3.1100 + =================
3.1101 + -->
3.1102 + <!--
3.1103 + pre NB7.2 profiler integration
3.1104 + -->
3.1105 + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
3.1106 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
3.1107 + <nbprofiledirect>
3.1108 + <classpath>
3.1109 + <path path="${run.classpath}"/>
3.1110 + </classpath>
3.1111 + </nbprofiledirect>
3.1112 + <profile/>
3.1113 + </target>
3.1114 + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
3.1115 + <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
3.1116 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
3.1117 + <nbprofiledirect>
3.1118 + <classpath>
3.1119 + <path path="${run.classpath}"/>
3.1120 + </classpath>
3.1121 + </nbprofiledirect>
3.1122 + <profile classname="${profile.class}"/>
3.1123 + </target>
3.1124 + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
3.1125 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
3.1126 + <nbprofiledirect>
3.1127 + <classpath>
3.1128 + <path path="${run.classpath}"/>
3.1129 + </classpath>
3.1130 + </nbprofiledirect>
3.1131 + <profile classname="sun.applet.AppletViewer">
3.1132 + <customize>
3.1133 + <arg value="${applet.url}"/>
3.1134 + </customize>
3.1135 + </profile>
3.1136 + </target>
3.1137 + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
3.1138 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
3.1139 + <nbprofiledirect>
3.1140 + <classpath>
3.1141 + <path path="${run.test.classpath}"/>
3.1142 + </classpath>
3.1143 + </nbprofiledirect>
3.1144 + <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
3.1145 + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
3.1146 + <jvmarg value="${profiler.info.jvmargs.agent}"/>
3.1147 + <jvmarg line="${profiler.info.jvmargs}"/>
3.1148 + <test name="${profile.class}"/>
3.1149 + <classpath>
3.1150 + <path path="${run.test.classpath}"/>
3.1151 + </classpath>
3.1152 + <syspropertyset>
3.1153 + <propertyref prefix="test-sys-prop."/>
3.1154 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
3.1155 + </syspropertyset>
3.1156 + <formatter type="brief" usefile="false"/>
3.1157 + <formatter type="xml"/>
3.1158 + </junit>
3.1159 + </target>
3.1160 + <!--
3.1161 + end of pre NB72 profiling section
3.1162 + -->
3.1163 + <target if="netbeans.home" name="-profile-check">
3.1164 + <condition property="profiler.configured">
3.1165 + <or>
3.1166 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
3.1167 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
3.1168 + </or>
3.1169 + </condition>
3.1170 + </target>
3.1171 + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
3.1172 + <startprofiler/>
3.1173 + <antcall target="run"/>
3.1174 + </target>
3.1175 + <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">
3.1176 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
3.1177 + <startprofiler/>
3.1178 + <antcall target="run-single"/>
3.1179 + </target>
3.1180 + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
3.1181 + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
3.1182 + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
3.1183 + <startprofiler/>
3.1184 + <antcall target="test-single"/>
3.1185 + </target>
3.1186 + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
3.1187 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
3.1188 + <startprofiler/>
3.1189 + <antcal target="run-test-with-main"/>
3.1190 + </target>
3.1191 + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
3.1192 + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
3.1193 + <startprofiler/>
3.1194 + <antcall target="run-applet"/>
3.1195 + </target>
3.1196 + <!--
3.1197 + ===============
3.1198 + JAVADOC SECTION
3.1199 + ===============
3.1200 + -->
3.1201 + <target depends="init" if="have.sources" name="-javadoc-build">
3.1202 + <mkdir dir="${dist.javadoc.dir}"/>
3.1203 + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
3.1204 + <and>
3.1205 + <isset property="endorsed.classpath.cmd.line.arg"/>
3.1206 + <not>
3.1207 + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
3.1208 + </not>
3.1209 + </and>
3.1210 + </condition>
3.1211 + <condition else="" property="bug5101868workaround" value="*.java">
3.1212 + <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
3.1213 + </condition>
3.1214 + <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}">
3.1215 + <classpath>
3.1216 + <path path="${javac.classpath}"/>
3.1217 + </classpath>
3.1218 + <fileset dir="${src.conf.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
3.1219 + <filename name="**/*.java"/>
3.1220 + </fileset>
3.1221 + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
3.1222 + <filename name="**/*.java"/>
3.1223 + </fileset>
3.1224 + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
3.1225 + <include name="**/*.java"/>
3.1226 + <exclude name="*.java"/>
3.1227 + </fileset>
3.1228 + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
3.1229 + </javadoc>
3.1230 + <copy todir="${dist.javadoc.dir}">
3.1231 + <fileset dir="${src.conf.dir}" excludes="${excludes}" includes="${includes}">
3.1232 + <filename name="**/doc-files/**"/>
3.1233 + </fileset>
3.1234 + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
3.1235 + <filename name="**/doc-files/**"/>
3.1236 + </fileset>
3.1237 + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
3.1238 + <include name="**/doc-files/**"/>
3.1239 + </fileset>
3.1240 + </copy>
3.1241 + </target>
3.1242 + <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
3.1243 + <nbbrowse file="${dist.javadoc.dir}/index.html"/>
3.1244 + </target>
3.1245 + <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
3.1246 + <!--
3.1247 + =========================
3.1248 + TEST COMPILATION SECTION
3.1249 + =========================
3.1250 + -->
3.1251 + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
3.1252 + <mkdir dir="${build.test.classes.dir}"/>
3.1253 + </target>
3.1254 + <target name="-pre-compile-test">
3.1255 + <!-- Empty placeholder for easier customization. -->
3.1256 + <!-- You can override this target in the ../build.xml file. -->
3.1257 + </target>
3.1258 + <target if="do.depend.true" name="-compile-test-depend">
3.1259 + <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
3.1260 + </target>
3.1261 + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
3.1262 + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
3.1263 + <copy todir="${build.test.classes.dir}">
3.1264 + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
3.1265 + </copy>
3.1266 + </target>
3.1267 + <target name="-post-compile-test">
3.1268 + <!-- Empty placeholder for easier customization. -->
3.1269 + <!-- You can override this target in the ../build.xml file. -->
3.1270 + </target>
3.1271 + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
3.1272 + <target name="-pre-compile-test-single">
3.1273 + <!-- Empty placeholder for easier customization. -->
3.1274 + <!-- You can override this target in the ../build.xml file. -->
3.1275 + </target>
3.1276 + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
3.1277 + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
3.1278 + <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
3.1279 + <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="${test.src.dir}" srcdir="${test.src.dir}"/>
3.1280 + <copy todir="${build.test.classes.dir}">
3.1281 + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
3.1282 + </copy>
3.1283 + </target>
3.1284 + <target name="-post-compile-test-single">
3.1285 + <!-- Empty placeholder for easier customization. -->
3.1286 + <!-- You can override this target in the ../build.xml file. -->
3.1287 + </target>
3.1288 + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
3.1289 + <!--
3.1290 + =======================
3.1291 + TEST EXECUTION SECTION
3.1292 + =======================
3.1293 + -->
3.1294 + <target depends="init" if="have.tests" name="-pre-test-run">
3.1295 + <mkdir dir="${build.test.results.dir}"/>
3.1296 + </target>
3.1297 + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
3.1298 + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
3.1299 + </target>
3.1300 + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
3.1301 + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
3.1302 + </target>
3.1303 + <target depends="init" if="have.tests" name="test-report"/>
3.1304 + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
3.1305 + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
3.1306 + <target depends="init" if="have.tests" name="-pre-test-run-single">
3.1307 + <mkdir dir="${build.test.results.dir}"/>
3.1308 + </target>
3.1309 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
3.1310 + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
3.1311 + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
3.1312 + </target>
3.1313 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
3.1314 + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
3.1315 + </target>
3.1316 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
3.1317 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
3.1318 + <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
3.1319 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
3.1320 + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
3.1321 + </target>
3.1322 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
3.1323 + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
3.1324 + </target>
3.1325 + <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"/>
3.1326 + <!--
3.1327 + =======================
3.1328 + TEST DEBUGGING SECTION
3.1329 + =======================
3.1330 + -->
3.1331 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
3.1332 + <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
3.1333 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
3.1334 + </target>
3.1335 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
3.1336 + <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
3.1337 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
3.1338 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
3.1339 + </target>
3.1340 + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
3.1341 + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
3.1342 + </target>
3.1343 + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
3.1344 + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
3.1345 + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
3.1346 + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
3.1347 + </target>
3.1348 + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
3.1349 + <!--
3.1350 + =========================
3.1351 + APPLET EXECUTION SECTION
3.1352 + =========================
3.1353 + -->
3.1354 + <target depends="init,compile-single" name="run-applet">
3.1355 + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
3.1356 + <j2seproject1:java classname="sun.applet.AppletViewer">
3.1357 + <customize>
3.1358 + <arg value="${applet.url}"/>
3.1359 + </customize>
3.1360 + </j2seproject1:java>
3.1361 + </target>
3.1362 + <!--
3.1363 + =========================
3.1364 + APPLET DEBUGGING SECTION
3.1365 + =========================
3.1366 + -->
3.1367 + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
3.1368 + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
3.1369 + <j2seproject3:debug classname="sun.applet.AppletViewer">
3.1370 + <customize>
3.1371 + <arg value="${applet.url}"/>
3.1372 + </customize>
3.1373 + </j2seproject3:debug>
3.1374 + </target>
3.1375 + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
3.1376 + <!--
3.1377 + ===============
3.1378 + CLEANUP SECTION
3.1379 + ===============
3.1380 + -->
3.1381 + <target name="-deps-clean-init" unless="built-clean.properties">
3.1382 + <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
3.1383 + <delete file="${built-clean.properties}" quiet="true"/>
3.1384 + </target>
3.1385 + <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
3.1386 + <echo level="warn" message="Cycle detected: jdbc-loopback-driver was already built"/>
3.1387 + </target>
3.1388 + <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
3.1389 + <mkdir dir="${build.dir}"/>
3.1390 + <touch file="${built-clean.properties}" verbose="false"/>
3.1391 + <property file="${built-clean.properties}" prefix="already.built.clean."/>
3.1392 + <antcall target="-warn-already-built-clean"/>
3.1393 + <propertyfile file="${built-clean.properties}">
3.1394 + <entry key="${basedir}" value=""/>
3.1395 + </propertyfile>
3.1396 + </target>
3.1397 + <target depends="init" name="-do-clean">
3.1398 + <delete dir="${build.dir}"/>
3.1399 + <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
3.1400 + </target>
3.1401 + <target name="-post-clean">
3.1402 + <!-- Empty placeholder for easier customization. -->
3.1403 + <!-- You can override this target in the ../build.xml file. -->
3.1404 + </target>
3.1405 + <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
3.1406 + <target name="-check-call-dep">
3.1407 + <property file="${call.built.properties}" prefix="already.built."/>
3.1408 + <condition property="should.call.dep">
3.1409 + <and>
3.1410 + <not>
3.1411 + <isset property="already.built.${call.subproject}"/>
3.1412 + </not>
3.1413 + <available file="${call.script}"/>
3.1414 + </and>
3.1415 + </condition>
3.1416 + </target>
3.1417 + <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
3.1418 + <ant antfile="${call.script}" inheritall="false" target="${call.target}">
3.1419 + <propertyset>
3.1420 + <propertyref prefix="transfer."/>
3.1421 + <mapper from="transfer.*" to="*" type="glob"/>
3.1422 + </propertyset>
3.1423 + </ant>
3.1424 + </target>
3.1425 +</project>
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/java/jdbc-loopback-driver/nbproject/genfiles.properties Fri Apr 04 23:40:28 2014 +0200
4.3 @@ -0,0 +1,8 @@
4.4 +build.xml.data.CRC32=09144cff
4.5 +build.xml.script.CRC32=58587e87
4.6 +build.xml.stylesheet.CRC32=8064a381@1.74.1.48
4.7 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
4.8 +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
4.9 +nbproject/build-impl.xml.data.CRC32=09144cff
4.10 +nbproject/build-impl.xml.script.CRC32=1af5d34f
4.11 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.74.1.48
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/java/jdbc-loopback-driver/nbproject/project.properties Fri Apr 04 23:40:28 2014 +0200
5.3 @@ -0,0 +1,74 @@
5.4 +annotation.processing.enabled=true
5.5 +annotation.processing.enabled.in.editor=false
5.6 +annotation.processing.processors.list=
5.7 +annotation.processing.run.all.processors=true
5.8 +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
5.9 +application.title=jdbc-loopback-driver
5.10 +application.vendor=fiki
5.11 +build.classes.dir=${build.dir}/classes
5.12 +build.classes.excludes=**/*.java,**/*.form
5.13 +# This directory is removed when the project is cleaned:
5.14 +build.dir=build
5.15 +build.generated.dir=${build.dir}/generated
5.16 +build.generated.sources.dir=${build.dir}/generated-sources
5.17 +# Only compile against the classpath explicitly listed here:
5.18 +build.sysclasspath=ignore
5.19 +build.test.classes.dir=${build.dir}/test/classes
5.20 +build.test.results.dir=${build.dir}/test/results
5.21 +# Uncomment to specify the preferred debugger connection transport:
5.22 +#debug.transport=dt_socket
5.23 +debug.classpath=\
5.24 + ${run.classpath}
5.25 +debug.test.classpath=\
5.26 + ${run.test.classpath}
5.27 +# Files in build.classes.dir which should be excluded from distribution jar
5.28 +dist.archive.excludes=
5.29 +# This directory is removed when the project is cleaned:
5.30 +dist.dir=dist
5.31 +dist.jar=${dist.dir}/jdbc-loopback-driver.jar
5.32 +dist.javadoc.dir=${dist.dir}/javadoc
5.33 +endorsed.classpath=
5.34 +excludes=
5.35 +includes=**
5.36 +jar.compress=false
5.37 +javac.classpath=
5.38 +# Space-separated list of extra javac options
5.39 +javac.compilerargs=
5.40 +javac.deprecation=false
5.41 +javac.processorpath=\
5.42 + ${javac.classpath}
5.43 +javac.source=1.7
5.44 +javac.target=1.7
5.45 +javac.test.classpath=\
5.46 + ${javac.classpath}:\
5.47 + ${build.classes.dir}
5.48 +javac.test.processorpath=\
5.49 + ${javac.test.classpath}
5.50 +javadoc.additionalparam=
5.51 +javadoc.author=false
5.52 +javadoc.encoding=${source.encoding}
5.53 +javadoc.noindex=false
5.54 +javadoc.nonavbar=false
5.55 +javadoc.notree=false
5.56 +javadoc.private=false
5.57 +javadoc.splitindex=true
5.58 +javadoc.use=true
5.59 +javadoc.version=false
5.60 +javadoc.windowtitle=
5.61 +meta.inf.dir=${src.dir}/META-INF
5.62 +mkdist.disabled=true
5.63 +platform.active=default_platform
5.64 +run.classpath=\
5.65 + ${javac.classpath}:\
5.66 + ${build.classes.dir}
5.67 +# Space-separated list of JVM arguments used when running the project.
5.68 +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
5.69 +# To set system properties for unit tests define test-sys-prop.name=value:
5.70 +run.jvmargs=
5.71 +run.test.classpath=\
5.72 + ${javac.test.classpath}:\
5.73 + ${build.test.classes.dir}
5.74 +source.encoding=UTF-8
5.75 +src.conf.dir=conf
5.76 +src.dir=src
5.77 +test.src.dir=test
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/java/jdbc-loopback-driver/nbproject/project.xml Fri Apr 04 23:40:28 2014 +0200
6.3 @@ -0,0 +1,16 @@
6.4 +<?xml version="1.0" encoding="UTF-8"?>
6.5 +<project xmlns="http://www.netbeans.org/ns/project/1">
6.6 + <type>org.netbeans.modules.java.j2seproject</type>
6.7 + <configuration>
6.8 + <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
6.9 + <name>jdbc-loopback-driver</name>
6.10 + <source-roots>
6.11 + <root id="src.conf.dir" name="Config"/>
6.12 + <root id="src.dir"/>
6.13 + </source-roots>
6.14 + <test-roots>
6.15 + <root id="test.src.dir"/>
6.16 + </test-roots>
6.17 + </data>
6.18 + </configuration>
6.19 +</project>
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractConnection.java Fri Apr 04 23:40:28 2014 +0200
7.3 @@ -0,0 +1,311 @@
7.4 +/**
7.5 + * SQL-DK
7.6 + * Copyright © 2014 František Kučera (frantovo.cz)
7.7 + *
7.8 + * This program is free software: you can redistribute it and/or modify
7.9 + * it under the terms of the GNU General Public License as published by
7.10 + * the Free Software Foundation, either version 3 of the License, or
7.11 + * (at your option) any later version.
7.12 + *
7.13 + * This program is distributed in the hope that it will be useful,
7.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
7.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7.16 + * GNU General Public License for more details.
7.17 + *
7.18 + * You should have received a copy of the GNU General Public License
7.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
7.20 + */
7.21 +package info.globalcode.jdbc.loopback;
7.22 +
7.23 +import java.sql.Array;
7.24 +import java.sql.Blob;
7.25 +import java.sql.CallableStatement;
7.26 +import java.sql.Clob;
7.27 +import java.sql.DatabaseMetaData;
7.28 +import java.sql.NClob;
7.29 +import java.sql.SQLClientInfoException;
7.30 +import java.sql.SQLException;
7.31 +import java.sql.SQLWarning;
7.32 +import java.sql.SQLXML;
7.33 +import java.sql.Savepoint;
7.34 +import java.sql.Struct;
7.35 +import java.util.Map;
7.36 +import java.util.Properties;
7.37 +import java.util.concurrent.Executor;
7.38 +
7.39 +/**
7.40 + *
7.41 + * @author Ing. František Kučera (frantovo.cz)
7.42 + */
7.43 +public abstract class AbstractConnection implements java.sql.Connection {
7.44 +
7.45 + @Override
7.46 + public java.sql.Statement createStatement() throws SQLException {
7.47 + throw new SQLException("Not supported yet.");
7.48 + }
7.49 +
7.50 + @Override
7.51 + public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
7.52 + throw new SQLException("Not supported yet.");
7.53 + }
7.54 +
7.55 + @Override
7.56 + public CallableStatement prepareCall(String sql) throws SQLException {
7.57 + throw new SQLException("Not supported yet.");
7.58 + }
7.59 +
7.60 + @Override
7.61 + public String nativeSQL(String sql) throws SQLException {
7.62 + throw new SQLException("Not supported yet.");
7.63 + }
7.64 +
7.65 + @Override
7.66 + public void setAutoCommit(boolean autoCommit) throws SQLException {
7.67 + throw new SQLException("Not supported yet.");
7.68 + }
7.69 +
7.70 + @Override
7.71 + public boolean getAutoCommit() throws SQLException {
7.72 + throw new SQLException("Not supported yet.");
7.73 + }
7.74 +
7.75 + @Override
7.76 + public void commit() throws SQLException {
7.77 + throw new SQLException("Not supported yet.");
7.78 + }
7.79 +
7.80 + @Override
7.81 + public void rollback() throws SQLException {
7.82 + throw new SQLException("Not supported yet.");
7.83 + }
7.84 +
7.85 + @Override
7.86 + public void close() throws SQLException {
7.87 + throw new SQLException("Not supported yet.");
7.88 + }
7.89 +
7.90 + @Override
7.91 + public boolean isClosed() throws SQLException {
7.92 + throw new SQLException("Not supported yet.");
7.93 + }
7.94 +
7.95 + @Override
7.96 + public DatabaseMetaData getMetaData() throws SQLException {
7.97 + throw new SQLException("Not supported yet.");
7.98 + }
7.99 +
7.100 + @Override
7.101 + public void setReadOnly(boolean readOnly) throws SQLException {
7.102 + throw new SQLException("Not supported yet.");
7.103 + }
7.104 +
7.105 + @Override
7.106 + public boolean isReadOnly() throws SQLException {
7.107 + throw new SQLException("Not supported yet.");
7.108 + }
7.109 +
7.110 + @Override
7.111 + public void setCatalog(String catalog) throws SQLException {
7.112 + throw new SQLException("Not supported yet.");
7.113 + }
7.114 +
7.115 + @Override
7.116 + public String getCatalog() throws SQLException {
7.117 + throw new SQLException("Not supported yet.");
7.118 + }
7.119 +
7.120 + @Override
7.121 + public void setTransactionIsolation(int level) throws SQLException {
7.122 + throw new SQLException("Not supported yet.");
7.123 + }
7.124 +
7.125 + @Override
7.126 + public int getTransactionIsolation() throws SQLException {
7.127 + throw new SQLException("Not supported yet.");
7.128 + }
7.129 +
7.130 + @Override
7.131 + public SQLWarning getWarnings() throws SQLException {
7.132 + throw new SQLException("Not supported yet.");
7.133 + }
7.134 +
7.135 + @Override
7.136 + public void clearWarnings() throws SQLException {
7.137 + throw new SQLException("Not supported yet.");
7.138 + }
7.139 +
7.140 + @Override
7.141 + public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
7.142 + throw new SQLException("Not supported yet.");
7.143 + }
7.144 +
7.145 + @Override
7.146 + public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
7.147 + throw new SQLException("Not supported yet.");
7.148 + }
7.149 +
7.150 + @Override
7.151 + public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
7.152 + throw new SQLException("Not supported yet.");
7.153 + }
7.154 +
7.155 + @Override
7.156 + public Map<String, Class<?>> getTypeMap() throws SQLException {
7.157 + throw new SQLException("Not supported yet.");
7.158 + }
7.159 +
7.160 + @Override
7.161 + public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
7.162 + throw new SQLException("Not supported yet.");
7.163 + }
7.164 +
7.165 + @Override
7.166 + public void setHoldability(int holdability) throws SQLException {
7.167 + throw new SQLException("Not supported yet.");
7.168 + }
7.169 +
7.170 + @Override
7.171 + public int getHoldability() throws SQLException {
7.172 + throw new SQLException("Not supported yet.");
7.173 + }
7.174 +
7.175 + @Override
7.176 + public Savepoint setSavepoint() throws SQLException {
7.177 + throw new SQLException("Not supported yet.");
7.178 + }
7.179 +
7.180 + @Override
7.181 + public Savepoint setSavepoint(String name) throws SQLException {
7.182 + throw new SQLException("Not supported yet.");
7.183 + }
7.184 +
7.185 + @Override
7.186 + public void rollback(Savepoint savepoint) throws SQLException {
7.187 + throw new SQLException("Not supported yet.");
7.188 + }
7.189 +
7.190 + @Override
7.191 + public void releaseSavepoint(Savepoint savepoint) throws SQLException {
7.192 + throw new SQLException("Not supported yet.");
7.193 + }
7.194 +
7.195 + @Override
7.196 + public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
7.197 + throw new SQLException("Not supported yet.");
7.198 + }
7.199 +
7.200 + @Override
7.201 + public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
7.202 + throw new SQLException("Not supported yet.");
7.203 + }
7.204 +
7.205 + @Override
7.206 + public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
7.207 + throw new SQLException("Not supported yet.");
7.208 + }
7.209 +
7.210 + @Override
7.211 + public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
7.212 + throw new SQLException("Not supported yet.");
7.213 + }
7.214 +
7.215 + @Override
7.216 + public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
7.217 + throw new SQLException("Not supported yet.");
7.218 + }
7.219 +
7.220 + @Override
7.221 + public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
7.222 + throw new SQLException("Not supported yet.");
7.223 + }
7.224 +
7.225 + @Override
7.226 + public Clob createClob() throws SQLException {
7.227 + throw new SQLException("Not supported yet.");
7.228 + }
7.229 +
7.230 + @Override
7.231 + public Blob createBlob() throws SQLException {
7.232 + throw new SQLException("Not supported yet.");
7.233 + }
7.234 +
7.235 + @Override
7.236 + public NClob createNClob() throws SQLException {
7.237 + throw new SQLException("Not supported yet.");
7.238 + }
7.239 +
7.240 + @Override
7.241 + public SQLXML createSQLXML() throws SQLException {
7.242 + throw new SQLException("Not supported yet.");
7.243 + }
7.244 +
7.245 + @Override
7.246 + public boolean isValid(int timeout) throws SQLException {
7.247 + throw new SQLException("Not supported yet.");
7.248 + }
7.249 +
7.250 + @Override
7.251 + public void setClientInfo(String name, String value) throws SQLClientInfoException {
7.252 + throw new SQLClientInfoException("Not supported yet.", null);
7.253 + }
7.254 +
7.255 + @Override
7.256 + public void setClientInfo(Properties properties) throws SQLClientInfoException {
7.257 + throw new SQLClientInfoException("Not supported yet.", null);
7.258 + }
7.259 +
7.260 + @Override
7.261 + public String getClientInfo(String name) throws SQLException {
7.262 + throw new SQLException("Not supported yet.");
7.263 + }
7.264 +
7.265 + @Override
7.266 + public Properties getClientInfo() throws SQLException {
7.267 + throw new SQLException("Not supported yet.");
7.268 + }
7.269 +
7.270 + @Override
7.271 + public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
7.272 + throw new SQLException("Not supported yet.");
7.273 + }
7.274 +
7.275 + @Override
7.276 + public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
7.277 + throw new SQLException("Not supported yet.");
7.278 + }
7.279 +
7.280 + @Override
7.281 + public void setSchema(String schema) throws SQLException {
7.282 + throw new SQLException("Not supported yet.");
7.283 + }
7.284 +
7.285 + @Override
7.286 + public String getSchema() throws SQLException {
7.287 + throw new SQLException("Not supported yet.");
7.288 + }
7.289 +
7.290 + @Override
7.291 + public void abort(Executor executor) throws SQLException {
7.292 + throw new SQLException("Not supported yet.");
7.293 + }
7.294 +
7.295 + @Override
7.296 + public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
7.297 + throw new SQLException("Not supported yet.");
7.298 + }
7.299 +
7.300 + @Override
7.301 + public int getNetworkTimeout() throws SQLException {
7.302 + throw new SQLException("Not supported yet.");
7.303 + }
7.304 +
7.305 + @Override
7.306 + public <T> T unwrap(Class<T> iface) throws SQLException {
7.307 + throw new SQLException("Not supported yet.");
7.308 + }
7.309 +
7.310 + @Override
7.311 + public boolean isWrapperFor(Class<?> iface) throws SQLException {
7.312 + throw new SQLException("Not supported yet.");
7.313 + }
7.314 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractPreparedStatement.java Fri Apr 04 23:40:28 2014 +0200
8.3 @@ -0,0 +1,322 @@
8.4 +/**
8.5 + * SQL-DK
8.6 + * Copyright © 2014 František Kučera (frantovo.cz)
8.7 + *
8.8 + * This program is free software: you can redistribute it and/or modify
8.9 + * it under the terms of the GNU General Public License as published by
8.10 + * the Free Software Foundation, either version 3 of the License, or
8.11 + * (at your option) any later version.
8.12 + *
8.13 + * This program is distributed in the hope that it will be useful,
8.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
8.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8.16 + * GNU General Public License for more details.
8.17 + *
8.18 + * You should have received a copy of the GNU General Public License
8.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
8.20 + */
8.21 +package info.globalcode.jdbc.loopback;
8.22 +
8.23 +import java.io.InputStream;
8.24 +import java.io.Reader;
8.25 +import java.math.BigDecimal;
8.26 +import java.net.URL;
8.27 +import java.sql.Array;
8.28 +import java.sql.Blob;
8.29 +import java.sql.Clob;
8.30 +import java.sql.Date;
8.31 +import java.sql.NClob;
8.32 +import java.sql.ParameterMetaData;
8.33 +import java.sql.Ref;
8.34 +import java.sql.ResultSet;
8.35 +import java.sql.ResultSetMetaData;
8.36 +import java.sql.RowId;
8.37 +import java.sql.SQLException;
8.38 +import java.sql.SQLXML;
8.39 +import java.sql.Time;
8.40 +import java.sql.Timestamp;
8.41 +import java.util.Calendar;
8.42 +
8.43 +/**
8.44 + *
8.45 + * @author Ing. František Kučera (frantovo.cz)
8.46 + */
8.47 +public abstract class AbstractPreparedStatement extends AbstractStatement implements java.sql.PreparedStatement {
8.48 +
8.49 + @Override
8.50 + public ResultSet executeQuery() throws SQLException {
8.51 + throw new SQLException("Not supported yet.");
8.52 + }
8.53 +
8.54 + @Override
8.55 + public int executeUpdate() throws SQLException {
8.56 + throw new SQLException("Not supported yet.");
8.57 + }
8.58 +
8.59 + @Override
8.60 + public void setNull(int parameterIndex, int sqlType) throws SQLException {
8.61 + throw new SQLException("Not supported yet.");
8.62 + }
8.63 +
8.64 + @Override
8.65 + public void setBoolean(int parameterIndex, boolean x) throws SQLException {
8.66 + throw new SQLException("Not supported yet.");
8.67 + }
8.68 +
8.69 + @Override
8.70 + public void setByte(int parameterIndex, byte x) throws SQLException {
8.71 + throw new SQLException("Not supported yet.");
8.72 + }
8.73 +
8.74 + @Override
8.75 + public void setShort(int parameterIndex, short x) throws SQLException {
8.76 + throw new SQLException("Not supported yet.");
8.77 + }
8.78 +
8.79 + @Override
8.80 + public void setInt(int parameterIndex, int x) throws SQLException {
8.81 + throw new SQLException("Not supported yet.");
8.82 + }
8.83 +
8.84 + @Override
8.85 + public void setLong(int parameterIndex, long x) throws SQLException {
8.86 + throw new SQLException("Not supported yet.");
8.87 + }
8.88 +
8.89 + @Override
8.90 + public void setFloat(int parameterIndex, float x) throws SQLException {
8.91 + throw new SQLException("Not supported yet.");
8.92 + }
8.93 +
8.94 + @Override
8.95 + public void setDouble(int parameterIndex, double x) throws SQLException {
8.96 + throw new SQLException("Not supported yet.");
8.97 + }
8.98 +
8.99 + @Override
8.100 + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
8.101 + throw new SQLException("Not supported yet.");
8.102 + }
8.103 +
8.104 + @Override
8.105 + public void setString(int parameterIndex, String x) throws SQLException {
8.106 + throw new SQLException("Not supported yet.");
8.107 + }
8.108 +
8.109 + @Override
8.110 + public void setBytes(int parameterIndex, byte[] x) throws SQLException {
8.111 + throw new SQLException("Not supported yet.");
8.112 + }
8.113 +
8.114 + @Override
8.115 + public void setDate(int parameterIndex, Date x) throws SQLException {
8.116 + throw new SQLException("Not supported yet.");
8.117 + }
8.118 +
8.119 + @Override
8.120 + public void setTime(int parameterIndex, Time x) throws SQLException {
8.121 + throw new SQLException("Not supported yet.");
8.122 + }
8.123 +
8.124 + @Override
8.125 + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
8.126 + throw new SQLException("Not supported yet.");
8.127 + }
8.128 +
8.129 + @Override
8.130 + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
8.131 + throw new SQLException("Not supported yet.");
8.132 + }
8.133 +
8.134 + @Override
8.135 + @Deprecated
8.136 + public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
8.137 + throw new SQLException("Not supported yet.");
8.138 + }
8.139 +
8.140 + @Override
8.141 + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
8.142 + throw new SQLException("Not supported yet.");
8.143 + }
8.144 +
8.145 + @Override
8.146 + public void clearParameters() throws SQLException {
8.147 + throw new SQLException("Not supported yet.");
8.148 + }
8.149 +
8.150 + @Override
8.151 + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
8.152 + throw new SQLException("Not supported yet.");
8.153 + }
8.154 +
8.155 + @Override
8.156 + public void setObject(int parameterIndex, Object x) throws SQLException {
8.157 + throw new SQLException("Not supported yet.");
8.158 + }
8.159 +
8.160 + @Override
8.161 + public boolean execute() throws SQLException {
8.162 + throw new SQLException("Not supported yet.");
8.163 + }
8.164 +
8.165 + @Override
8.166 + public void addBatch() throws SQLException {
8.167 + throw new SQLException("Not supported yet.");
8.168 + }
8.169 +
8.170 + @Override
8.171 + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
8.172 + throw new SQLException("Not supported yet.");
8.173 + }
8.174 +
8.175 + @Override
8.176 + public void setRef(int parameterIndex, Ref x) throws SQLException {
8.177 + throw new SQLException("Not supported yet.");
8.178 + }
8.179 +
8.180 + @Override
8.181 + public void setBlob(int parameterIndex, Blob x) throws SQLException {
8.182 + throw new SQLException("Not supported yet.");
8.183 + }
8.184 +
8.185 + @Override
8.186 + public void setClob(int parameterIndex, Clob x) throws SQLException {
8.187 + throw new SQLException("Not supported yet.");
8.188 + }
8.189 +
8.190 + @Override
8.191 + public void setArray(int parameterIndex, Array x) throws SQLException {
8.192 + throw new SQLException("Not supported yet.");
8.193 + }
8.194 +
8.195 + @Override
8.196 + public ResultSetMetaData getMetaData() throws SQLException {
8.197 + throw new SQLException("Not supported yet.");
8.198 + }
8.199 +
8.200 + @Override
8.201 + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
8.202 + throw new SQLException("Not supported yet.");
8.203 + }
8.204 +
8.205 + @Override
8.206 + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
8.207 + throw new SQLException("Not supported yet.");
8.208 + }
8.209 +
8.210 + @Override
8.211 + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
8.212 + throw new SQLException("Not supported yet.");
8.213 + }
8.214 +
8.215 + @Override
8.216 + public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
8.217 + throw new SQLException("Not supported yet.");
8.218 + }
8.219 +
8.220 + @Override
8.221 + public void setURL(int parameterIndex, URL x) throws SQLException {
8.222 + throw new SQLException("Not supported yet.");
8.223 + }
8.224 +
8.225 + @Override
8.226 + public ParameterMetaData getParameterMetaData() throws SQLException {
8.227 + throw new SQLException("Not supported yet.");
8.228 + }
8.229 +
8.230 + @Override
8.231 + public void setRowId(int parameterIndex, RowId x) throws SQLException {
8.232 + throw new SQLException("Not supported yet.");
8.233 + }
8.234 +
8.235 + @Override
8.236 + public void setNString(int parameterIndex, String value) throws SQLException {
8.237 + throw new SQLException("Not supported yet.");
8.238 + }
8.239 +
8.240 + @Override
8.241 + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
8.242 + throw new SQLException("Not supported yet.");
8.243 + }
8.244 +
8.245 + @Override
8.246 + public void setNClob(int parameterIndex, NClob value) throws SQLException {
8.247 + throw new SQLException("Not supported yet.");
8.248 + }
8.249 +
8.250 + @Override
8.251 + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
8.252 + throw new SQLException("Not supported yet.");
8.253 + }
8.254 +
8.255 + @Override
8.256 + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
8.257 + throw new SQLException("Not supported yet.");
8.258 + }
8.259 +
8.260 + @Override
8.261 + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
8.262 + throw new SQLException("Not supported yet.");
8.263 + }
8.264 +
8.265 + @Override
8.266 + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
8.267 + throw new SQLException("Not supported yet.");
8.268 + }
8.269 +
8.270 + @Override
8.271 + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
8.272 + throw new SQLException("Not supported yet.");
8.273 + }
8.274 +
8.275 + @Override
8.276 + public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
8.277 + throw new SQLException("Not supported yet.");
8.278 + }
8.279 +
8.280 + @Override
8.281 + public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
8.282 + throw new SQLException("Not supported yet.");
8.283 + }
8.284 +
8.285 + @Override
8.286 + public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
8.287 + throw new SQLException("Not supported yet.");
8.288 + }
8.289 +
8.290 + @Override
8.291 + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
8.292 + throw new SQLException("Not supported yet.");
8.293 + }
8.294 +
8.295 + @Override
8.296 + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
8.297 + throw new SQLException("Not supported yet.");
8.298 + }
8.299 +
8.300 + @Override
8.301 + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
8.302 + throw new SQLException("Not supported yet.");
8.303 + }
8.304 +
8.305 + @Override
8.306 + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
8.307 + throw new SQLException("Not supported yet.");
8.308 + }
8.309 +
8.310 + @Override
8.311 + public void setClob(int parameterIndex, Reader reader) throws SQLException {
8.312 + throw new SQLException("Not supported yet.");
8.313 + }
8.314 +
8.315 + @Override
8.316 + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
8.317 + throw new SQLException("Not supported yet.");
8.318 + }
8.319 +
8.320 + @Override
8.321 + public void setNClob(int parameterIndex, Reader reader) throws SQLException {
8.322 + throw new SQLException("Not supported yet.");
8.323 + }
8.324 +
8.325 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSet.java Fri Apr 04 23:40:28 2014 +0200
9.3 @@ -0,0 +1,1000 @@
9.4 +/**
9.5 + * SQL-DK
9.6 + * Copyright © 2014 František Kučera (frantovo.cz)
9.7 + *
9.8 + * This program is free software: you can redistribute it and/or modify
9.9 + * it under the terms of the GNU General Public License as published by
9.10 + * the Free Software Foundation, either version 3 of the License, or
9.11 + * (at your option) any later version.
9.12 + *
9.13 + * This program is distributed in the hope that it will be useful,
9.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
9.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9.16 + * GNU General Public License for more details.
9.17 + *
9.18 + * You should have received a copy of the GNU General Public License
9.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
9.20 + */
9.21 +package info.globalcode.jdbc.loopback;
9.22 +
9.23 +import java.io.InputStream;
9.24 +import java.io.Reader;
9.25 +import java.math.BigDecimal;
9.26 +import java.net.URL;
9.27 +import java.sql.Array;
9.28 +import java.sql.Blob;
9.29 +import java.sql.Clob;
9.30 +import java.sql.Date;
9.31 +import java.sql.NClob;
9.32 +import java.sql.Ref;
9.33 +import java.sql.RowId;
9.34 +import java.sql.SQLException;
9.35 +import java.sql.SQLWarning;
9.36 +import java.sql.SQLXML;
9.37 +import java.sql.Statement;
9.38 +import java.sql.Time;
9.39 +import java.sql.Timestamp;
9.40 +import java.util.Calendar;
9.41 +import java.util.Map;
9.42 +
9.43 +/**
9.44 + *
9.45 + * @author Ing. František Kučera (frantovo.cz)
9.46 + */
9.47 +public abstract class AbstractResultSet implements java.sql.ResultSet {
9.48 +
9.49 + @Override
9.50 + public boolean next() throws SQLException {
9.51 + throw new SQLException("Not supported yet.");
9.52 + }
9.53 +
9.54 + @Override
9.55 + public void close() throws SQLException {
9.56 + throw new SQLException("Not supported yet.");
9.57 + }
9.58 +
9.59 + @Override
9.60 + public boolean wasNull() throws SQLException {
9.61 + throw new SQLException("Not supported yet.");
9.62 + }
9.63 +
9.64 + @Override
9.65 + public String getString(int columnIndex) throws SQLException {
9.66 + throw new SQLException("Not supported yet.");
9.67 + }
9.68 +
9.69 + @Override
9.70 + public boolean getBoolean(int columnIndex) throws SQLException {
9.71 + throw new SQLException("Not supported yet.");
9.72 + }
9.73 +
9.74 + @Override
9.75 + public byte getByte(int columnIndex) throws SQLException {
9.76 + throw new SQLException("Not supported yet.");
9.77 + }
9.78 +
9.79 + @Override
9.80 + public short getShort(int columnIndex) throws SQLException {
9.81 + throw new SQLException("Not supported yet.");
9.82 + }
9.83 +
9.84 + @Override
9.85 + public int getInt(int columnIndex) throws SQLException {
9.86 + throw new SQLException("Not supported yet.");
9.87 + }
9.88 +
9.89 + @Override
9.90 + public long getLong(int columnIndex) throws SQLException {
9.91 + throw new SQLException("Not supported yet.");
9.92 + }
9.93 +
9.94 + @Override
9.95 + public float getFloat(int columnIndex) throws SQLException {
9.96 + throw new SQLException("Not supported yet.");
9.97 + }
9.98 +
9.99 + @Override
9.100 + public double getDouble(int columnIndex) throws SQLException {
9.101 + throw new SQLException("Not supported yet.");
9.102 + }
9.103 +
9.104 + @Override
9.105 + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
9.106 + throw new SQLException("Not supported yet.");
9.107 + }
9.108 +
9.109 + @Override
9.110 + public byte[] getBytes(int columnIndex) throws SQLException {
9.111 + throw new SQLException("Not supported yet.");
9.112 + }
9.113 +
9.114 + @Override
9.115 + public Date getDate(int columnIndex) throws SQLException {
9.116 + throw new SQLException("Not supported yet.");
9.117 + }
9.118 +
9.119 + @Override
9.120 + public Time getTime(int columnIndex) throws SQLException {
9.121 + throw new SQLException("Not supported yet.");
9.122 + }
9.123 +
9.124 + @Override
9.125 + public Timestamp getTimestamp(int columnIndex) throws SQLException {
9.126 + throw new SQLException("Not supported yet.");
9.127 + }
9.128 +
9.129 + @Override
9.130 + public InputStream getAsciiStream(int columnIndex) throws SQLException {
9.131 + throw new SQLException("Not supported yet.");
9.132 + }
9.133 +
9.134 + @Override
9.135 + public InputStream getUnicodeStream(int columnIndex) throws SQLException {
9.136 + throw new SQLException("Not supported yet.");
9.137 + }
9.138 +
9.139 + @Override
9.140 + public InputStream getBinaryStream(int columnIndex) throws SQLException {
9.141 + throw new SQLException("Not supported yet.");
9.142 + }
9.143 +
9.144 + @Override
9.145 + public String getString(String columnLabel) throws SQLException {
9.146 + throw new SQLException("Not supported yet.");
9.147 + }
9.148 +
9.149 + @Override
9.150 + public boolean getBoolean(String columnLabel) throws SQLException {
9.151 + throw new SQLException("Not supported yet.");
9.152 + }
9.153 +
9.154 + @Override
9.155 + public byte getByte(String columnLabel) throws SQLException {
9.156 + throw new SQLException("Not supported yet.");
9.157 + }
9.158 +
9.159 + @Override
9.160 + public short getShort(String columnLabel) throws SQLException {
9.161 + throw new SQLException("Not supported yet.");
9.162 + }
9.163 +
9.164 + @Override
9.165 + public int getInt(String columnLabel) throws SQLException {
9.166 + throw new SQLException("Not supported yet.");
9.167 + }
9.168 +
9.169 + @Override
9.170 + public long getLong(String columnLabel) throws SQLException {
9.171 + throw new SQLException("Not supported yet.");
9.172 + }
9.173 +
9.174 + @Override
9.175 + public float getFloat(String columnLabel) throws SQLException {
9.176 + throw new SQLException("Not supported yet.");
9.177 + }
9.178 +
9.179 + @Override
9.180 + public double getDouble(String columnLabel) throws SQLException {
9.181 + throw new SQLException("Not supported yet.");
9.182 + }
9.183 +
9.184 + @Override
9.185 + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException {
9.186 + throw new SQLException("Not supported yet.");
9.187 + }
9.188 +
9.189 + @Override
9.190 + public byte[] getBytes(String columnLabel) throws SQLException {
9.191 + throw new SQLException("Not supported yet.");
9.192 + }
9.193 +
9.194 + @Override
9.195 + public Date getDate(String columnLabel) throws SQLException {
9.196 + throw new SQLException("Not supported yet.");
9.197 + }
9.198 +
9.199 + @Override
9.200 + public Time getTime(String columnLabel) throws SQLException {
9.201 + throw new SQLException("Not supported yet.");
9.202 + }
9.203 +
9.204 + @Override
9.205 + public Timestamp getTimestamp(String columnLabel) throws SQLException {
9.206 + throw new SQLException("Not supported yet.");
9.207 + }
9.208 +
9.209 + @Override
9.210 + public InputStream getAsciiStream(String columnLabel) throws SQLException {
9.211 + throw new SQLException("Not supported yet.");
9.212 + }
9.213 +
9.214 + @Override
9.215 + public InputStream getUnicodeStream(String columnLabel) throws SQLException {
9.216 + throw new SQLException("Not supported yet.");
9.217 + }
9.218 +
9.219 + @Override
9.220 + public InputStream getBinaryStream(String columnLabel) throws SQLException {
9.221 + throw new SQLException("Not supported yet.");
9.222 + }
9.223 +
9.224 + @Override
9.225 + public SQLWarning getWarnings() throws SQLException {
9.226 + throw new SQLException("Not supported yet.");
9.227 + }
9.228 +
9.229 + @Override
9.230 + public void clearWarnings() throws SQLException {
9.231 + throw new SQLException("Not supported yet.");
9.232 + }
9.233 +
9.234 + @Override
9.235 + public String getCursorName() throws SQLException {
9.236 + throw new SQLException("Not supported yet.");
9.237 + }
9.238 +
9.239 + @Override
9.240 + public java.sql.ResultSetMetaData getMetaData() throws SQLException {
9.241 + throw new SQLException("Not supported yet.");
9.242 + }
9.243 +
9.244 + @Override
9.245 + public Object getObject(int columnIndex) throws SQLException {
9.246 + throw new SQLException("Not supported yet.");
9.247 + }
9.248 +
9.249 + @Override
9.250 + public Object getObject(String columnLabel) throws SQLException {
9.251 + throw new SQLException("Not supported yet.");
9.252 + }
9.253 +
9.254 + @Override
9.255 + public int findColumn(String columnLabel) throws SQLException {
9.256 + throw new SQLException("Not supported yet.");
9.257 + }
9.258 +
9.259 + @Override
9.260 + public Reader getCharacterStream(int columnIndex) throws SQLException {
9.261 + throw new SQLException("Not supported yet.");
9.262 + }
9.263 +
9.264 + @Override
9.265 + public Reader getCharacterStream(String columnLabel) throws SQLException {
9.266 + throw new SQLException("Not supported yet.");
9.267 + }
9.268 +
9.269 + @Override
9.270 + public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
9.271 + throw new SQLException("Not supported yet.");
9.272 + }
9.273 +
9.274 + @Override
9.275 + public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
9.276 + throw new SQLException("Not supported yet.");
9.277 + }
9.278 +
9.279 + @Override
9.280 + public boolean isBeforeFirst() throws SQLException {
9.281 + throw new SQLException("Not supported yet.");
9.282 + }
9.283 +
9.284 + @Override
9.285 + public boolean isAfterLast() throws SQLException {
9.286 + throw new SQLException("Not supported yet.");
9.287 + }
9.288 +
9.289 + @Override
9.290 + public boolean isFirst() throws SQLException {
9.291 + throw new SQLException("Not supported yet.");
9.292 + }
9.293 +
9.294 + @Override
9.295 + public boolean isLast() throws SQLException {
9.296 + throw new SQLException("Not supported yet.");
9.297 + }
9.298 +
9.299 + @Override
9.300 + public void beforeFirst() throws SQLException {
9.301 + throw new SQLException("Not supported yet.");
9.302 + }
9.303 +
9.304 + @Override
9.305 + public void afterLast() throws SQLException {
9.306 + throw new SQLException("Not supported yet.");
9.307 + }
9.308 +
9.309 + @Override
9.310 + public boolean first() throws SQLException {
9.311 + throw new SQLException("Not supported yet.");
9.312 + }
9.313 +
9.314 + @Override
9.315 + public boolean last() throws SQLException {
9.316 + throw new SQLException("Not supported yet.");
9.317 + }
9.318 +
9.319 + @Override
9.320 + public int getRow() throws SQLException {
9.321 + throw new SQLException("Not supported yet.");
9.322 + }
9.323 +
9.324 + @Override
9.325 + public boolean absolute(int row) throws SQLException {
9.326 + throw new SQLException("Not supported yet.");
9.327 + }
9.328 +
9.329 + @Override
9.330 + public boolean relative(int rows) throws SQLException {
9.331 + throw new SQLException("Not supported yet.");
9.332 + }
9.333 +
9.334 + @Override
9.335 + public boolean previous() throws SQLException {
9.336 + throw new SQLException("Not supported yet.");
9.337 + }
9.338 +
9.339 + @Override
9.340 + public void setFetchDirection(int direction) throws SQLException {
9.341 + throw new SQLException("Not supported yet.");
9.342 + }
9.343 +
9.344 + @Override
9.345 + public int getFetchDirection() throws SQLException {
9.346 + throw new SQLException("Not supported yet.");
9.347 + }
9.348 +
9.349 + @Override
9.350 + public void setFetchSize(int rows) throws SQLException {
9.351 + throw new SQLException("Not supported yet.");
9.352 + }
9.353 +
9.354 + @Override
9.355 + public int getFetchSize() throws SQLException {
9.356 + throw new SQLException("Not supported yet.");
9.357 + }
9.358 +
9.359 + @Override
9.360 + public int getType() throws SQLException {
9.361 + throw new SQLException("Not supported yet.");
9.362 + }
9.363 +
9.364 + @Override
9.365 + public int getConcurrency() throws SQLException {
9.366 + throw new SQLException("Not supported yet.");
9.367 + }
9.368 +
9.369 + @Override
9.370 + public boolean rowUpdated() throws SQLException {
9.371 + throw new SQLException("Not supported yet.");
9.372 + }
9.373 +
9.374 + @Override
9.375 + public boolean rowInserted() throws SQLException {
9.376 + throw new SQLException("Not supported yet.");
9.377 + }
9.378 +
9.379 + @Override
9.380 + public boolean rowDeleted() throws SQLException {
9.381 + throw new SQLException("Not supported yet.");
9.382 + }
9.383 +
9.384 + @Override
9.385 + public void updateNull(int columnIndex) throws SQLException {
9.386 + throw new SQLException("Not supported yet.");
9.387 + }
9.388 +
9.389 + @Override
9.390 + public void updateBoolean(int columnIndex, boolean x) throws SQLException {
9.391 + throw new SQLException("Not supported yet.");
9.392 + }
9.393 +
9.394 + @Override
9.395 + public void updateByte(int columnIndex, byte x) throws SQLException {
9.396 + throw new SQLException("Not supported yet.");
9.397 + }
9.398 +
9.399 + @Override
9.400 + public void updateShort(int columnIndex, short x) throws SQLException {
9.401 + throw new SQLException("Not supported yet.");
9.402 + }
9.403 +
9.404 + @Override
9.405 + public void updateInt(int columnIndex, int x) throws SQLException {
9.406 + throw new SQLException("Not supported yet.");
9.407 + }
9.408 +
9.409 + @Override
9.410 + public void updateLong(int columnIndex, long x) throws SQLException {
9.411 + throw new SQLException("Not supported yet.");
9.412 + }
9.413 +
9.414 + @Override
9.415 + public void updateFloat(int columnIndex, float x) throws SQLException {
9.416 + throw new SQLException("Not supported yet.");
9.417 + }
9.418 +
9.419 + @Override
9.420 + public void updateDouble(int columnIndex, double x) throws SQLException {
9.421 + throw new SQLException("Not supported yet.");
9.422 + }
9.423 +
9.424 + @Override
9.425 + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
9.426 + throw new SQLException("Not supported yet.");
9.427 + }
9.428 +
9.429 + @Override
9.430 + public void updateString(int columnIndex, String x) throws SQLException {
9.431 + throw new SQLException("Not supported yet.");
9.432 + }
9.433 +
9.434 + @Override
9.435 + public void updateBytes(int columnIndex, byte[] x) throws SQLException {
9.436 + throw new SQLException("Not supported yet.");
9.437 + }
9.438 +
9.439 + @Override
9.440 + public void updateDate(int columnIndex, Date x) throws SQLException {
9.441 + throw new SQLException("Not supported yet.");
9.442 + }
9.443 +
9.444 + @Override
9.445 + public void updateTime(int columnIndex, Time x) throws SQLException {
9.446 + throw new SQLException("Not supported yet.");
9.447 + }
9.448 +
9.449 + @Override
9.450 + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
9.451 + throw new SQLException("Not supported yet.");
9.452 + }
9.453 +
9.454 + @Override
9.455 + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
9.456 + throw new SQLException("Not supported yet.");
9.457 + }
9.458 +
9.459 + @Override
9.460 + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
9.461 + throw new SQLException("Not supported yet.");
9.462 + }
9.463 +
9.464 + @Override
9.465 + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
9.466 + throw new SQLException("Not supported yet.");
9.467 + }
9.468 +
9.469 + @Override
9.470 + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
9.471 + throw new SQLException("Not supported yet.");
9.472 + }
9.473 +
9.474 + @Override
9.475 + public void updateObject(int columnIndex, Object x) throws SQLException {
9.476 + throw new SQLException("Not supported yet.");
9.477 + }
9.478 +
9.479 + @Override
9.480 + public void updateNull(String columnLabel) throws SQLException {
9.481 + throw new SQLException("Not supported yet.");
9.482 + }
9.483 +
9.484 + @Override
9.485 + public void updateBoolean(String columnLabel, boolean x) throws SQLException {
9.486 + throw new SQLException("Not supported yet.");
9.487 + }
9.488 +
9.489 + @Override
9.490 + public void updateByte(String columnLabel, byte x) throws SQLException {
9.491 + throw new SQLException("Not supported yet.");
9.492 + }
9.493 +
9.494 + @Override
9.495 + public void updateShort(String columnLabel, short x) throws SQLException {
9.496 + throw new SQLException("Not supported yet.");
9.497 + }
9.498 +
9.499 + @Override
9.500 + public void updateInt(String columnLabel, int x) throws SQLException {
9.501 + throw new SQLException("Not supported yet.");
9.502 + }
9.503 +
9.504 + @Override
9.505 + public void updateLong(String columnLabel, long x) throws SQLException {
9.506 + throw new SQLException("Not supported yet.");
9.507 + }
9.508 +
9.509 + @Override
9.510 + public void updateFloat(String columnLabel, float x) throws SQLException {
9.511 + throw new SQLException("Not supported yet.");
9.512 + }
9.513 +
9.514 + @Override
9.515 + public void updateDouble(String columnLabel, double x) throws SQLException {
9.516 + throw new SQLException("Not supported yet.");
9.517 + }
9.518 +
9.519 + @Override
9.520 + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
9.521 + throw new SQLException("Not supported yet.");
9.522 + }
9.523 +
9.524 + @Override
9.525 + public void updateString(String columnLabel, String x) throws SQLException {
9.526 + throw new SQLException("Not supported yet.");
9.527 + }
9.528 +
9.529 + @Override
9.530 + public void updateBytes(String columnLabel, byte[] x) throws SQLException {
9.531 + throw new SQLException("Not supported yet.");
9.532 + }
9.533 +
9.534 + @Override
9.535 + public void updateDate(String columnLabel, Date x) throws SQLException {
9.536 + throw new SQLException("Not supported yet.");
9.537 + }
9.538 +
9.539 + @Override
9.540 + public void updateTime(String columnLabel, Time x) throws SQLException {
9.541 + throw new SQLException("Not supported yet.");
9.542 + }
9.543 +
9.544 + @Override
9.545 + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
9.546 + throw new SQLException("Not supported yet.");
9.547 + }
9.548 +
9.549 + @Override
9.550 + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
9.551 + throw new SQLException("Not supported yet.");
9.552 + }
9.553 +
9.554 + @Override
9.555 + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
9.556 + throw new SQLException("Not supported yet.");
9.557 + }
9.558 +
9.559 + @Override
9.560 + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
9.561 + throw new SQLException("Not supported yet.");
9.562 + }
9.563 +
9.564 + @Override
9.565 + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
9.566 + throw new SQLException("Not supported yet.");
9.567 + }
9.568 +
9.569 + @Override
9.570 + public void updateObject(String columnLabel, Object x) throws SQLException {
9.571 + throw new SQLException("Not supported yet.");
9.572 + }
9.573 +
9.574 + @Override
9.575 + public void insertRow() throws SQLException {
9.576 + throw new SQLException("Not supported yet.");
9.577 + }
9.578 +
9.579 + @Override
9.580 + public void updateRow() throws SQLException {
9.581 + throw new SQLException("Not supported yet.");
9.582 + }
9.583 +
9.584 + @Override
9.585 + public void deleteRow() throws SQLException {
9.586 + throw new SQLException("Not supported yet.");
9.587 + }
9.588 +
9.589 + @Override
9.590 + public void refreshRow() throws SQLException {
9.591 + throw new SQLException("Not supported yet.");
9.592 + }
9.593 +
9.594 + @Override
9.595 + public void cancelRowUpdates() throws SQLException {
9.596 + throw new SQLException("Not supported yet.");
9.597 + }
9.598 +
9.599 + @Override
9.600 + public void moveToInsertRow() throws SQLException {
9.601 + throw new SQLException("Not supported yet.");
9.602 + }
9.603 +
9.604 + @Override
9.605 + public void moveToCurrentRow() throws SQLException {
9.606 + throw new SQLException("Not supported yet.");
9.607 + }
9.608 +
9.609 + @Override
9.610 + public Statement getStatement() throws SQLException {
9.611 + throw new SQLException("Not supported yet.");
9.612 + }
9.613 +
9.614 + @Override
9.615 + public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
9.616 + throw new SQLException("Not supported yet.");
9.617 + }
9.618 +
9.619 + @Override
9.620 + public Ref getRef(int columnIndex) throws SQLException {
9.621 + throw new SQLException("Not supported yet.");
9.622 + }
9.623 +
9.624 + @Override
9.625 + public Blob getBlob(int columnIndex) throws SQLException {
9.626 + throw new SQLException("Not supported yet.");
9.627 + }
9.628 +
9.629 + @Override
9.630 + public Clob getClob(int columnIndex) throws SQLException {
9.631 + throw new SQLException("Not supported yet.");
9.632 + }
9.633 +
9.634 + @Override
9.635 + public Array getArray(int columnIndex) throws SQLException {
9.636 + throw new SQLException("Not supported yet.");
9.637 + }
9.638 +
9.639 + @Override
9.640 + public Object getObject(String columnLabel, Map<String, Class<?>> map) throws SQLException {
9.641 + throw new SQLException("Not supported yet.");
9.642 + }
9.643 +
9.644 + @Override
9.645 + public Ref getRef(String columnLabel) throws SQLException {
9.646 + throw new SQLException("Not supported yet.");
9.647 + }
9.648 +
9.649 + @Override
9.650 + public Blob getBlob(String columnLabel) throws SQLException {
9.651 + throw new SQLException("Not supported yet.");
9.652 + }
9.653 +
9.654 + @Override
9.655 + public Clob getClob(String columnLabel) throws SQLException {
9.656 + throw new SQLException("Not supported yet.");
9.657 + }
9.658 +
9.659 + @Override
9.660 + public Array getArray(String columnLabel) throws SQLException {
9.661 + throw new SQLException("Not supported yet.");
9.662 + }
9.663 +
9.664 + @Override
9.665 + public Date getDate(int columnIndex, Calendar cal) throws SQLException {
9.666 + throw new SQLException("Not supported yet.");
9.667 + }
9.668 +
9.669 + @Override
9.670 + public Date getDate(String columnLabel, Calendar cal) throws SQLException {
9.671 + throw new SQLException("Not supported yet.");
9.672 + }
9.673 +
9.674 + @Override
9.675 + public Time getTime(int columnIndex, Calendar cal) throws SQLException {
9.676 + throw new SQLException("Not supported yet.");
9.677 + }
9.678 +
9.679 + @Override
9.680 + public Time getTime(String columnLabel, Calendar cal) throws SQLException {
9.681 + throw new SQLException("Not supported yet.");
9.682 + }
9.683 +
9.684 + @Override
9.685 + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
9.686 + throw new SQLException("Not supported yet.");
9.687 + }
9.688 +
9.689 + @Override
9.690 + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException {
9.691 + throw new SQLException("Not supported yet.");
9.692 + }
9.693 +
9.694 + @Override
9.695 + public URL getURL(int columnIndex) throws SQLException {
9.696 + throw new SQLException("Not supported yet.");
9.697 + }
9.698 +
9.699 + @Override
9.700 + public URL getURL(String columnLabel) throws SQLException {
9.701 + throw new SQLException("Not supported yet.");
9.702 + }
9.703 +
9.704 + @Override
9.705 + public void updateRef(int columnIndex, Ref x) throws SQLException {
9.706 + throw new SQLException("Not supported yet.");
9.707 + }
9.708 +
9.709 + @Override
9.710 + public void updateRef(String columnLabel, Ref x) throws SQLException {
9.711 + throw new SQLException("Not supported yet.");
9.712 + }
9.713 +
9.714 + @Override
9.715 + public void updateBlob(int columnIndex, Blob x) throws SQLException {
9.716 + throw new SQLException("Not supported yet.");
9.717 + }
9.718 +
9.719 + @Override
9.720 + public void updateBlob(String columnLabel, Blob x) throws SQLException {
9.721 + throw new SQLException("Not supported yet.");
9.722 + }
9.723 +
9.724 + @Override
9.725 + public void updateClob(int columnIndex, Clob x) throws SQLException {
9.726 + throw new SQLException("Not supported yet.");
9.727 + }
9.728 +
9.729 + @Override
9.730 + public void updateClob(String columnLabel, Clob x) throws SQLException {
9.731 + throw new SQLException("Not supported yet.");
9.732 + }
9.733 +
9.734 + @Override
9.735 + public void updateArray(int columnIndex, Array x) throws SQLException {
9.736 + throw new SQLException("Not supported yet.");
9.737 + }
9.738 +
9.739 + @Override
9.740 + public void updateArray(String columnLabel, Array x) throws SQLException {
9.741 + throw new SQLException("Not supported yet.");
9.742 + }
9.743 +
9.744 + @Override
9.745 + public RowId getRowId(int columnIndex) throws SQLException {
9.746 + throw new SQLException("Not supported yet.");
9.747 + }
9.748 +
9.749 + @Override
9.750 + public RowId getRowId(String columnLabel) throws SQLException {
9.751 + throw new SQLException("Not supported yet.");
9.752 + }
9.753 +
9.754 + @Override
9.755 + public void updateRowId(int columnIndex, RowId x) throws SQLException {
9.756 + throw new SQLException("Not supported yet.");
9.757 + }
9.758 +
9.759 + @Override
9.760 + public void updateRowId(String columnLabel, RowId x) throws SQLException {
9.761 + throw new SQLException("Not supported yet.");
9.762 + }
9.763 +
9.764 + @Override
9.765 + public int getHoldability() throws SQLException {
9.766 + throw new SQLException("Not supported yet.");
9.767 + }
9.768 +
9.769 + @Override
9.770 + public boolean isClosed() throws SQLException {
9.771 + throw new SQLException("Not supported yet.");
9.772 + }
9.773 +
9.774 + @Override
9.775 + public void updateNString(int columnIndex, String nString) throws SQLException {
9.776 + throw new SQLException("Not supported yet.");
9.777 + }
9.778 +
9.779 + @Override
9.780 + public void updateNString(String columnLabel, String nString) throws SQLException {
9.781 + throw new SQLException("Not supported yet.");
9.782 + }
9.783 +
9.784 + @Override
9.785 + public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
9.786 + throw new SQLException("Not supported yet.");
9.787 + }
9.788 +
9.789 + @Override
9.790 + public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
9.791 + throw new SQLException("Not supported yet.");
9.792 + }
9.793 +
9.794 + @Override
9.795 + public NClob getNClob(int columnIndex) throws SQLException {
9.796 + throw new SQLException("Not supported yet.");
9.797 + }
9.798 +
9.799 + @Override
9.800 + public NClob getNClob(String columnLabel) throws SQLException {
9.801 + throw new SQLException("Not supported yet.");
9.802 + }
9.803 +
9.804 + @Override
9.805 + public SQLXML getSQLXML(int columnIndex) throws SQLException {
9.806 + throw new SQLException("Not supported yet.");
9.807 + }
9.808 +
9.809 + @Override
9.810 + public SQLXML getSQLXML(String columnLabel) throws SQLException {
9.811 + throw new SQLException("Not supported yet.");
9.812 + }
9.813 +
9.814 + @Override
9.815 + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
9.816 + throw new SQLException("Not supported yet.");
9.817 + }
9.818 +
9.819 + @Override
9.820 + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
9.821 + throw new SQLException("Not supported yet.");
9.822 + }
9.823 +
9.824 + @Override
9.825 + public String getNString(int columnIndex) throws SQLException {
9.826 + throw new SQLException("Not supported yet.");
9.827 + }
9.828 +
9.829 + @Override
9.830 + public String getNString(String columnLabel) throws SQLException {
9.831 + throw new SQLException("Not supported yet.");
9.832 + }
9.833 +
9.834 + @Override
9.835 + public Reader getNCharacterStream(int columnIndex) throws SQLException {
9.836 + throw new SQLException("Not supported yet.");
9.837 + }
9.838 +
9.839 + @Override
9.840 + public Reader getNCharacterStream(String columnLabel) throws SQLException {
9.841 + throw new SQLException("Not supported yet.");
9.842 + }
9.843 +
9.844 + @Override
9.845 + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
9.846 + throw new SQLException("Not supported yet.");
9.847 + }
9.848 +
9.849 + @Override
9.850 + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
9.851 + throw new SQLException("Not supported yet.");
9.852 + }
9.853 +
9.854 + @Override
9.855 + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
9.856 + throw new SQLException("Not supported yet.");
9.857 + }
9.858 +
9.859 + @Override
9.860 + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
9.861 + throw new SQLException("Not supported yet.");
9.862 + }
9.863 +
9.864 + @Override
9.865 + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
9.866 + throw new SQLException("Not supported yet.");
9.867 + }
9.868 +
9.869 + @Override
9.870 + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
9.871 + throw new SQLException("Not supported yet.");
9.872 + }
9.873 +
9.874 + @Override
9.875 + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
9.876 + throw new SQLException("Not supported yet.");
9.877 + }
9.878 +
9.879 + @Override
9.880 + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
9.881 + throw new SQLException("Not supported yet.");
9.882 + }
9.883 +
9.884 + @Override
9.885 + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
9.886 + throw new SQLException("Not supported yet.");
9.887 + }
9.888 +
9.889 + @Override
9.890 + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
9.891 + throw new SQLException("Not supported yet.");
9.892 + }
9.893 +
9.894 + @Override
9.895 + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
9.896 + throw new SQLException("Not supported yet.");
9.897 + }
9.898 +
9.899 + @Override
9.900 + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
9.901 + throw new SQLException("Not supported yet.");
9.902 + }
9.903 +
9.904 + @Override
9.905 + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
9.906 + throw new SQLException("Not supported yet.");
9.907 + }
9.908 +
9.909 + @Override
9.910 + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
9.911 + throw new SQLException("Not supported yet.");
9.912 + }
9.913 +
9.914 + @Override
9.915 + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
9.916 + throw new SQLException("Not supported yet.");
9.917 + }
9.918 +
9.919 + @Override
9.920 + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
9.921 + throw new SQLException("Not supported yet.");
9.922 + }
9.923 +
9.924 + @Override
9.925 + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
9.926 + throw new SQLException("Not supported yet.");
9.927 + }
9.928 +
9.929 + @Override
9.930 + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
9.931 + throw new SQLException("Not supported yet.");
9.932 + }
9.933 +
9.934 + @Override
9.935 + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
9.936 + throw new SQLException("Not supported yet.");
9.937 + }
9.938 +
9.939 + @Override
9.940 + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
9.941 + throw new SQLException("Not supported yet.");
9.942 + }
9.943 +
9.944 + @Override
9.945 + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
9.946 + throw new SQLException("Not supported yet.");
9.947 + }
9.948 +
9.949 + @Override
9.950 + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
9.951 + throw new SQLException("Not supported yet.");
9.952 + }
9.953 +
9.954 + @Override
9.955 + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
9.956 + throw new SQLException("Not supported yet.");
9.957 + }
9.958 +
9.959 + @Override
9.960 + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
9.961 + throw new SQLException("Not supported yet.");
9.962 + }
9.963 +
9.964 + @Override
9.965 + public void updateClob(int columnIndex, Reader reader) throws SQLException {
9.966 + throw new SQLException("Not supported yet.");
9.967 + }
9.968 +
9.969 + @Override
9.970 + public void updateClob(String columnLabel, Reader reader) throws SQLException {
9.971 + throw new SQLException("Not supported yet.");
9.972 + }
9.973 +
9.974 + @Override
9.975 + public void updateNClob(int columnIndex, Reader reader) throws SQLException {
9.976 + throw new SQLException("Not supported yet.");
9.977 + }
9.978 +
9.979 + @Override
9.980 + public void updateNClob(String columnLabel, Reader reader) throws SQLException {
9.981 + throw new SQLException("Not supported yet.");
9.982 + }
9.983 +
9.984 + @Override
9.985 + public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
9.986 + throw new SQLException("Not supported yet.");
9.987 + }
9.988 +
9.989 + @Override
9.990 + public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
9.991 + throw new SQLException("Not supported yet.");
9.992 + }
9.993 +
9.994 + @Override
9.995 + public <T> T unwrap(Class<T> iface) throws SQLException {
9.996 + throw new SQLException("Not supported yet.");
9.997 + }
9.998 +
9.999 + @Override
9.1000 + public boolean isWrapperFor(Class<?> iface) throws SQLException {
9.1001 + throw new SQLException("Not supported yet.");
9.1002 + }
9.1003 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSetMetaData.java Fri Apr 04 23:40:28 2014 +0200
10.3 @@ -0,0 +1,142 @@
10.4 +/**
10.5 + * SQL-DK
10.6 + * Copyright © 2014 František Kučera (frantovo.cz)
10.7 + *
10.8 + * This program is free software: you can redistribute it and/or modify
10.9 + * it under the terms of the GNU General Public License as published by
10.10 + * the Free Software Foundation, either version 3 of the License, or
10.11 + * (at your option) any later version.
10.12 + *
10.13 + * This program is distributed in the hope that it will be useful,
10.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
10.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10.16 + * GNU General Public License for more details.
10.17 + *
10.18 + * You should have received a copy of the GNU General Public License
10.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
10.20 + */
10.21 +package info.globalcode.jdbc.loopback;
10.22 +
10.23 +import java.sql.SQLException;
10.24 +
10.25 +/**
10.26 + *
10.27 + * @author Ing. František Kučera (frantovo.cz)
10.28 + */
10.29 +public abstract class AbstractResultSetMetaData implements java.sql.ResultSetMetaData {
10.30 +
10.31 + @Override
10.32 + public int getColumnCount() throws SQLException {
10.33 + throw new SQLException("Not supported yet.");
10.34 + }
10.35 +
10.36 + @Override
10.37 + public boolean isAutoIncrement(int column) throws SQLException {
10.38 + throw new SQLException("Not supported yet.");
10.39 + }
10.40 +
10.41 + @Override
10.42 + public boolean isCaseSensitive(int column) throws SQLException {
10.43 + throw new SQLException("Not supported yet.");
10.44 + }
10.45 +
10.46 + @Override
10.47 + public boolean isSearchable(int column) throws SQLException {
10.48 + throw new SQLException("Not supported yet.");
10.49 + }
10.50 +
10.51 + @Override
10.52 + public boolean isCurrency(int column) throws SQLException {
10.53 + throw new SQLException("Not supported yet.");
10.54 + }
10.55 +
10.56 + @Override
10.57 + public int isNullable(int column) throws SQLException {
10.58 + throw new SQLException("Not supported yet.");
10.59 + }
10.60 +
10.61 + @Override
10.62 + public boolean isSigned(int column) throws SQLException {
10.63 + throw new SQLException("Not supported yet.");
10.64 + }
10.65 +
10.66 + @Override
10.67 + public int getColumnDisplaySize(int column) throws SQLException {
10.68 + throw new SQLException("Not supported yet.");
10.69 + }
10.70 +
10.71 + @Override
10.72 + public String getColumnLabel(int column) throws SQLException {
10.73 + throw new SQLException("Not supported yet.");
10.74 + }
10.75 +
10.76 + @Override
10.77 + public String getColumnName(int column) throws SQLException {
10.78 + throw new SQLException("Not supported yet.");
10.79 + }
10.80 +
10.81 + @Override
10.82 + public String getSchemaName(int column) throws SQLException {
10.83 + throw new SQLException("Not supported yet.");
10.84 + }
10.85 +
10.86 + @Override
10.87 + public int getPrecision(int column) throws SQLException {
10.88 + throw new SQLException("Not supported yet.");
10.89 + }
10.90 +
10.91 + @Override
10.92 + public int getScale(int column) throws SQLException {
10.93 + throw new SQLException("Not supported yet.");
10.94 + }
10.95 +
10.96 + @Override
10.97 + public String getTableName(int column) throws SQLException {
10.98 + throw new SQLException("Not supported yet.");
10.99 + }
10.100 +
10.101 + @Override
10.102 + public String getCatalogName(int column) throws SQLException {
10.103 + throw new SQLException("Not supported yet.");
10.104 + }
10.105 +
10.106 + @Override
10.107 + public int getColumnType(int column) throws SQLException {
10.108 + throw new SQLException("Not supported yet.");
10.109 + }
10.110 +
10.111 + @Override
10.112 + public String getColumnTypeName(int column) throws SQLException {
10.113 + throw new SQLException("Not supported yet.");
10.114 + }
10.115 +
10.116 + @Override
10.117 + public boolean isReadOnly(int column) throws SQLException {
10.118 + throw new SQLException("Not supported yet.");
10.119 + }
10.120 +
10.121 + @Override
10.122 + public boolean isWritable(int column) throws SQLException {
10.123 + throw new SQLException("Not supported yet.");
10.124 + }
10.125 +
10.126 + @Override
10.127 + public boolean isDefinitelyWritable(int column) throws SQLException {
10.128 + throw new SQLException("Not supported yet.");
10.129 + }
10.130 +
10.131 + @Override
10.132 + public String getColumnClassName(int column) throws SQLException {
10.133 + throw new SQLException("Not supported yet.");
10.134 + }
10.135 +
10.136 + @Override
10.137 + public <T> T unwrap(Class<T> iface) throws SQLException {
10.138 + throw new SQLException("Not supported yet.");
10.139 + }
10.140 +
10.141 + @Override
10.142 + public boolean isWrapperFor(Class<?> iface) throws SQLException {
10.143 + throw new SQLException("Not supported yet.");
10.144 + }
10.145 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractStatement.java Fri Apr 04 23:40:28 2014 +0200
11.3 @@ -0,0 +1,250 @@
11.4 +/**
11.5 + * SQL-DK
11.6 + * Copyright © 2014 František Kučera (frantovo.cz)
11.7 + *
11.8 + * This program is free software: you can redistribute it and/or modify
11.9 + * it under the terms of the GNU General Public License as published by
11.10 + * the Free Software Foundation, either version 3 of the License, or
11.11 + * (at your option) any later version.
11.12 + *
11.13 + * This program is distributed in the hope that it will be useful,
11.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
11.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11.16 + * GNU General Public License for more details.
11.17 + *
11.18 + * You should have received a copy of the GNU General Public License
11.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
11.20 + */
11.21 +package info.globalcode.jdbc.loopback;
11.22 +
11.23 +import java.sql.Connection;
11.24 +import java.sql.SQLException;
11.25 +import java.sql.SQLWarning;
11.26 +
11.27 +/**
11.28 + *
11.29 + * @author Ing. František Kučera (frantovo.cz)
11.30 + */
11.31 +public abstract class AbstractStatement implements java.sql.Statement {
11.32 +
11.33 + @Override
11.34 + public ResultSet executeQuery(String sql) throws SQLException {
11.35 + throw new SQLException("Not supported yet.");
11.36 + }
11.37 +
11.38 + @Override
11.39 + public int executeUpdate(String sql) throws SQLException {
11.40 + throw new SQLException("Not supported yet.");
11.41 + }
11.42 +
11.43 + @Override
11.44 + public void close() throws SQLException {
11.45 + throw new SQLException("Not supported yet.");
11.46 + }
11.47 +
11.48 + @Override
11.49 + public int getMaxFieldSize() throws SQLException {
11.50 + throw new SQLException("Not supported yet.");
11.51 + }
11.52 +
11.53 + @Override
11.54 + public void setMaxFieldSize(int max) throws SQLException {
11.55 + throw new SQLException("Not supported yet.");
11.56 + }
11.57 +
11.58 + @Override
11.59 + public int getMaxRows() throws SQLException {
11.60 + throw new SQLException("Not supported yet.");
11.61 + }
11.62 +
11.63 + @Override
11.64 + public void setMaxRows(int max) throws SQLException {
11.65 + throw new SQLException("Not supported yet.");
11.66 + }
11.67 +
11.68 + @Override
11.69 + public void setEscapeProcessing(boolean enable) throws SQLException {
11.70 + throw new SQLException("Not supported yet.");
11.71 + }
11.72 +
11.73 + @Override
11.74 + public int getQueryTimeout() throws SQLException {
11.75 + throw new SQLException("Not supported yet.");
11.76 + }
11.77 +
11.78 + @Override
11.79 + public void setQueryTimeout(int seconds) throws SQLException {
11.80 + throw new SQLException("Not supported yet.");
11.81 + }
11.82 +
11.83 + @Override
11.84 + public void cancel() throws SQLException {
11.85 + throw new SQLException("Not supported yet.");
11.86 + }
11.87 +
11.88 + @Override
11.89 + public SQLWarning getWarnings() throws SQLException {
11.90 + throw new SQLException("Not supported yet.");
11.91 + }
11.92 +
11.93 + @Override
11.94 + public void clearWarnings() throws SQLException {
11.95 + throw new SQLException("Not supported yet.");
11.96 + }
11.97 +
11.98 + @Override
11.99 + public void setCursorName(String name) throws SQLException {
11.100 + throw new SQLException("Not supported yet.");
11.101 + }
11.102 +
11.103 + @Override
11.104 + public boolean execute(String sql) throws SQLException {
11.105 + throw new SQLException("Not supported yet.");
11.106 + }
11.107 +
11.108 + @Override
11.109 + public java.sql.ResultSet getResultSet() throws SQLException {
11.110 + throw new SQLException("Not supported yet.");
11.111 + }
11.112 +
11.113 + @Override
11.114 + public int getUpdateCount() throws SQLException {
11.115 + throw new SQLException("Not supported yet.");
11.116 + }
11.117 +
11.118 + @Override
11.119 + public boolean getMoreResults() throws SQLException {
11.120 + throw new SQLException("Not supported yet.");
11.121 + }
11.122 +
11.123 + @Override
11.124 + public void setFetchDirection(int direction) throws SQLException {
11.125 + throw new SQLException("Not supported yet.");
11.126 + }
11.127 +
11.128 + @Override
11.129 + public int getFetchDirection() throws SQLException {
11.130 + throw new SQLException("Not supported yet.");
11.131 + }
11.132 +
11.133 + @Override
11.134 + public void setFetchSize(int rows) throws SQLException {
11.135 + throw new SQLException("Not supported yet.");
11.136 + }
11.137 +
11.138 + @Override
11.139 + public int getFetchSize() throws SQLException {
11.140 + throw new SQLException("Not supported yet.");
11.141 + }
11.142 +
11.143 + @Override
11.144 + public int getResultSetConcurrency() throws SQLException {
11.145 + throw new SQLException("Not supported yet.");
11.146 + }
11.147 +
11.148 + @Override
11.149 + public int getResultSetType() throws SQLException {
11.150 + throw new SQLException("Not supported yet.");
11.151 + }
11.152 +
11.153 + @Override
11.154 + public void addBatch(String sql) throws SQLException {
11.155 + throw new SQLException("Not supported yet.");
11.156 + }
11.157 +
11.158 + @Override
11.159 + public void clearBatch() throws SQLException {
11.160 + throw new SQLException("Not supported yet.");
11.161 + }
11.162 +
11.163 + @Override
11.164 + public int[] executeBatch() throws SQLException {
11.165 + throw new SQLException("Not supported yet.");
11.166 + }
11.167 +
11.168 + @Override
11.169 + public Connection getConnection() throws SQLException {
11.170 + throw new SQLException("Not supported yet.");
11.171 + }
11.172 +
11.173 + @Override
11.174 + public boolean getMoreResults(int current) throws SQLException {
11.175 + throw new SQLException("Not supported yet.");
11.176 + }
11.177 +
11.178 + @Override
11.179 + public ResultSet getGeneratedKeys() throws SQLException {
11.180 + throw new SQLException("Not supported yet.");
11.181 + }
11.182 +
11.183 + @Override
11.184 + public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
11.185 + throw new SQLException("Not supported yet.");
11.186 + }
11.187 +
11.188 + @Override
11.189 + public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
11.190 + throw new SQLException("Not supported yet.");
11.191 + }
11.192 +
11.193 + @Override
11.194 + public int executeUpdate(String sql, String[] columnNames) throws SQLException {
11.195 + throw new SQLException("Not supported yet.");
11.196 + }
11.197 +
11.198 + @Override
11.199 + public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
11.200 + throw new SQLException("Not supported yet.");
11.201 + }
11.202 +
11.203 + @Override
11.204 + public boolean execute(String sql, int[] columnIndexes) throws SQLException {
11.205 + throw new SQLException("Not supported yet.");
11.206 + }
11.207 +
11.208 + @Override
11.209 + public boolean execute(String sql, String[] columnNames) throws SQLException {
11.210 + throw new SQLException("Not supported yet.");
11.211 + }
11.212 +
11.213 + @Override
11.214 + public int getResultSetHoldability() throws SQLException {
11.215 + throw new SQLException("Not supported yet.");
11.216 + }
11.217 +
11.218 + @Override
11.219 + public boolean isClosed() throws SQLException {
11.220 + throw new SQLException("Not supported yet.");
11.221 + }
11.222 +
11.223 + @Override
11.224 + public void setPoolable(boolean poolable) throws SQLException {
11.225 + throw new SQLException("Not supported yet.");
11.226 + }
11.227 +
11.228 + @Override
11.229 + public boolean isPoolable() throws SQLException {
11.230 + throw new SQLException("Not supported yet.");
11.231 + }
11.232 +
11.233 + @Override
11.234 + public void closeOnCompletion() throws SQLException {
11.235 + throw new SQLException("Not supported yet.");
11.236 + }
11.237 +
11.238 + @Override
11.239 + public boolean isCloseOnCompletion() throws SQLException {
11.240 + throw new SQLException("Not supported yet.");
11.241 + }
11.242 +
11.243 + @Override
11.244 + public <T> T unwrap(Class<T> iface) throws SQLException {
11.245 + throw new SQLException("Not supported yet.");
11.246 + }
11.247 +
11.248 + @Override
11.249 + public boolean isWrapperFor(Class<?> iface) throws SQLException {
11.250 + throw new SQLException("Not supported yet.");
11.251 + }
11.252 +
11.253 +}
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Connection.java Fri Apr 04 23:40:28 2014 +0200
12.3 @@ -0,0 +1,135 @@
12.4 +/**
12.5 + * SQL-DK
12.6 + * Copyright © 2014 František Kučera (frantovo.cz)
12.7 + *
12.8 + * This program is free software: you can redistribute it and/or modify
12.9 + * it under the terms of the GNU General Public License as published by
12.10 + * the Free Software Foundation, either version 3 of the License, or
12.11 + * (at your option) any later version.
12.12 + *
12.13 + * This program is distributed in the hope that it will be useful,
12.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
12.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12.16 + * GNU General Public License for more details.
12.17 + *
12.18 + * You should have received a copy of the GNU General Public License
12.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
12.20 + */
12.21 +package info.globalcode.jdbc.loopback;
12.22 +
12.23 +import java.sql.SQLClientInfoException;
12.24 +import java.sql.SQLException;
12.25 +import java.sql.SQLWarning;
12.26 +import java.sql.Savepoint;
12.27 +import java.util.Map;
12.28 +import java.util.Properties;
12.29 +import java.util.concurrent.Executor;
12.30 +
12.31 +/**
12.32 + *
12.33 + * @author Ing. František Kučera (frantovo.cz)
12.34 + */
12.35 +public class Connection extends AbstractConnection {
12.36 +
12.37 + private String url;
12.38 + private Properties info;
12.39 +
12.40 + public Connection(String url, Properties info) {
12.41 + this.url = url;
12.42 + this.info = info;
12.43 + }
12.44 +
12.45 + @Override
12.46 + public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
12.47 + return new PreparedStatement();
12.48 + }
12.49 +
12.50 + @Override
12.51 + public void setAutoCommit(boolean autoCommit) throws SQLException {
12.52 + }
12.53 +
12.54 + @Override
12.55 + public boolean getAutoCommit() throws SQLException {
12.56 + return true;
12.57 + }
12.58 +
12.59 + @Override
12.60 + public void commit() throws SQLException {
12.61 + }
12.62 +
12.63 + @Override
12.64 + public void rollback() throws SQLException {
12.65 + }
12.66 +
12.67 + @Override
12.68 + public void close() throws SQLException {
12.69 + }
12.70 +
12.71 + @Override
12.72 + public boolean isClosed() throws SQLException {
12.73 + return false;
12.74 + }
12.75 +
12.76 + @Override
12.77 + public void setReadOnly(boolean readOnly) throws SQLException {
12.78 + }
12.79 +
12.80 + @Override
12.81 + public boolean isReadOnly() throws SQLException {
12.82 + return true;
12.83 + }
12.84 +
12.85 + @Override
12.86 + public void setCatalog(String catalog) throws SQLException {
12.87 + }
12.88 +
12.89 + @Override
12.90 + public void setTransactionIsolation(int level) throws SQLException {
12.91 + }
12.92 +
12.93 + @Override
12.94 + public SQLWarning getWarnings() throws SQLException {
12.95 + return null;
12.96 + }
12.97 +
12.98 + @Override
12.99 + public void clearWarnings() throws SQLException {
12.100 + }
12.101 +
12.102 + @Override
12.103 + public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
12.104 + }
12.105 +
12.106 + @Override
12.107 + public void setHoldability(int holdability) throws SQLException {
12.108 + }
12.109 +
12.110 + @Override
12.111 + public void rollback(Savepoint savepoint) throws SQLException {
12.112 + }
12.113 +
12.114 + @Override
12.115 + public void releaseSavepoint(Savepoint savepoint) throws SQLException {
12.116 + }
12.117 +
12.118 + @Override
12.119 + public boolean isValid(int timeout) throws SQLException {
12.120 + return true;
12.121 + }
12.122 +
12.123 + @Override
12.124 + public void setClientInfo(String name, String value) throws SQLClientInfoException {
12.125 + }
12.126 +
12.127 + @Override
12.128 + public void setClientInfo(Properties properties) throws SQLClientInfoException {
12.129 + }
12.130 +
12.131 + @Override
12.132 + public void abort(Executor executor) throws SQLException {
12.133 + }
12.134 +
12.135 + @Override
12.136 + public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
12.137 + }
12.138 +}
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java Fri Apr 04 23:40:28 2014 +0200
13.3 @@ -0,0 +1,79 @@
13.4 +/**
13.5 + * SQL-DK
13.6 + * Copyright © 2014 František Kučera (frantovo.cz)
13.7 + *
13.8 + * This program is free software: you can redistribute it and/or modify
13.9 + * it under the terms of the GNU General Public License as published by
13.10 + * the Free Software Foundation, either version 3 of the License, or
13.11 + * (at your option) any later version.
13.12 + *
13.13 + * This program is distributed in the hope that it will be useful,
13.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
13.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13.16 + * GNU General Public License for more details.
13.17 + *
13.18 + * You should have received a copy of the GNU General Public License
13.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
13.20 + */
13.21 +package info.globalcode.jdbc.loopback;
13.22 +
13.23 +import java.sql.DriverManager;
13.24 +import java.sql.DriverPropertyInfo;
13.25 +import java.sql.SQLException;
13.26 +import java.sql.SQLFeatureNotSupportedException;
13.27 +import java.util.Properties;
13.28 +import java.util.logging.Level;
13.29 +import java.util.logging.Logger;
13.30 +
13.31 +/**
13.32 + *
13.33 + * @author Ing. František Kučera (frantovo.cz)
13.34 + */
13.35 +public class Driver implements java.sql.Driver {
13.36 +
13.37 + private static final Logger log = Logger.getLogger(Driver.class.getName());
13.38 +
13.39 + static {
13.40 + try {
13.41 + DriverManager.registerDriver(new Driver());
13.42 + } catch (SQLException e) {
13.43 + log.log(Level.SEVERE, "Unable to register JDBC driver", e);
13.44 + }
13.45 + }
13.46 +
13.47 + @Override
13.48 + public Connection connect(String url, Properties info) throws SQLException {
13.49 + return new Connection(url, info);
13.50 + }
13.51 +
13.52 + @Override
13.53 + public boolean acceptsURL(String url) throws SQLException {
13.54 + return url != null && url.startsWith("jdbc:loopback://");
13.55 + }
13.56 +
13.57 + @Override
13.58 + public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
13.59 + return new DriverPropertyInfo[0];
13.60 + }
13.61 +
13.62 + @Override
13.63 + public int getMajorVersion() {
13.64 + return 0;
13.65 + }
13.66 +
13.67 + @Override
13.68 + public int getMinorVersion() {
13.69 + return 1;
13.70 + }
13.71 +
13.72 + @Override
13.73 + public boolean jdbcCompliant() {
13.74 + return false;
13.75 + }
13.76 +
13.77 + @Override
13.78 + public Logger getParentLogger() throws SQLFeatureNotSupportedException {
13.79 + throw new SQLFeatureNotSupportedException("Not supported yet.");
13.80 + }
13.81 +
13.82 +}
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ObjectParameter.java Fri Apr 04 23:40:28 2014 +0200
14.3 @@ -0,0 +1,41 @@
14.4 +/**
14.5 + * SQL-DK
14.6 + * Copyright © 2014 František Kučera (frantovo.cz)
14.7 + *
14.8 + * This program is free software: you can redistribute it and/or modify
14.9 + * it under the terms of the GNU General Public License as published by
14.10 + * the Free Software Foundation, either version 3 of the License, or
14.11 + * (at your option) any later version.
14.12 + *
14.13 + * This program is distributed in the hope that it will be useful,
14.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
14.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14.16 + * GNU General Public License for more details.
14.17 + *
14.18 + * You should have received a copy of the GNU General Public License
14.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
14.20 + */
14.21 +package info.globalcode.jdbc.loopback;
14.22 +
14.23 +/**
14.24 + *
14.25 + * @author Ing. František Kučera (frantovo.cz)
14.26 + */
14.27 +public class ObjectParameter {
14.28 +
14.29 + private final Object data;
14.30 + private final int targetSqlType;
14.31 +
14.32 + public ObjectParameter(Object data, int targetSqlType) {
14.33 + this.data = data;
14.34 + this.targetSqlType = targetSqlType;
14.35 + }
14.36 +
14.37 + public Object getData() {
14.38 + return data;
14.39 + }
14.40 +
14.41 + public int getTargetSqlType() {
14.42 + return targetSqlType;
14.43 + }
14.44 +}
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/PreparedStatement.java Fri Apr 04 23:40:28 2014 +0200
15.3 @@ -0,0 +1,107 @@
15.4 +/**
15.5 + * SQL-DK
15.6 + * Copyright © 2014 František Kučera (frantovo.cz)
15.7 + *
15.8 + * This program is free software: you can redistribute it and/or modify
15.9 + * it under the terms of the GNU General Public License as published by
15.10 + * the Free Software Foundation, either version 3 of the License, or
15.11 + * (at your option) any later version.
15.12 + *
15.13 + * This program is distributed in the hope that it will be useful,
15.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
15.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15.16 + * GNU General Public License for more details.
15.17 + *
15.18 + * You should have received a copy of the GNU General Public License
15.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
15.20 + */
15.21 +package info.globalcode.jdbc.loopback;
15.22 +
15.23 +import java.sql.SQLException;
15.24 +import java.sql.SQLWarning;
15.25 +import java.sql.Types;
15.26 +import java.util.ArrayList;
15.27 +import java.util.HashMap;
15.28 +import java.util.List;
15.29 +import java.util.Map;
15.30 +
15.31 +/**
15.32 + *
15.33 + * @author Ing. František Kučera (frantovo.cz)
15.34 + */
15.35 +public class PreparedStatement extends AbstractPreparedStatement {
15.36 +
15.37 + private Map<Integer, ObjectParameter> parameters = new HashMap<>();
15.38 + private List<Object[]> table;
15.39 + private ResultSetMetaData metadata = new ResultSetMetaData();
15.40 +
15.41 + @Override
15.42 + public void setObject(int parameterIndex, Object data, int targetSqlType) throws SQLException {
15.43 + parameters.put(parameterIndex, new ObjectParameter(data, targetSqlType));
15.44 + }
15.45 +
15.46 + @Override
15.47 + public boolean execute() throws SQLException {
15.48 +
15.49 + if (parameters.size() < 1) {
15.50 + throw new SQLException("Missing first parameter (column count)");
15.51 + } else {
15.52 + int columnCount = Integer.valueOf((String) parameters.get(1).getData());
15.53 +
15.54 + for (int i = 0; i < columnCount; i++) {
15.55 + String label = parameters.get(1 + i + 1).getData().toString();
15.56 + metadata.addColumn(new ResultSetMetaData.ColumnDescriptor(Types.VARCHAR, "VARCHAR", label, label));
15.57 + }
15.58 +
15.59 + int cellIndex = 0;
15.60 +
15.61 + table = new ArrayList<>();
15.62 + Object[] currentRow = null;
15.63 +
15.64 + for (int parameterNumber = (1 + columnCount + 1); true; parameterNumber++) {
15.65 + ObjectParameter data = parameters.get(parameterNumber);
15.66 + if (data == null) {
15.67 + break;
15.68 + } else {
15.69 + int columnIndex = cellIndex % columnCount;
15.70 + cellIndex++;
15.71 + if (columnIndex == 0) {
15.72 + currentRow = new Object[columnCount];
15.73 + table.add(currentRow);
15.74 + }
15.75 + currentRow[columnIndex] = data.getData();
15.76 + }
15.77 + }
15.78 +
15.79 + return true;
15.80 + }
15.81 + }
15.82 +
15.83 + @Override
15.84 + public java.sql.ResultSet getResultSet() throws SQLException {
15.85 + return new ResultSet(metadata, table);
15.86 + }
15.87 +
15.88 + @Override
15.89 + public int getUpdateCount() throws SQLException {
15.90 + return -1;
15.91 + }
15.92 +
15.93 + @Override
15.94 + public boolean getMoreResults() throws SQLException {
15.95 + return false;
15.96 + }
15.97 +
15.98 + @Override
15.99 + public void close() throws SQLException {
15.100 + }
15.101 +
15.102 + @Override
15.103 + public SQLWarning getWarnings() throws SQLException {
15.104 + return null;
15.105 + }
15.106 +
15.107 + @Override
15.108 + public void clearWarnings() throws SQLException {
15.109 + }
15.110 +}
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSet.java Fri Apr 04 23:40:28 2014 +0200
16.3 @@ -0,0 +1,67 @@
16.4 +/**
16.5 + * SQL-DK
16.6 + * Copyright © 2014 František Kučera (frantovo.cz)
16.7 + *
16.8 + * This program is free software: you can redistribute it and/or modify
16.9 + * it under the terms of the GNU General Public License as published by
16.10 + * the Free Software Foundation, either version 3 of the License, or
16.11 + * (at your option) any later version.
16.12 + *
16.13 + * This program is distributed in the hope that it will be useful,
16.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
16.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16.16 + * GNU General Public License for more details.
16.17 + *
16.18 + * You should have received a copy of the GNU General Public License
16.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
16.20 + */
16.21 +package info.globalcode.jdbc.loopback;
16.22 +
16.23 +import java.sql.SQLException;
16.24 +import java.util.Iterator;
16.25 +import java.util.List;
16.26 +
16.27 +/**
16.28 + *
16.29 + * @author Ing. František Kučera (frantovo.cz)
16.30 + */
16.31 +public class ResultSet extends AbstractResultSet {
16.32 +
16.33 + private final ResultSetMetaData metadata;
16.34 + private final Iterator<Object[]> data;
16.35 + private Object[] currentRow;
16.36 +
16.37 + public ResultSet(ResultSetMetaData metadata, List<Object[]> table) {
16.38 + data = table.listIterator();
16.39 + this.metadata = metadata;
16.40 + }
16.41 +
16.42 + @Override
16.43 + public boolean next() throws SQLException {
16.44 + if (data.hasNext()) {
16.45 + currentRow = data.next();
16.46 + return true;
16.47 + } else {
16.48 + return false;
16.49 + }
16.50 + }
16.51 +
16.52 + @Override
16.53 + public Object getObject(int columnNumber) throws SQLException {
16.54 + return currentRow[columnNumber - 1];
16.55 + }
16.56 +
16.57 + @Override
16.58 + public ResultSetMetaData getMetaData() throws SQLException {
16.59 + return metadata;
16.60 + }
16.61 +
16.62 + @Override
16.63 + public void close() throws SQLException {
16.64 + }
16.65 +
16.66 + @Override
16.67 + public boolean isClosed() throws SQLException {
16.68 + return false;
16.69 + }
16.70 +}
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSetMetaData.java Fri Apr 04 23:40:28 2014 +0200
17.3 @@ -0,0 +1,75 @@
17.4 +/**
17.5 + * SQL-DK
17.6 + * Copyright © 2014 František Kučera (frantovo.cz)
17.7 + *
17.8 + * This program is free software: you can redistribute it and/or modify
17.9 + * it under the terms of the GNU General Public License as published by
17.10 + * the Free Software Foundation, either version 3 of the License, or
17.11 + * (at your option) any later version.
17.12 + *
17.13 + * This program is distributed in the hope that it will be useful,
17.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
17.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.16 + * GNU General Public License for more details.
17.17 + *
17.18 + * You should have received a copy of the GNU General Public License
17.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
17.20 + */
17.21 +package info.globalcode.jdbc.loopback;
17.22 +
17.23 +import java.sql.SQLException;
17.24 +import java.util.ArrayList;
17.25 +import java.util.List;
17.26 +
17.27 +/**
17.28 + *
17.29 + * @author Ing. František Kučera (frantovo.cz)
17.30 + */
17.31 +public class ResultSetMetaData extends AbstractResultSetMetaData {
17.32 +
17.33 + private List<ColumnDescriptor> columns = new ArrayList<>();
17.34 +
17.35 + public void addColumn(ColumnDescriptor cd) {
17.36 + columns.add(cd);
17.37 + }
17.38 +
17.39 + @Override
17.40 + public int getColumnCount() throws SQLException {
17.41 + return columns.size();
17.42 + }
17.43 +
17.44 + @Override
17.45 + public String getColumnLabel(int column) throws SQLException {
17.46 + return columns.get(column - 1).label;
17.47 + }
17.48 +
17.49 + @Override
17.50 + public String getColumnName(int column) throws SQLException {
17.51 + return columns.get(column - 1).name;
17.52 + }
17.53 +
17.54 + @Override
17.55 + public int getColumnType(int column) throws SQLException {
17.56 + return columns.get(column - 1).type;
17.57 + }
17.58 +
17.59 + @Override
17.60 + public String getColumnTypeName(int column) throws SQLException {
17.61 + return columns.get(column - 1).typeName;
17.62 + }
17.63 +
17.64 + public static class ColumnDescriptor {
17.65 +
17.66 + private final int type;
17.67 + private final String typeName;
17.68 + private final String label;
17.69 + private final String name;
17.70 +
17.71 + public ColumnDescriptor(int type, String typeName, String label, String name) {
17.72 + this.type = type;
17.73 + this.typeName = typeName;
17.74 + this.label = label;
17.75 + this.name = name;
17.76 + }
17.77 + }
17.78 +}