mavenized: jdbc-loopback-driver v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Mon, 04 Mar 2019 17:06:42 +0100
branchv_0
changeset 2377e08730da258
parent 236 a3ec71fa8e17
child 238 4a1864c3e867
mavenized: jdbc-loopback-driver
.hgignore
distributions/debian/build.sh
java/jdbc-loopback-driver/build.xml
java/jdbc-loopback-driver/conf/META-INF/services/java.sql.Driver
java/jdbc-loopback-driver/nbproject/build-impl.xml
java/jdbc-loopback-driver/nbproject/genfiles.properties
java/jdbc-loopback-driver/nbproject/project.properties
java/jdbc-loopback-driver/nbproject/project.xml
java/jdbc-loopback-driver/pom.xml
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractConnection.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractPreparedStatement.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSet.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSetMetaData.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractStatement.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Connection.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ObjectParameter.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/PreparedStatement.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSet.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSetMetaData.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractConnection.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractPreparedStatement.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractResultSet.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractResultSetMetaData.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractStatement.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/Connection.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/Driver.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ObjectParameter.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/PreparedStatement.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ResultSet.java
java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ResultSetMetaData.java
java/jdbc-loopback-driver/src/main/resources/META-INF/services/java.sql.Driver
     1.1 --- a/.hgignore	Tue Feb 26 18:19:49 2019 +0100
     1.2 +++ b/.hgignore	Mon Mar 04 17:06:42 2019 +0100
     1.3 @@ -8,6 +8,7 @@
     1.4  
     1.5  syntax: regexp
     1.6  
     1.7 +^java/[^/]+/target/
     1.8  ^java/[^/]+/dist/
     1.9  ^java/[^/]+/build/
    1.10  ^java/[^/]+/nbproject/private/
     2.1 --- a/distributions/debian/build.sh	Tue Feb 26 18:19:49 2019 +0100
     2.2 +++ b/distributions/debian/build.sh	Mon Mar 04 17:06:42 2019 +0100
     2.3 @@ -30,7 +30,7 @@
     2.4  cp ../../../xml/config.rnc                                                      config.rnc &&
     2.5  cp ../../../xml/config.xsl                                                      config.xsl &&
     2.6  cp ../../../java/sql-dk/dist/sql-dk.jar                                         sql-dk.jar &&
     2.7 -cp ../../../java/jdbc-loopback-driver/dist/jdbc-loopback-driver.jar             jdbc-loopback-driver.jar &&
     2.8 +cp ../../../java/jdbc-loopback-driver/target/jdbc-loopback-driver-*.jar         jdbc-loopback-driver.jar &&
     2.9  cp ../../../java/sql-dk/dist/bash-completion.sh     SQL-DK && # TODO: should be sql-dk – name conflict with sql-dk in /usr/bin/ (equivs bug)
    2.10  
    2.11  chmod 755 sql-dk &&
     3.1 --- a/java/jdbc-loopback-driver/build.xml	Tue Feb 26 18:19:49 2019 +0100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,73 +0,0 @@
     3.4 -<?xml version="1.0" encoding="UTF-8"?>
     3.5 -<!-- You may freely edit this file. See commented blocks below for -->
     3.6 -<!-- some examples of how to customize the build. -->
     3.7 -<!-- (If you delete it and reopen the project it will be recreated.) -->
     3.8 -<!-- By default, only the Clean and Build commands use this build script. -->
     3.9 -<!-- Commands such as Run, Debug, and Test only use this build script if -->
    3.10 -<!-- the Compile on Save feature is turned off for the project. -->
    3.11 -<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
    3.12 -<!-- in the project's Project Properties dialog box.-->
    3.13 -<project name="jdbc-loopback-driver" default="default" basedir=".">
    3.14 -    <description>Builds, tests, and runs the project jdbc-loopback-driver.</description>
    3.15 -    <import file="nbproject/build-impl.xml"/>
    3.16 -    <!--
    3.17 -
    3.18 -    There exist several targets which are by default empty and which can be 
    3.19 -    used for execution of your tasks. These targets are usually executed 
    3.20 -    before and after some main targets. They are: 
    3.21 -
    3.22 -      -pre-init:                 called before initialization of project properties
    3.23 -      -post-init:                called after initialization of project properties
    3.24 -      -pre-compile:              called before javac compilation
    3.25 -      -post-compile:             called after javac compilation
    3.26 -      -pre-compile-single:       called before javac compilation of single file
    3.27 -      -post-compile-single:      called after javac compilation of single file
    3.28 -      -pre-compile-test:         called before javac compilation of JUnit tests
    3.29 -      -post-compile-test:        called after javac compilation of JUnit tests
    3.30 -      -pre-compile-test-single:  called before javac compilation of single JUnit test
    3.31 -      -post-compile-test-single: called after javac compilation of single JUunit test
    3.32 -      -pre-jar:                  called before JAR building
    3.33 -      -post-jar:                 called after JAR building
    3.34 -      -post-clean:               called after cleaning build products
    3.35 -
    3.36 -    (Targets beginning with '-' are not intended to be called on their own.)
    3.37 -
    3.38 -    Example of inserting an obfuscator after compilation could look like this:
    3.39 -
    3.40 -        <target name="-post-compile">
    3.41 -            <obfuscate>
    3.42 -                <fileset dir="${build.classes.dir}"/>
    3.43 -            </obfuscate>
    3.44 -        </target>
    3.45 -
    3.46 -    For list of available properties check the imported 
    3.47 -    nbproject/build-impl.xml file. 
    3.48 -
    3.49 -
    3.50 -    Another way to customize the build is by overriding existing main targets.
    3.51 -    The targets of interest are: 
    3.52 -
    3.53 -      -init-macrodef-javac:     defines macro for javac compilation
    3.54 -      -init-macrodef-junit:     defines macro for junit execution
    3.55 -      -init-macrodef-debug:     defines macro for class debugging
    3.56 -      -init-macrodef-java:      defines macro for class execution
    3.57 -      -do-jar:                  JAR building
    3.58 -      run:                      execution of project 
    3.59 -      -javadoc-build:           Javadoc generation
    3.60 -      test-report:              JUnit report generation
    3.61 -
    3.62 -    An example of overriding the target for project execution could look like this:
    3.63 -
    3.64 -        <target name="run" depends="jdbc-loopback-driver-impl.jar">
    3.65 -            <exec dir="bin" executable="launcher.exe">
    3.66 -                <arg file="${dist.jar}"/>
    3.67 -            </exec>
    3.68 -        </target>
    3.69 -
    3.70 -    Notice that the overridden target depends on the jar target and not only on 
    3.71 -    the compile target as the regular run target does. Again, for a list of available 
    3.72 -    properties which you can use, check the target you are overriding in the
    3.73 -    nbproject/build-impl.xml file. 
    3.74 -
    3.75 -    -->
    3.76 -</project>
     4.1 --- a/java/jdbc-loopback-driver/conf/META-INF/services/java.sql.Driver	Tue Feb 26 18:19:49 2019 +0100
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,1 +0,0 @@
     4.4 -info.globalcode.jdbc.loopback.Driver
     5.1 --- a/java/jdbc-loopback-driver/nbproject/build-impl.xml	Tue Feb 26 18:19:49 2019 +0100
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,1429 +0,0 @@
     5.4 -<?xml version="1.0" encoding="UTF-8"?>
     5.5 -<!--
     5.6 -*** GENERATED FROM project.xml - DO NOT EDIT  ***
     5.7 -***         EDIT ../build.xml INSTEAD         ***
     5.8 -
     5.9 -For the purpose of easier reading the script
    5.10 -is divided into following sections:
    5.11 -
    5.12 -  - initialization
    5.13 -  - compilation
    5.14 -  - jar
    5.15 -  - execution
    5.16 -  - debugging
    5.17 -  - javadoc
    5.18 -  - test compilation
    5.19 -  - test execution
    5.20 -  - test debugging
    5.21 -  - applet
    5.22 -  - cleanup
    5.23 -
    5.24 -        -->
    5.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">
    5.26 -    <fail message="Please build using Ant 1.8.0 or higher.">
    5.27 -        <condition>
    5.28 -            <not>
    5.29 -                <antversion atleast="1.8.0"/>
    5.30 -            </not>
    5.31 -        </condition>
    5.32 -    </fail>
    5.33 -    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
    5.34 -    <!-- 
    5.35 -                ======================
    5.36 -                INITIALIZATION SECTION 
    5.37 -                ======================
    5.38 -            -->
    5.39 -    <target name="-pre-init">
    5.40 -        <!-- Empty placeholder for easier customization. -->
    5.41 -        <!-- You can override this target in the ../build.xml file. -->
    5.42 -    </target>
    5.43 -    <target depends="-pre-init" name="-init-private">
    5.44 -        <property file="nbproject/private/config.properties"/>
    5.45 -        <property file="nbproject/private/configs/${config}.properties"/>
    5.46 -        <property file="nbproject/private/private.properties"/>
    5.47 -    </target>
    5.48 -    <target depends="-pre-init,-init-private" name="-init-user">
    5.49 -        <property file="${user.properties.file}"/>
    5.50 -        <!-- The two properties below are usually overridden -->
    5.51 -        <!-- by the active platform. Just a fallback. -->
    5.52 -        <property name="default.javac.source" value="1.6"/>
    5.53 -        <property name="default.javac.target" value="1.6"/>
    5.54 -    </target>
    5.55 -    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
    5.56 -        <property file="nbproject/configs/${config}.properties"/>
    5.57 -        <property file="nbproject/project.properties"/>
    5.58 -    </target>
    5.59 -    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
    5.60 -        <property name="platform.java" value="${java.home}/bin/java"/>
    5.61 -        <available file="${manifest.file}" property="manifest.available"/>
    5.62 -        <condition property="splashscreen.available">
    5.63 -            <and>
    5.64 -                <not>
    5.65 -                    <equals arg1="${application.splash}" arg2="" trim="true"/>
    5.66 -                </not>
    5.67 -                <available file="${application.splash}"/>
    5.68 -            </and>
    5.69 -        </condition>
    5.70 -        <condition property="main.class.available">
    5.71 -            <and>
    5.72 -                <isset property="main.class"/>
    5.73 -                <not>
    5.74 -                    <equals arg1="${main.class}" arg2="" trim="true"/>
    5.75 -                </not>
    5.76 -            </and>
    5.77 -        </condition>
    5.78 -        <condition property="profile.available">
    5.79 -            <and>
    5.80 -                <isset property="javac.profile"/>
    5.81 -                <length length="0" string="${javac.profile}" when="greater"/>
    5.82 -                <matches pattern="((1\.[89])|9)(\..*)?" string="${javac.source}"/>
    5.83 -            </and>
    5.84 -        </condition>
    5.85 -        <condition property="do.archive">
    5.86 -            <or>
    5.87 -                <not>
    5.88 -                    <istrue value="${jar.archive.disabled}"/>
    5.89 -                </not>
    5.90 -                <istrue value="${not.archive.disabled}"/>
    5.91 -            </or>
    5.92 -        </condition>
    5.93 -        <condition property="do.mkdist">
    5.94 -            <and>
    5.95 -                <isset property="do.archive"/>
    5.96 -                <isset property="libs.CopyLibs.classpath"/>
    5.97 -                <not>
    5.98 -                    <istrue value="${mkdist.disabled}"/>
    5.99 -                </not>
   5.100 -            </and>
   5.101 -        </condition>
   5.102 -        <condition property="do.archive+manifest.available">
   5.103 -            <and>
   5.104 -                <isset property="manifest.available"/>
   5.105 -                <istrue value="${do.archive}"/>
   5.106 -            </and>
   5.107 -        </condition>
   5.108 -        <condition property="do.archive+main.class.available">
   5.109 -            <and>
   5.110 -                <isset property="main.class.available"/>
   5.111 -                <istrue value="${do.archive}"/>
   5.112 -            </and>
   5.113 -        </condition>
   5.114 -        <condition property="do.archive+splashscreen.available">
   5.115 -            <and>
   5.116 -                <isset property="splashscreen.available"/>
   5.117 -                <istrue value="${do.archive}"/>
   5.118 -            </and>
   5.119 -        </condition>
   5.120 -        <condition property="do.archive+profile.available">
   5.121 -            <and>
   5.122 -                <isset property="profile.available"/>
   5.123 -                <istrue value="${do.archive}"/>
   5.124 -            </and>
   5.125 -        </condition>
   5.126 -        <condition property="have.tests">
   5.127 -            <or>
   5.128 -                <available file="${test.src.dir}"/>
   5.129 -            </or>
   5.130 -        </condition>
   5.131 -        <condition property="have.sources">
   5.132 -            <or>
   5.133 -                <available file="${src.conf.dir}"/>
   5.134 -                <available file="${src.dir}"/>
   5.135 -            </or>
   5.136 -        </condition>
   5.137 -        <condition property="netbeans.home+have.tests">
   5.138 -            <and>
   5.139 -                <isset property="netbeans.home"/>
   5.140 -                <isset property="have.tests"/>
   5.141 -            </and>
   5.142 -        </condition>
   5.143 -        <condition property="no.javadoc.preview">
   5.144 -            <and>
   5.145 -                <isset property="javadoc.preview"/>
   5.146 -                <isfalse value="${javadoc.preview}"/>
   5.147 -            </and>
   5.148 -        </condition>
   5.149 -        <property name="run.jvmargs" value=""/>
   5.150 -        <property name="run.jvmargs.ide" value=""/>
   5.151 -        <property name="javac.compilerargs" value=""/>
   5.152 -        <property name="work.dir" value="${basedir}"/>
   5.153 -        <condition property="no.deps">
   5.154 -            <and>
   5.155 -                <istrue value="${no.dependencies}"/>
   5.156 -            </and>
   5.157 -        </condition>
   5.158 -        <property name="javac.debug" value="true"/>
   5.159 -        <property name="javadoc.preview" value="true"/>
   5.160 -        <property name="application.args" value=""/>
   5.161 -        <property name="source.encoding" value="${file.encoding}"/>
   5.162 -        <property name="runtime.encoding" value="${source.encoding}"/>
   5.163 -        <property name="manifest.encoding" value="${source.encoding}"/>
   5.164 -        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
   5.165 -            <and>
   5.166 -                <isset property="javadoc.encoding"/>
   5.167 -                <not>
   5.168 -                    <equals arg1="${javadoc.encoding}" arg2=""/>
   5.169 -                </not>
   5.170 -            </and>
   5.171 -        </condition>
   5.172 -        <property name="javadoc.encoding.used" value="${source.encoding}"/>
   5.173 -        <property name="includes" value="**"/>
   5.174 -        <property name="excludes" value=""/>
   5.175 -        <property name="do.depend" value="false"/>
   5.176 -        <condition property="do.depend.true">
   5.177 -            <istrue value="${do.depend}"/>
   5.178 -        </condition>
   5.179 -        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
   5.180 -        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
   5.181 -            <and>
   5.182 -                <isset property="endorsed.classpath"/>
   5.183 -                <not>
   5.184 -                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
   5.185 -                </not>
   5.186 -            </and>
   5.187 -        </condition>
   5.188 -        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
   5.189 -            <isset property="profile.available"/>
   5.190 -        </condition>
   5.191 -        <condition else="false" property="jdkBug6558476">
   5.192 -            <and>
   5.193 -                <matches pattern="1\.[56]" string="${java.specification.version}"/>
   5.194 -                <not>
   5.195 -                    <os family="unix"/>
   5.196 -                </not>
   5.197 -            </and>
   5.198 -        </condition>
   5.199 -        <condition else="false" property="javac.fork">
   5.200 -            <or>
   5.201 -                <istrue value="${jdkBug6558476}"/>
   5.202 -                <istrue value="${javac.external.vm}"/>
   5.203 -            </or>
   5.204 -        </condition>
   5.205 -        <property name="jar.index" value="false"/>
   5.206 -        <property name="jar.index.metainf" value="${jar.index}"/>
   5.207 -        <property name="copylibs.rebase" value="true"/>
   5.208 -        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
   5.209 -        <condition property="junit.available">
   5.210 -            <or>
   5.211 -                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
   5.212 -                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
   5.213 -            </or>
   5.214 -        </condition>
   5.215 -        <condition property="testng.available">
   5.216 -            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
   5.217 -        </condition>
   5.218 -        <condition property="junit+testng.available">
   5.219 -            <and>
   5.220 -                <istrue value="${junit.available}"/>
   5.221 -                <istrue value="${testng.available}"/>
   5.222 -            </and>
   5.223 -        </condition>
   5.224 -        <condition else="testng" property="testng.mode" value="mixed">
   5.225 -            <istrue value="${junit+testng.available}"/>
   5.226 -        </condition>
   5.227 -        <condition else="" property="testng.debug.mode" value="-mixed">
   5.228 -            <istrue value="${junit+testng.available}"/>
   5.229 -        </condition>
   5.230 -        <property name="java.failonerror" value="true"/>
   5.231 -    </target>
   5.232 -    <target name="-post-init">
   5.233 -        <!-- Empty placeholder for easier customization. -->
   5.234 -        <!-- You can override this target in the ../build.xml file. -->
   5.235 -    </target>
   5.236 -    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
   5.237 -        <fail unless="src.conf.dir">Must set src.conf.dir</fail>
   5.238 -        <fail unless="src.dir">Must set src.dir</fail>
   5.239 -        <fail unless="test.src.dir">Must set test.src.dir</fail>
   5.240 -        <fail unless="build.dir">Must set build.dir</fail>
   5.241 -        <fail unless="dist.dir">Must set dist.dir</fail>
   5.242 -        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
   5.243 -        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
   5.244 -        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
   5.245 -        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
   5.246 -        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
   5.247 -        <fail unless="dist.jar">Must set dist.jar</fail>
   5.248 -    </target>
   5.249 -    <target name="-init-macrodef-property">
   5.250 -        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
   5.251 -            <attribute name="name"/>
   5.252 -            <attribute name="value"/>
   5.253 -            <sequential>
   5.254 -                <property name="@{name}" value="${@{value}}"/>
   5.255 -            </sequential>
   5.256 -        </macrodef>
   5.257 -    </target>
   5.258 -    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
   5.259 -        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.260 -            <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
   5.261 -            <attribute default="${build.classes.dir}" name="destdir"/>
   5.262 -            <attribute default="${javac.classpath}" name="classpath"/>
   5.263 -            <attribute default="${javac.processorpath}" name="processorpath"/>
   5.264 -            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
   5.265 -            <attribute default="${includes}" name="includes"/>
   5.266 -            <attribute default="${excludes}" name="excludes"/>
   5.267 -            <attribute default="${javac.debug}" name="debug"/>
   5.268 -            <attribute default="${empty.dir}" name="sourcepath"/>
   5.269 -            <attribute default="${empty.dir}" name="gensrcdir"/>
   5.270 -            <element name="customize" optional="true"/>
   5.271 -            <sequential>
   5.272 -                <property location="${build.dir}/empty" name="empty.dir"/>
   5.273 -                <mkdir dir="${empty.dir}"/>
   5.274 -                <mkdir dir="@{apgeneratedsrcdir}"/>
   5.275 -                <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}">
   5.276 -                    <src>
   5.277 -                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
   5.278 -                            <include name="*"/>
   5.279 -                        </dirset>
   5.280 -                    </src>
   5.281 -                    <classpath>
   5.282 -                        <path path="@{classpath}"/>
   5.283 -                    </classpath>
   5.284 -                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.285 -                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
   5.286 -                    <compilerarg line="${javac.compilerargs}"/>
   5.287 -                    <compilerarg value="-processorpath"/>
   5.288 -                    <compilerarg path="@{processorpath}:${empty.dir}"/>
   5.289 -                    <compilerarg line="${ap.processors.internal}"/>
   5.290 -                    <compilerarg line="${annotation.processing.processor.options}"/>
   5.291 -                    <compilerarg value="-s"/>
   5.292 -                    <compilerarg path="@{apgeneratedsrcdir}"/>
   5.293 -                    <compilerarg line="${ap.proc.none.internal}"/>
   5.294 -                    <customize/>
   5.295 -                </javac>
   5.296 -            </sequential>
   5.297 -        </macrodef>
   5.298 -    </target>
   5.299 -    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
   5.300 -        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.301 -            <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
   5.302 -            <attribute default="${build.classes.dir}" name="destdir"/>
   5.303 -            <attribute default="${javac.classpath}" name="classpath"/>
   5.304 -            <attribute default="${javac.processorpath}" name="processorpath"/>
   5.305 -            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
   5.306 -            <attribute default="${includes}" name="includes"/>
   5.307 -            <attribute default="${excludes}" name="excludes"/>
   5.308 -            <attribute default="${javac.debug}" name="debug"/>
   5.309 -            <attribute default="${empty.dir}" name="sourcepath"/>
   5.310 -            <attribute default="${empty.dir}" name="gensrcdir"/>
   5.311 -            <element name="customize" optional="true"/>
   5.312 -            <sequential>
   5.313 -                <property location="${build.dir}/empty" name="empty.dir"/>
   5.314 -                <mkdir dir="${empty.dir}"/>
   5.315 -                <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}">
   5.316 -                    <src>
   5.317 -                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
   5.318 -                            <include name="*"/>
   5.319 -                        </dirset>
   5.320 -                    </src>
   5.321 -                    <classpath>
   5.322 -                        <path path="@{classpath}"/>
   5.323 -                    </classpath>
   5.324 -                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.325 -                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
   5.326 -                    <compilerarg line="${javac.compilerargs}"/>
   5.327 -                    <customize/>
   5.328 -                </javac>
   5.329 -            </sequential>
   5.330 -        </macrodef>
   5.331 -    </target>
   5.332 -    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
   5.333 -        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.334 -            <attribute default="${src.conf.dir}:${src.dir}" name="srcdir"/>
   5.335 -            <attribute default="${build.classes.dir}" name="destdir"/>
   5.336 -            <attribute default="${javac.classpath}" name="classpath"/>
   5.337 -            <sequential>
   5.338 -                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
   5.339 -                    <classpath>
   5.340 -                        <path path="@{classpath}"/>
   5.341 -                    </classpath>
   5.342 -                </depend>
   5.343 -            </sequential>
   5.344 -        </macrodef>
   5.345 -        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.346 -            <attribute default="${build.classes.dir}" name="destdir"/>
   5.347 -            <sequential>
   5.348 -                <fail unless="javac.includes">Must set javac.includes</fail>
   5.349 -                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
   5.350 -                    <path>
   5.351 -                        <filelist dir="@{destdir}" files="${javac.includes}"/>
   5.352 -                    </path>
   5.353 -                    <globmapper from="*.java" to="*.class"/>
   5.354 -                </pathconvert>
   5.355 -                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
   5.356 -                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
   5.357 -                <delete>
   5.358 -                    <files includesfile="${javac.includesfile.binary}"/>
   5.359 -                </delete>
   5.360 -                <delete>
   5.361 -                    <fileset file="${javac.includesfile.binary}"/>
   5.362 -                </delete>
   5.363 -            </sequential>
   5.364 -        </macrodef>
   5.365 -    </target>
   5.366 -    <target if="${junit.available}" name="-init-macrodef-junit-init">
   5.367 -        <condition else="false" property="nb.junit.batch" value="true">
   5.368 -            <and>
   5.369 -                <istrue value="${junit.available}"/>
   5.370 -                <not>
   5.371 -                    <isset property="test.method"/>
   5.372 -                </not>
   5.373 -            </and>
   5.374 -        </condition>
   5.375 -        <condition else="false" property="nb.junit.single" value="true">
   5.376 -            <and>
   5.377 -                <istrue value="${junit.available}"/>
   5.378 -                <isset property="test.method"/>
   5.379 -            </and>
   5.380 -        </condition>
   5.381 -    </target>
   5.382 -    <target name="-init-test-properties">
   5.383 -        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
   5.384 -        <property name="test.binarytestincludes" value=""/>
   5.385 -        <property name="test.binaryexcludes" value=""/>
   5.386 -    </target>
   5.387 -    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
   5.388 -        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.389 -            <attribute default="${includes}" name="includes"/>
   5.390 -            <attribute default="${excludes}" name="excludes"/>
   5.391 -            <attribute default="**" name="testincludes"/>
   5.392 -            <attribute default="" name="testmethods"/>
   5.393 -            <element name="customize" optional="true"/>
   5.394 -            <sequential>
   5.395 -                <property name="junit.forkmode" value="perTest"/>
   5.396 -                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
   5.397 -                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
   5.398 -                    <syspropertyset>
   5.399 -                        <propertyref prefix="test-sys-prop."/>
   5.400 -                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.401 -                    </syspropertyset>
   5.402 -                    <formatter type="brief" usefile="false"/>
   5.403 -                    <formatter type="xml"/>
   5.404 -                    <jvmarg value="-ea"/>
   5.405 -                    <customize/>
   5.406 -                </junit>
   5.407 -            </sequential>
   5.408 -        </macrodef>
   5.409 -    </target>
   5.410 -    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
   5.411 -        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.412 -            <attribute default="${includes}" name="includes"/>
   5.413 -            <attribute default="${excludes}" name="excludes"/>
   5.414 -            <attribute default="**" name="testincludes"/>
   5.415 -            <attribute default="" name="testmethods"/>
   5.416 -            <element name="customize" optional="true"/>
   5.417 -            <sequential>
   5.418 -                <property name="junit.forkmode" value="perTest"/>
   5.419 -                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
   5.420 -                    <batchtest todir="${build.test.results.dir}">
   5.421 -                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
   5.422 -                            <filename name="@{testincludes}"/>
   5.423 -                        </fileset>
   5.424 -                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
   5.425 -                            <filename name="${test.binarytestincludes}"/>
   5.426 -                        </fileset>
   5.427 -                    </batchtest>
   5.428 -                    <syspropertyset>
   5.429 -                        <propertyref prefix="test-sys-prop."/>
   5.430 -                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.431 -                    </syspropertyset>
   5.432 -                    <formatter type="brief" usefile="false"/>
   5.433 -                    <formatter type="xml"/>
   5.434 -                    <jvmarg value="-ea"/>
   5.435 -                    <customize/>
   5.436 -                </junit>
   5.437 -            </sequential>
   5.438 -        </macrodef>
   5.439 -    </target>
   5.440 -    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
   5.441 -    <target if="${testng.available}" name="-init-macrodef-testng">
   5.442 -        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.443 -            <attribute default="${includes}" name="includes"/>
   5.444 -            <attribute default="${excludes}" name="excludes"/>
   5.445 -            <attribute default="**" name="testincludes"/>
   5.446 -            <attribute default="" name="testmethods"/>
   5.447 -            <element name="customize" optional="true"/>
   5.448 -            <sequential>
   5.449 -                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
   5.450 -                    <isset property="test.method"/>
   5.451 -                </condition>
   5.452 -                <union id="test.set">
   5.453 -                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
   5.454 -                        <filename name="@{testincludes}"/>
   5.455 -                    </fileset>
   5.456 -                </union>
   5.457 -                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
   5.458 -                <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}">
   5.459 -                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
   5.460 -                    <propertyset>
   5.461 -                        <propertyref prefix="test-sys-prop."/>
   5.462 -                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.463 -                    </propertyset>
   5.464 -                    <customize/>
   5.465 -                </testng>
   5.466 -            </sequential>
   5.467 -        </macrodef>
   5.468 -    </target>
   5.469 -    <target name="-init-macrodef-test-impl">
   5.470 -        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.471 -            <attribute default="${includes}" name="includes"/>
   5.472 -            <attribute default="${excludes}" name="excludes"/>
   5.473 -            <attribute default="**" name="testincludes"/>
   5.474 -            <attribute default="" name="testmethods"/>
   5.475 -            <element implicit="true" name="customize" optional="true"/>
   5.476 -            <sequential>
   5.477 -                <echo>No tests executed.</echo>
   5.478 -            </sequential>
   5.479 -        </macrodef>
   5.480 -    </target>
   5.481 -    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
   5.482 -        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.483 -            <attribute default="${includes}" name="includes"/>
   5.484 -            <attribute default="${excludes}" name="excludes"/>
   5.485 -            <attribute default="**" name="testincludes"/>
   5.486 -            <attribute default="" name="testmethods"/>
   5.487 -            <element implicit="true" name="customize" optional="true"/>
   5.488 -            <sequential>
   5.489 -                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
   5.490 -                    <customize/>
   5.491 -                </j2seproject3:junit>
   5.492 -            </sequential>
   5.493 -        </macrodef>
   5.494 -    </target>
   5.495 -    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
   5.496 -        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.497 -            <attribute default="${includes}" name="includes"/>
   5.498 -            <attribute default="${excludes}" name="excludes"/>
   5.499 -            <attribute default="**" name="testincludes"/>
   5.500 -            <attribute default="" name="testmethods"/>
   5.501 -            <element implicit="true" name="customize" optional="true"/>
   5.502 -            <sequential>
   5.503 -                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
   5.504 -                    <customize/>
   5.505 -                </j2seproject3:testng>
   5.506 -            </sequential>
   5.507 -        </macrodef>
   5.508 -    </target>
   5.509 -    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
   5.510 -        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.511 -            <attribute default="${includes}" name="includes"/>
   5.512 -            <attribute default="${excludes}" name="excludes"/>
   5.513 -            <attribute default="**" name="testincludes"/>
   5.514 -            <attribute default="" name="testmethods"/>
   5.515 -            <sequential>
   5.516 -                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
   5.517 -                    <customize>
   5.518 -                        <classpath>
   5.519 -                            <path path="${run.test.classpath}"/>
   5.520 -                        </classpath>
   5.521 -                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.522 -                        <jvmarg line="${run.jvmargs}"/>
   5.523 -                        <jvmarg line="${run.jvmargs.ide}"/>
   5.524 -                    </customize>
   5.525 -                </j2seproject3:test-impl>
   5.526 -            </sequential>
   5.527 -        </macrodef>
   5.528 -    </target>
   5.529 -    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
   5.530 -        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.531 -            <attribute default="${includes}" name="includes"/>
   5.532 -            <attribute default="${excludes}" name="excludes"/>
   5.533 -            <attribute default="**" name="testincludes"/>
   5.534 -            <attribute default="" name="testmethods"/>
   5.535 -            <element name="customize" optional="true"/>
   5.536 -            <sequential>
   5.537 -                <property name="junit.forkmode" value="perTest"/>
   5.538 -                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
   5.539 -                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
   5.540 -                    <syspropertyset>
   5.541 -                        <propertyref prefix="test-sys-prop."/>
   5.542 -                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.543 -                    </syspropertyset>
   5.544 -                    <formatter type="brief" usefile="false"/>
   5.545 -                    <formatter type="xml"/>
   5.546 -                    <jvmarg value="-ea"/>
   5.547 -                    <jvmarg line="${debug-args-line}"/>
   5.548 -                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
   5.549 -                    <customize/>
   5.550 -                </junit>
   5.551 -            </sequential>
   5.552 -        </macrodef>
   5.553 -    </target>
   5.554 -    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
   5.555 -        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.556 -            <attribute default="${includes}" name="includes"/>
   5.557 -            <attribute default="${excludes}" name="excludes"/>
   5.558 -            <attribute default="**" name="testincludes"/>
   5.559 -            <attribute default="" name="testmethods"/>
   5.560 -            <element name="customize" optional="true"/>
   5.561 -            <sequential>
   5.562 -                <property name="junit.forkmode" value="perTest"/>
   5.563 -                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
   5.564 -                    <batchtest todir="${build.test.results.dir}">
   5.565 -                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
   5.566 -                            <filename name="@{testincludes}"/>
   5.567 -                        </fileset>
   5.568 -                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
   5.569 -                            <filename name="${test.binarytestincludes}"/>
   5.570 -                        </fileset>
   5.571 -                    </batchtest>
   5.572 -                    <syspropertyset>
   5.573 -                        <propertyref prefix="test-sys-prop."/>
   5.574 -                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.575 -                    </syspropertyset>
   5.576 -                    <formatter type="brief" usefile="false"/>
   5.577 -                    <formatter type="xml"/>
   5.578 -                    <jvmarg value="-ea"/>
   5.579 -                    <jvmarg line="${debug-args-line}"/>
   5.580 -                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
   5.581 -                    <customize/>
   5.582 -                </junit>
   5.583 -            </sequential>
   5.584 -        </macrodef>
   5.585 -    </target>
   5.586 -    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
   5.587 -        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.588 -            <attribute default="${includes}" name="includes"/>
   5.589 -            <attribute default="${excludes}" name="excludes"/>
   5.590 -            <attribute default="**" name="testincludes"/>
   5.591 -            <attribute default="" name="testmethods"/>
   5.592 -            <element implicit="true" name="customize" optional="true"/>
   5.593 -            <sequential>
   5.594 -                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
   5.595 -                    <customize/>
   5.596 -                </j2seproject3:junit-debug>
   5.597 -            </sequential>
   5.598 -        </macrodef>
   5.599 -    </target>
   5.600 -    <target if="${testng.available}" name="-init-macrodef-testng-debug">
   5.601 -        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.602 -            <attribute default="${main.class}" name="testClass"/>
   5.603 -            <attribute default="" name="testMethod"/>
   5.604 -            <element name="customize2" optional="true"/>
   5.605 -            <sequential>
   5.606 -                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
   5.607 -                    <isset property="test.method"/>
   5.608 -                </condition>
   5.609 -                <condition else="-suitename jdbc-loopback-driver -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
   5.610 -                    <matches pattern=".*\.xml" string="@{testClass}"/>
   5.611 -                </condition>
   5.612 -                <delete dir="${build.test.results.dir}" quiet="true"/>
   5.613 -                <mkdir dir="${build.test.results.dir}"/>
   5.614 -                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
   5.615 -                    <customize>
   5.616 -                        <customize2/>
   5.617 -                        <jvmarg value="-ea"/>
   5.618 -                        <arg line="${testng.debug.mode}"/>
   5.619 -                        <arg line="-d ${build.test.results.dir}"/>
   5.620 -                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
   5.621 -                        <arg line="${testng.cmd.args}"/>
   5.622 -                    </customize>
   5.623 -                </j2seproject3:debug>
   5.624 -            </sequential>
   5.625 -        </macrodef>
   5.626 -    </target>
   5.627 -    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
   5.628 -        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.629 -            <attribute default="${main.class}" name="testClass"/>
   5.630 -            <attribute default="" name="testMethod"/>
   5.631 -            <element implicit="true" name="customize2" optional="true"/>
   5.632 -            <sequential>
   5.633 -                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
   5.634 -                    <customize2/>
   5.635 -                </j2seproject3:testng-debug>
   5.636 -            </sequential>
   5.637 -        </macrodef>
   5.638 -    </target>
   5.639 -    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
   5.640 -        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.641 -            <attribute default="${includes}" name="includes"/>
   5.642 -            <attribute default="${excludes}" name="excludes"/>
   5.643 -            <attribute default="**" name="testincludes"/>
   5.644 -            <attribute default="" name="testmethods"/>
   5.645 -            <attribute default="${main.class}" name="testClass"/>
   5.646 -            <attribute default="" name="testMethod"/>
   5.647 -            <sequential>
   5.648 -                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
   5.649 -                    <customize>
   5.650 -                        <classpath>
   5.651 -                            <path path="${run.test.classpath}"/>
   5.652 -                        </classpath>
   5.653 -                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.654 -                        <jvmarg line="${run.jvmargs}"/>
   5.655 -                        <jvmarg line="${run.jvmargs.ide}"/>
   5.656 -                    </customize>
   5.657 -                </j2seproject3:test-debug-impl>
   5.658 -            </sequential>
   5.659 -        </macrodef>
   5.660 -    </target>
   5.661 -    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
   5.662 -        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.663 -            <attribute default="${includes}" name="includes"/>
   5.664 -            <attribute default="${excludes}" name="excludes"/>
   5.665 -            <attribute default="**" name="testincludes"/>
   5.666 -            <attribute default="" name="testmethods"/>
   5.667 -            <attribute default="${main.class}" name="testClass"/>
   5.668 -            <attribute default="" name="testMethod"/>
   5.669 -            <sequential>
   5.670 -                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
   5.671 -                    <customize2>
   5.672 -                        <syspropertyset>
   5.673 -                            <propertyref prefix="test-sys-prop."/>
   5.674 -                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
   5.675 -                        </syspropertyset>
   5.676 -                    </customize2>
   5.677 -                </j2seproject3:testng-debug-impl>
   5.678 -            </sequential>
   5.679 -        </macrodef>
   5.680 -    </target>
   5.681 -    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
   5.682 -    <!--
   5.683 -                pre NB7.2 profiling section; consider it deprecated
   5.684 -            -->
   5.685 -    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
   5.686 -    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
   5.687 -        <!-- Empty placeholder for easier customization. -->
   5.688 -        <!-- You can override this target in the ../build.xml file. -->
   5.689 -    </target>
   5.690 -    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
   5.691 -        <!-- Empty placeholder for easier customization. -->
   5.692 -        <!-- You can override this target in the ../build.xml file. -->
   5.693 -    </target>
   5.694 -    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
   5.695 -        <macrodef name="resolve">
   5.696 -            <attribute name="name"/>
   5.697 -            <attribute name="value"/>
   5.698 -            <sequential>
   5.699 -                <property name="@{name}" value="${env.@{value}}"/>
   5.700 -            </sequential>
   5.701 -        </macrodef>
   5.702 -        <macrodef name="profile">
   5.703 -            <attribute default="${main.class}" name="classname"/>
   5.704 -            <element name="customize" optional="true"/>
   5.705 -            <sequential>
   5.706 -                <property environment="env"/>
   5.707 -                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
   5.708 -                <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
   5.709 -                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.710 -                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
   5.711 -                    <jvmarg line="${profiler.info.jvmargs}"/>
   5.712 -                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
   5.713 -                    <arg line="${application.args}"/>
   5.714 -                    <classpath>
   5.715 -                        <path path="${run.classpath}"/>
   5.716 -                    </classpath>
   5.717 -                    <syspropertyset>
   5.718 -                        <propertyref prefix="run-sys-prop."/>
   5.719 -                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
   5.720 -                    </syspropertyset>
   5.721 -                    <customize/>
   5.722 -                </java>
   5.723 -            </sequential>
   5.724 -        </macrodef>
   5.725 -    </target>
   5.726 -    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
   5.727 -        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
   5.728 -        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
   5.729 -    </target>
   5.730 -    <!--
   5.731 -                end of pre NB7.2 profiling section
   5.732 -            -->
   5.733 -    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
   5.734 -        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
   5.735 -            <attribute default="${main.class}" name="name"/>
   5.736 -            <attribute default="${debug.classpath}" name="classpath"/>
   5.737 -            <attribute default="" name="stopclassname"/>
   5.738 -            <sequential>
   5.739 -                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
   5.740 -                    <classpath>
   5.741 -                        <path path="@{classpath}"/>
   5.742 -                    </classpath>
   5.743 -                </nbjpdastart>
   5.744 -            </sequential>
   5.745 -        </macrodef>
   5.746 -        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
   5.747 -            <attribute default="${build.classes.dir}" name="dir"/>
   5.748 -            <sequential>
   5.749 -                <nbjpdareload>
   5.750 -                    <fileset dir="@{dir}" includes="${fix.classes}">
   5.751 -                        <include name="${fix.includes}*.class"/>
   5.752 -                    </fileset>
   5.753 -                </nbjpdareload>
   5.754 -            </sequential>
   5.755 -        </macrodef>
   5.756 -    </target>
   5.757 -    <target name="-init-debug-args">
   5.758 -        <property name="version-output" value="java version &quot;${ant.java.version}"/>
   5.759 -        <condition property="have-jdk-older-than-1.4">
   5.760 -            <or>
   5.761 -                <contains string="${version-output}" substring="java version &quot;1.0"/>
   5.762 -                <contains string="${version-output}" substring="java version &quot;1.1"/>
   5.763 -                <contains string="${version-output}" substring="java version &quot;1.2"/>
   5.764 -                <contains string="${version-output}" substring="java version &quot;1.3"/>
   5.765 -            </or>
   5.766 -        </condition>
   5.767 -        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
   5.768 -            <istrue value="${have-jdk-older-than-1.4}"/>
   5.769 -        </condition>
   5.770 -        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
   5.771 -            <os family="windows"/>
   5.772 -        </condition>
   5.773 -        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
   5.774 -            <isset property="debug.transport"/>
   5.775 -        </condition>
   5.776 -    </target>
   5.777 -    <target depends="-init-debug-args" name="-init-macrodef-debug">
   5.778 -        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.779 -            <attribute default="${main.class}" name="classname"/>
   5.780 -            <attribute default="${debug.classpath}" name="classpath"/>
   5.781 -            <element name="customize" optional="true"/>
   5.782 -            <sequential>
   5.783 -                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
   5.784 -                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.785 -                    <jvmarg line="${debug-args-line}"/>
   5.786 -                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
   5.787 -                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
   5.788 -                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
   5.789 -                    <jvmarg line="${run.jvmargs}"/>
   5.790 -                    <jvmarg line="${run.jvmargs.ide}"/>
   5.791 -                    <classpath>
   5.792 -                        <path path="@{classpath}"/>
   5.793 -                    </classpath>
   5.794 -                    <syspropertyset>
   5.795 -                        <propertyref prefix="run-sys-prop."/>
   5.796 -                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
   5.797 -                    </syspropertyset>
   5.798 -                    <customize/>
   5.799 -                </java>
   5.800 -            </sequential>
   5.801 -        </macrodef>
   5.802 -    </target>
   5.803 -    <target name="-init-macrodef-java">
   5.804 -        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
   5.805 -            <attribute default="${main.class}" name="classname"/>
   5.806 -            <attribute default="${run.classpath}" name="classpath"/>
   5.807 -            <attribute default="jvm" name="jvm"/>
   5.808 -            <element name="customize" optional="true"/>
   5.809 -            <sequential>
   5.810 -                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
   5.811 -                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
   5.812 -                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
   5.813 -                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
   5.814 -                    <jvmarg line="${run.jvmargs}"/>
   5.815 -                    <jvmarg line="${run.jvmargs.ide}"/>
   5.816 -                    <classpath>
   5.817 -                        <path path="@{classpath}"/>
   5.818 -                    </classpath>
   5.819 -                    <syspropertyset>
   5.820 -                        <propertyref prefix="run-sys-prop."/>
   5.821 -                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
   5.822 -                    </syspropertyset>
   5.823 -                    <customize/>
   5.824 -                </java>
   5.825 -            </sequential>
   5.826 -        </macrodef>
   5.827 -    </target>
   5.828 -    <target name="-init-macrodef-copylibs">
   5.829 -        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
   5.830 -            <attribute default="${manifest.file}" name="manifest"/>
   5.831 -            <element name="customize" optional="true"/>
   5.832 -            <sequential>
   5.833 -                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
   5.834 -                <pathconvert property="run.classpath.without.build.classes.dir">
   5.835 -                    <path path="${run.classpath}"/>
   5.836 -                    <map from="${build.classes.dir.resolved}" to=""/>
   5.837 -                </pathconvert>
   5.838 -                <pathconvert pathsep=" " property="jar.classpath">
   5.839 -                    <path path="${run.classpath.without.build.classes.dir}"/>
   5.840 -                    <chainedmapper>
   5.841 -                        <flattenmapper/>
   5.842 -                        <filtermapper>
   5.843 -                            <replacestring from=" " to="%20"/>
   5.844 -                        </filtermapper>
   5.845 -                        <globmapper from="*" to="lib/*"/>
   5.846 -                    </chainedmapper>
   5.847 -                </pathconvert>
   5.848 -                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
   5.849 -                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
   5.850 -                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
   5.851 -                    <manifest>
   5.852 -                        <attribute name="Class-Path" value="${jar.classpath}"/>
   5.853 -                        <customize/>
   5.854 -                    </manifest>
   5.855 -                </copylibs>
   5.856 -            </sequential>
   5.857 -        </macrodef>
   5.858 -    </target>
   5.859 -    <target name="-init-presetdef-jar">
   5.860 -        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
   5.861 -            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8">
   5.862 -                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
   5.863 -            </jar>
   5.864 -        </presetdef>
   5.865 -    </target>
   5.866 -    <target name="-init-ap-cmdline-properties">
   5.867 -        <property name="annotation.processing.enabled" value="true"/>
   5.868 -        <property name="annotation.processing.processors.list" value=""/>
   5.869 -        <property name="annotation.processing.processor.options" value=""/>
   5.870 -        <property name="annotation.processing.run.all.processors" value="true"/>
   5.871 -        <property name="javac.processorpath" value="${javac.classpath}"/>
   5.872 -        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
   5.873 -        <condition property="ap.supported.internal" value="true">
   5.874 -            <not>
   5.875 -                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
   5.876 -            </not>
   5.877 -        </condition>
   5.878 -    </target>
   5.879 -    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
   5.880 -        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
   5.881 -            <isfalse value="${annotation.processing.run.all.processors}"/>
   5.882 -        </condition>
   5.883 -        <condition else="" property="ap.proc.none.internal" value="-proc:none">
   5.884 -            <isfalse value="${annotation.processing.enabled}"/>
   5.885 -        </condition>
   5.886 -    </target>
   5.887 -    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
   5.888 -        <property name="ap.cmd.line.internal" value=""/>
   5.889 -    </target>
   5.890 -    <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"/>
   5.891 -    <!--
   5.892 -                ===================
   5.893 -                COMPILATION SECTION
   5.894 -                ===================
   5.895 -            -->
   5.896 -    <target name="-deps-jar-init" unless="built-jar.properties">
   5.897 -        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
   5.898 -        <delete file="${built-jar.properties}" quiet="true"/>
   5.899 -    </target>
   5.900 -    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
   5.901 -        <echo level="warn" message="Cycle detected: jdbc-loopback-driver was already built"/>
   5.902 -    </target>
   5.903 -    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
   5.904 -        <mkdir dir="${build.dir}"/>
   5.905 -        <touch file="${built-jar.properties}" verbose="false"/>
   5.906 -        <property file="${built-jar.properties}" prefix="already.built.jar."/>
   5.907 -        <antcall target="-warn-already-built-jar"/>
   5.908 -        <propertyfile file="${built-jar.properties}">
   5.909 -            <entry key="${basedir}" value=""/>
   5.910 -        </propertyfile>
   5.911 -    </target>
   5.912 -    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
   5.913 -    <target depends="init" name="-check-automatic-build">
   5.914 -        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
   5.915 -    </target>
   5.916 -    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
   5.917 -        <antcall target="clean"/>
   5.918 -    </target>
   5.919 -    <target depends="init,deps-jar" name="-pre-pre-compile">
   5.920 -        <mkdir dir="${build.classes.dir}"/>
   5.921 -    </target>
   5.922 -    <target name="-pre-compile">
   5.923 -        <!-- Empty placeholder for easier customization. -->
   5.924 -        <!-- You can override this target in the ../build.xml file. -->
   5.925 -    </target>
   5.926 -    <target if="do.depend.true" name="-compile-depend">
   5.927 -        <pathconvert property="build.generated.subdirs">
   5.928 -            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
   5.929 -                <include name="*"/>
   5.930 -            </dirset>
   5.931 -        </pathconvert>
   5.932 -        <j2seproject3:depend srcdir="${src.conf.dir}:${src.dir}:${build.generated.subdirs}"/>
   5.933 -    </target>
   5.934 -    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
   5.935 -        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
   5.936 -        <copy todir="${build.classes.dir}">
   5.937 -            <fileset dir="${src.conf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   5.938 -            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
   5.939 -        </copy>
   5.940 -    </target>
   5.941 -    <target if="has.persistence.xml" name="-copy-persistence-xml">
   5.942 -        <mkdir dir="${build.classes.dir}/META-INF"/>
   5.943 -        <copy todir="${build.classes.dir}/META-INF">
   5.944 -            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
   5.945 -        </copy>
   5.946 -    </target>
   5.947 -    <target name="-post-compile">
   5.948 -        <!-- Empty placeholder for easier customization. -->
   5.949 -        <!-- You can override this target in the ../build.xml file. -->
   5.950 -    </target>
   5.951 -    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
   5.952 -    <target name="-pre-compile-single">
   5.953 -        <!-- Empty placeholder for easier customization. -->
   5.954 -        <!-- You can override this target in the ../build.xml file. -->
   5.955 -    </target>
   5.956 -    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
   5.957 -        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
   5.958 -        <j2seproject3:force-recompile/>
   5.959 -        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.conf.dir}:${src.dir}"/>
   5.960 -    </target>
   5.961 -    <target name="-post-compile-single">
   5.962 -        <!-- Empty placeholder for easier customization. -->
   5.963 -        <!-- You can override this target in the ../build.xml file. -->
   5.964 -    </target>
   5.965 -    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
   5.966 -    <!--
   5.967 -                ====================
   5.968 -                JAR BUILDING SECTION
   5.969 -                ====================
   5.970 -            -->
   5.971 -    <target depends="init" name="-pre-pre-jar">
   5.972 -        <dirname file="${dist.jar}" property="dist.jar.dir"/>
   5.973 -        <mkdir dir="${dist.jar.dir}"/>
   5.974 -    </target>
   5.975 -    <target name="-pre-jar">
   5.976 -        <!-- Empty placeholder for easier customization. -->
   5.977 -        <!-- You can override this target in the ../build.xml file. -->
   5.978 -    </target>
   5.979 -    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
   5.980 -        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
   5.981 -        <touch file="${tmp.manifest.file}" verbose="false"/>
   5.982 -    </target>
   5.983 -    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
   5.984 -        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
   5.985 -        <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/>
   5.986 -    </target>
   5.987 -    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
   5.988 -        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
   5.989 -            <attribute name="Main-Class" value="${main.class}"/>
   5.990 -        </manifest>
   5.991 -    </target>
   5.992 -    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
   5.993 -        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
   5.994 -            <attribute name="Profile" value="${javac.profile}"/>
   5.995 -        </manifest>
   5.996 -    </target>
   5.997 -    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
   5.998 -        <basename file="${application.splash}" property="splashscreen.basename"/>
   5.999 -        <mkdir dir="${build.classes.dir}/META-INF"/>
  5.1000 -        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
  5.1001 -        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
  5.1002 -            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
  5.1003 -        </manifest>
  5.1004 -    </target>
  5.1005 -    <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">
  5.1006 -        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
  5.1007 -        <echo level="info">To run this application from the command line without Ant, try:</echo>
  5.1008 -        <property location="${dist.jar}" name="dist.jar.resolved"/>
  5.1009 -        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
  5.1010 -    </target>
  5.1011 -    <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">
  5.1012 -        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
  5.1013 -        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
  5.1014 -        <property location="${dist.jar}" name="dist.jar.resolved"/>
  5.1015 -        <pathconvert property="run.classpath.with.dist.jar">
  5.1016 -            <path path="${run.classpath}"/>
  5.1017 -            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
  5.1018 -        </pathconvert>
  5.1019 -        <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}">
  5.1020 -            <isset property="main.class.available"/>
  5.1021 -        </condition>
  5.1022 -        <condition else="debug" property="jar.usage.level" value="info">
  5.1023 -            <isset property="main.class.available"/>
  5.1024 -        </condition>
  5.1025 -        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
  5.1026 -    </target>
  5.1027 -    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
  5.1028 -        <delete>
  5.1029 -            <fileset file="${tmp.manifest.file}"/>
  5.1030 -        </delete>
  5.1031 -    </target>
  5.1032 -    <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"/>
  5.1033 -    <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"/>
  5.1034 -    <target name="-post-jar">
  5.1035 -        <!-- Empty placeholder for easier customization. -->
  5.1036 -        <!-- You can override this target in the ../build.xml file. -->
  5.1037 -    </target>
  5.1038 -    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
  5.1039 -    <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
  5.1040 -    <!--
  5.1041 -                =================
  5.1042 -                EXECUTION SECTION
  5.1043 -                =================
  5.1044 -            -->
  5.1045 -    <target depends="init,compile" description="Run a main class." name="run">
  5.1046 -        <j2seproject1:java>
  5.1047 -            <customize>
  5.1048 -                <arg line="${application.args}"/>
  5.1049 -            </customize>
  5.1050 -        </j2seproject1:java>
  5.1051 -    </target>
  5.1052 -    <target name="-do-not-recompile">
  5.1053 -        <property name="javac.includes.binary" value=""/>
  5.1054 -    </target>
  5.1055 -    <target depends="init,compile-single" name="run-single">
  5.1056 -        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  5.1057 -        <j2seproject1:java classname="${run.class}"/>
  5.1058 -    </target>
  5.1059 -    <target depends="init,compile-test-single" name="run-test-with-main">
  5.1060 -        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  5.1061 -        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
  5.1062 -    </target>
  5.1063 -    <!--
  5.1064 -                =================
  5.1065 -                DEBUGGING SECTION
  5.1066 -                =================
  5.1067 -            -->
  5.1068 -    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
  5.1069 -        <j2seproject1:nbjpdastart name="${debug.class}"/>
  5.1070 -    </target>
  5.1071 -    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
  5.1072 -        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
  5.1073 -    </target>
  5.1074 -    <target depends="init,compile" name="-debug-start-debuggee">
  5.1075 -        <j2seproject3:debug>
  5.1076 -            <customize>
  5.1077 -                <arg line="${application.args}"/>
  5.1078 -            </customize>
  5.1079 -        </j2seproject3:debug>
  5.1080 -    </target>
  5.1081 -    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
  5.1082 -    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
  5.1083 -        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
  5.1084 -    </target>
  5.1085 -    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
  5.1086 -    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
  5.1087 -        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
  5.1088 -        <j2seproject3:debug classname="${debug.class}"/>
  5.1089 -    </target>
  5.1090 -    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
  5.1091 -    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
  5.1092 -        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
  5.1093 -        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
  5.1094 -    </target>
  5.1095 -    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
  5.1096 -    <target depends="init" name="-pre-debug-fix">
  5.1097 -        <fail unless="fix.includes">Must set fix.includes</fail>
  5.1098 -        <property name="javac.includes" value="${fix.includes}.java"/>
  5.1099 -    </target>
  5.1100 -    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
  5.1101 -        <j2seproject1:nbjpdareload/>
  5.1102 -    </target>
  5.1103 -    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
  5.1104 -    <!--
  5.1105 -                =================
  5.1106 -                PROFILING SECTION
  5.1107 -                =================
  5.1108 -            -->
  5.1109 -    <!--
  5.1110 -                pre NB7.2 profiler integration
  5.1111 -            -->
  5.1112 -    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
  5.1113 -        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
  5.1114 -        <nbprofiledirect>
  5.1115 -            <classpath>
  5.1116 -                <path path="${run.classpath}"/>
  5.1117 -            </classpath>
  5.1118 -        </nbprofiledirect>
  5.1119 -        <profile/>
  5.1120 -    </target>
  5.1121 -    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
  5.1122 -        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
  5.1123 -        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
  5.1124 -        <nbprofiledirect>
  5.1125 -            <classpath>
  5.1126 -                <path path="${run.classpath}"/>
  5.1127 -            </classpath>
  5.1128 -        </nbprofiledirect>
  5.1129 -        <profile classname="${profile.class}"/>
  5.1130 -    </target>
  5.1131 -    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
  5.1132 -        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
  5.1133 -        <nbprofiledirect>
  5.1134 -            <classpath>
  5.1135 -                <path path="${run.classpath}"/>
  5.1136 -            </classpath>
  5.1137 -        </nbprofiledirect>
  5.1138 -        <profile classname="sun.applet.AppletViewer">
  5.1139 -            <customize>
  5.1140 -                <arg value="${applet.url}"/>
  5.1141 -            </customize>
  5.1142 -        </profile>
  5.1143 -    </target>
  5.1144 -    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
  5.1145 -        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
  5.1146 -        <nbprofiledirect>
  5.1147 -            <classpath>
  5.1148 -                <path path="${run.test.classpath}"/>
  5.1149 -            </classpath>
  5.1150 -        </nbprofiledirect>
  5.1151 -        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
  5.1152 -            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
  5.1153 -            <jvmarg value="${profiler.info.jvmargs.agent}"/>
  5.1154 -            <jvmarg line="${profiler.info.jvmargs}"/>
  5.1155 -            <test name="${profile.class}"/>
  5.1156 -            <classpath>
  5.1157 -                <path path="${run.test.classpath}"/>
  5.1158 -            </classpath>
  5.1159 -            <syspropertyset>
  5.1160 -                <propertyref prefix="test-sys-prop."/>
  5.1161 -                <mapper from="test-sys-prop.*" to="*" type="glob"/>
  5.1162 -            </syspropertyset>
  5.1163 -            <formatter type="brief" usefile="false"/>
  5.1164 -            <formatter type="xml"/>
  5.1165 -        </junit>
  5.1166 -    </target>
  5.1167 -    <!--
  5.1168 -                end of pre NB72 profiling section
  5.1169 -            -->
  5.1170 -    <target if="netbeans.home" name="-profile-check">
  5.1171 -        <condition property="profiler.configured">
  5.1172 -            <or>
  5.1173 -                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
  5.1174 -                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
  5.1175 -            </or>
  5.1176 -        </condition>
  5.1177 -    </target>
  5.1178 -    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
  5.1179 -        <startprofiler/>
  5.1180 -        <antcall target="run"/>
  5.1181 -    </target>
  5.1182 -    <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">
  5.1183 -        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  5.1184 -        <startprofiler/>
  5.1185 -        <antcall target="run-single"/>
  5.1186 -    </target>
  5.1187 -    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
  5.1188 -    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
  5.1189 -        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
  5.1190 -        <startprofiler/>
  5.1191 -        <antcall target="test-single"/>
  5.1192 -    </target>
  5.1193 -    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
  5.1194 -        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  5.1195 -        <startprofiler/>
  5.1196 -        <antcall target="run-test-with-main"/>
  5.1197 -    </target>
  5.1198 -    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
  5.1199 -        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
  5.1200 -        <startprofiler/>
  5.1201 -        <antcall target="run-applet"/>
  5.1202 -    </target>
  5.1203 -    <!--
  5.1204 -                ===============
  5.1205 -                JAVADOC SECTION
  5.1206 -                ===============
  5.1207 -            -->
  5.1208 -    <target depends="init" if="have.sources" name="-javadoc-build">
  5.1209 -        <mkdir dir="${dist.javadoc.dir}"/>
  5.1210 -        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
  5.1211 -            <and>
  5.1212 -                <isset property="endorsed.classpath.cmd.line.arg"/>
  5.1213 -                <not>
  5.1214 -                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
  5.1215 -                </not>
  5.1216 -            </and>
  5.1217 -        </condition>
  5.1218 -        <condition else="" property="bug5101868workaround" value="*.java">
  5.1219 -            <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
  5.1220 -        </condition>
  5.1221 -        <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}">
  5.1222 -            <classpath>
  5.1223 -                <path path="${javac.classpath}"/>
  5.1224 -            </classpath>
  5.1225 -            <fileset dir="${src.conf.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
  5.1226 -                <filename name="**/*.java"/>
  5.1227 -            </fileset>
  5.1228 -            <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
  5.1229 -                <filename name="**/*.java"/>
  5.1230 -            </fileset>
  5.1231 -            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
  5.1232 -                <include name="**/*.java"/>
  5.1233 -                <exclude name="*.java"/>
  5.1234 -            </fileset>
  5.1235 -            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
  5.1236 -        </javadoc>
  5.1237 -        <copy todir="${dist.javadoc.dir}">
  5.1238 -            <fileset dir="${src.conf.dir}" excludes="${excludes}" includes="${includes}">
  5.1239 -                <filename name="**/doc-files/**"/>
  5.1240 -            </fileset>
  5.1241 -            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
  5.1242 -                <filename name="**/doc-files/**"/>
  5.1243 -            </fileset>
  5.1244 -            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
  5.1245 -                <include name="**/doc-files/**"/>
  5.1246 -            </fileset>
  5.1247 -        </copy>
  5.1248 -    </target>
  5.1249 -    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
  5.1250 -        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
  5.1251 -    </target>
  5.1252 -    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
  5.1253 -    <!--
  5.1254 -                =========================
  5.1255 -                TEST COMPILATION SECTION
  5.1256 -                =========================
  5.1257 -            -->
  5.1258 -    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
  5.1259 -        <mkdir dir="${build.test.classes.dir}"/>
  5.1260 -    </target>
  5.1261 -    <target name="-pre-compile-test">
  5.1262 -        <!-- Empty placeholder for easier customization. -->
  5.1263 -        <!-- You can override this target in the ../build.xml file. -->
  5.1264 -    </target>
  5.1265 -    <target if="do.depend.true" name="-compile-test-depend">
  5.1266 -        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
  5.1267 -    </target>
  5.1268 -    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
  5.1269 -        <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}"/>
  5.1270 -        <copy todir="${build.test.classes.dir}">
  5.1271 -            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  5.1272 -        </copy>
  5.1273 -    </target>
  5.1274 -    <target name="-post-compile-test">
  5.1275 -        <!-- Empty placeholder for easier customization. -->
  5.1276 -        <!-- You can override this target in the ../build.xml file. -->
  5.1277 -    </target>
  5.1278 -    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
  5.1279 -    <target name="-pre-compile-test-single">
  5.1280 -        <!-- Empty placeholder for easier customization. -->
  5.1281 -        <!-- You can override this target in the ../build.xml file. -->
  5.1282 -    </target>
  5.1283 -    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
  5.1284 -        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
  5.1285 -        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
  5.1286 -        <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}"/>
  5.1287 -        <copy todir="${build.test.classes.dir}">
  5.1288 -            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  5.1289 -        </copy>
  5.1290 -    </target>
  5.1291 -    <target name="-post-compile-test-single">
  5.1292 -        <!-- Empty placeholder for easier customization. -->
  5.1293 -        <!-- You can override this target in the ../build.xml file. -->
  5.1294 -    </target>
  5.1295 -    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
  5.1296 -    <!--
  5.1297 -                =======================
  5.1298 -                TEST EXECUTION SECTION
  5.1299 -                =======================
  5.1300 -            -->
  5.1301 -    <target depends="init" if="have.tests" name="-pre-test-run">
  5.1302 -        <mkdir dir="${build.test.results.dir}"/>
  5.1303 -    </target>
  5.1304 -    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
  5.1305 -        <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
  5.1306 -    </target>
  5.1307 -    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
  5.1308 -        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
  5.1309 -    </target>
  5.1310 -    <target depends="init" if="have.tests" name="test-report"/>
  5.1311 -    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
  5.1312 -    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
  5.1313 -    <target depends="init" if="have.tests" name="-pre-test-run-single">
  5.1314 -        <mkdir dir="${build.test.results.dir}"/>
  5.1315 -    </target>
  5.1316 -    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
  5.1317 -        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
  5.1318 -        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
  5.1319 -    </target>
  5.1320 -    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
  5.1321 -        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
  5.1322 -    </target>
  5.1323 -    <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"/>
  5.1324 -    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
  5.1325 -        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
  5.1326 -        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
  5.1327 -        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
  5.1328 -    </target>
  5.1329 -    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
  5.1330 -        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
  5.1331 -    </target>
  5.1332 -    <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"/>
  5.1333 -    <!--
  5.1334 -                =======================
  5.1335 -                TEST DEBUGGING SECTION
  5.1336 -                =======================
  5.1337 -            -->
  5.1338 -    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
  5.1339 -        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
  5.1340 -        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
  5.1341 -    </target>
  5.1342 -    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
  5.1343 -        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
  5.1344 -        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
  5.1345 -        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
  5.1346 -    </target>
  5.1347 -    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
  5.1348 -        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
  5.1349 -    </target>
  5.1350 -    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
  5.1351 -    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
  5.1352 -    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
  5.1353 -        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
  5.1354 -    </target>
  5.1355 -    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
  5.1356 -    <!--
  5.1357 -                =========================
  5.1358 -                APPLET EXECUTION SECTION
  5.1359 -                =========================
  5.1360 -            -->
  5.1361 -    <target depends="init,compile-single" name="run-applet">
  5.1362 -        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
  5.1363 -        <j2seproject1:java classname="sun.applet.AppletViewer">
  5.1364 -            <customize>
  5.1365 -                <arg value="${applet.url}"/>
  5.1366 -            </customize>
  5.1367 -        </j2seproject1:java>
  5.1368 -    </target>
  5.1369 -    <!--
  5.1370 -                =========================
  5.1371 -                APPLET DEBUGGING  SECTION
  5.1372 -                =========================
  5.1373 -            -->
  5.1374 -    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
  5.1375 -        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
  5.1376 -        <j2seproject3:debug classname="sun.applet.AppletViewer">
  5.1377 -            <customize>
  5.1378 -                <arg value="${applet.url}"/>
  5.1379 -            </customize>
  5.1380 -        </j2seproject3:debug>
  5.1381 -    </target>
  5.1382 -    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
  5.1383 -    <!--
  5.1384 -                ===============
  5.1385 -                CLEANUP SECTION
  5.1386 -                ===============
  5.1387 -            -->
  5.1388 -    <target name="-deps-clean-init" unless="built-clean.properties">
  5.1389 -        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
  5.1390 -        <delete file="${built-clean.properties}" quiet="true"/>
  5.1391 -    </target>
  5.1392 -    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
  5.1393 -        <echo level="warn" message="Cycle detected: jdbc-loopback-driver was already built"/>
  5.1394 -    </target>
  5.1395 -    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
  5.1396 -        <mkdir dir="${build.dir}"/>
  5.1397 -        <touch file="${built-clean.properties}" verbose="false"/>
  5.1398 -        <property file="${built-clean.properties}" prefix="already.built.clean."/>
  5.1399 -        <antcall target="-warn-already-built-clean"/>
  5.1400 -        <propertyfile file="${built-clean.properties}">
  5.1401 -            <entry key="${basedir}" value=""/>
  5.1402 -        </propertyfile>
  5.1403 -    </target>
  5.1404 -    <target depends="init" name="-do-clean">
  5.1405 -        <delete dir="${build.dir}"/>
  5.1406 -        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
  5.1407 -    </target>
  5.1408 -    <target name="-post-clean">
  5.1409 -        <!-- Empty placeholder for easier customization. -->
  5.1410 -        <!-- You can override this target in the ../build.xml file. -->
  5.1411 -    </target>
  5.1412 -    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
  5.1413 -    <target name="-check-call-dep">
  5.1414 -        <property file="${call.built.properties}" prefix="already.built."/>
  5.1415 -        <condition property="should.call.dep">
  5.1416 -            <and>
  5.1417 -                <not>
  5.1418 -                    <isset property="already.built.${call.subproject}"/>
  5.1419 -                </not>
  5.1420 -                <available file="${call.script}"/>
  5.1421 -            </and>
  5.1422 -        </condition>
  5.1423 -    </target>
  5.1424 -    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
  5.1425 -        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
  5.1426 -            <propertyset>
  5.1427 -                <propertyref prefix="transfer."/>
  5.1428 -                <mapper from="transfer.*" to="*" type="glob"/>
  5.1429 -            </propertyset>
  5.1430 -        </ant>
  5.1431 -    </target>
  5.1432 -</project>
     6.1 --- a/java/jdbc-loopback-driver/nbproject/genfiles.properties	Tue Feb 26 18:19:49 2019 +0100
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,8 +0,0 @@
     6.4 -build.xml.data.CRC32=09144cff
     6.5 -build.xml.script.CRC32=58587e87
     6.6 -build.xml.stylesheet.CRC32=8064a381@1.74.1.48
     6.7 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
     6.8 -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
     6.9 -nbproject/build-impl.xml.data.CRC32=09144cff
    6.10 -nbproject/build-impl.xml.script.CRC32=0eb33566
    6.11 -nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
     7.1 --- a/java/jdbc-loopback-driver/nbproject/project.properties	Tue Feb 26 18:19:49 2019 +0100
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,74 +0,0 @@
     7.4 -annotation.processing.enabled=true
     7.5 -annotation.processing.enabled.in.editor=false
     7.6 -annotation.processing.processors.list=
     7.7 -annotation.processing.run.all.processors=true
     7.8 -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
     7.9 -application.title=jdbc-loopback-driver
    7.10 -application.vendor=fiki
    7.11 -build.classes.dir=${build.dir}/classes
    7.12 -build.classes.excludes=**/*.java,**/*.form
    7.13 -# This directory is removed when the project is cleaned:
    7.14 -build.dir=build
    7.15 -build.generated.dir=${build.dir}/generated
    7.16 -build.generated.sources.dir=${build.dir}/generated-sources
    7.17 -# Only compile against the classpath explicitly listed here:
    7.18 -build.sysclasspath=ignore
    7.19 -build.test.classes.dir=${build.dir}/test/classes
    7.20 -build.test.results.dir=${build.dir}/test/results
    7.21 -# Uncomment to specify the preferred debugger connection transport:
    7.22 -#debug.transport=dt_socket
    7.23 -debug.classpath=\
    7.24 -    ${run.classpath}
    7.25 -debug.test.classpath=\
    7.26 -    ${run.test.classpath}
    7.27 -# Files in build.classes.dir which should be excluded from distribution jar
    7.28 -dist.archive.excludes=
    7.29 -# This directory is removed when the project is cleaned:
    7.30 -dist.dir=dist
    7.31 -dist.jar=${dist.dir}/jdbc-loopback-driver.jar
    7.32 -dist.javadoc.dir=${dist.dir}/javadoc
    7.33 -endorsed.classpath=
    7.34 -excludes=
    7.35 -includes=**
    7.36 -jar.compress=false
    7.37 -javac.classpath=
    7.38 -# Space-separated list of extra javac options
    7.39 -javac.compilerargs=
    7.40 -javac.deprecation=false
    7.41 -javac.processorpath=\
    7.42 -    ${javac.classpath}
    7.43 -javac.source=1.7
    7.44 -javac.target=1.7
    7.45 -javac.test.classpath=\
    7.46 -    ${javac.classpath}:\
    7.47 -    ${build.classes.dir}
    7.48 -javac.test.processorpath=\
    7.49 -    ${javac.test.classpath}
    7.50 -javadoc.additionalparam=
    7.51 -javadoc.author=false
    7.52 -javadoc.encoding=${source.encoding}
    7.53 -javadoc.noindex=false
    7.54 -javadoc.nonavbar=false
    7.55 -javadoc.notree=false
    7.56 -javadoc.private=false
    7.57 -javadoc.splitindex=true
    7.58 -javadoc.use=true
    7.59 -javadoc.version=false
    7.60 -javadoc.windowtitle=
    7.61 -meta.inf.dir=${src.dir}/META-INF
    7.62 -mkdist.disabled=true
    7.63 -platform.active=default_platform
    7.64 -run.classpath=\
    7.65 -    ${javac.classpath}:\
    7.66 -    ${build.classes.dir}
    7.67 -# Space-separated list of JVM arguments used when running the project.
    7.68 -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
    7.69 -# To set system properties for unit tests define test-sys-prop.name=value:
    7.70 -run.jvmargs=
    7.71 -run.test.classpath=\
    7.72 -    ${javac.test.classpath}:\
    7.73 -    ${build.test.classes.dir}
    7.74 -source.encoding=UTF-8
    7.75 -src.conf.dir=conf
    7.76 -src.dir=src
    7.77 -test.src.dir=test
     8.1 --- a/java/jdbc-loopback-driver/nbproject/project.xml	Tue Feb 26 18:19:49 2019 +0100
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,16 +0,0 @@
     8.4 -<?xml version="1.0" encoding="UTF-8"?>
     8.5 -<project xmlns="http://www.netbeans.org/ns/project/1">
     8.6 -    <type>org.netbeans.modules.java.j2seproject</type>
     8.7 -    <configuration>
     8.8 -        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
     8.9 -            <name>jdbc-loopback-driver</name>
    8.10 -            <source-roots>
    8.11 -                <root id="src.conf.dir" name="Config"/>
    8.12 -                <root id="src.dir"/>
    8.13 -            </source-roots>
    8.14 -            <test-roots>
    8.15 -                <root id="test.src.dir"/>
    8.16 -            </test-roots>
    8.17 -        </data>
    8.18 -    </configuration>
    8.19 -</project>
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/java/jdbc-loopback-driver/pom.xml	Mon Mar 04 17:06:42 2019 +0100
     9.3 @@ -0,0 +1,13 @@
     9.4 +<?xml version="1.0" encoding="UTF-8"?>
     9.5 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     9.6 +	<modelVersion>4.0.0</modelVersion>
     9.7 +	<groupId>info.globalcode.sql.dk</groupId>
     9.8 +	<artifactId>jdbc-loopback-driver</artifactId>
     9.9 +	<version>0.10-SNAPSHOT</version>
    9.10 +	<packaging>jar</packaging>
    9.11 +	<properties>
    9.12 +		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    9.13 +		<maven.compiler.source>1.8</maven.compiler.source>
    9.14 +		<maven.compiler.target>1.8</maven.compiler.target>
    9.15 +	</properties>
    9.16 +</project>
    10.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractConnection.java	Tue Feb 26 18:19:49 2019 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,311 +0,0 @@
    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.Array;
   10.24 -import java.sql.Blob;
   10.25 -import java.sql.CallableStatement;
   10.26 -import java.sql.Clob;
   10.27 -import java.sql.DatabaseMetaData;
   10.28 -import java.sql.NClob;
   10.29 -import java.sql.SQLClientInfoException;
   10.30 -import java.sql.SQLException;
   10.31 -import java.sql.SQLWarning;
   10.32 -import java.sql.SQLXML;
   10.33 -import java.sql.Savepoint;
   10.34 -import java.sql.Struct;
   10.35 -import java.util.Map;
   10.36 -import java.util.Properties;
   10.37 -import java.util.concurrent.Executor;
   10.38 -
   10.39 -/**
   10.40 - *
   10.41 - * @author Ing. František Kučera (frantovo.cz)
   10.42 - */
   10.43 -public abstract class AbstractConnection implements java.sql.Connection {
   10.44 -
   10.45 -	@Override
   10.46 -	public java.sql.Statement createStatement() throws SQLException {
   10.47 -		throw new SQLException("Not supported yet.");
   10.48 -	}
   10.49 -
   10.50 -	@Override
   10.51 -	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
   10.52 -		throw new SQLException("Not supported yet.");
   10.53 -	}
   10.54 -
   10.55 -	@Override
   10.56 -	public CallableStatement prepareCall(String sql) throws SQLException {
   10.57 -		throw new SQLException("Not supported yet.");
   10.58 -	}
   10.59 -
   10.60 -	@Override
   10.61 -	public String nativeSQL(String sql) throws SQLException {
   10.62 -		throw new SQLException("Not supported yet.");
   10.63 -	}
   10.64 -
   10.65 -	@Override
   10.66 -	public void setAutoCommit(boolean autoCommit) throws SQLException {
   10.67 -		throw new SQLException("Not supported yet.");
   10.68 -	}
   10.69 -
   10.70 -	@Override
   10.71 -	public boolean getAutoCommit() throws SQLException {
   10.72 -		throw new SQLException("Not supported yet.");
   10.73 -	}
   10.74 -
   10.75 -	@Override
   10.76 -	public void commit() throws SQLException {
   10.77 -		throw new SQLException("Not supported yet.");
   10.78 -	}
   10.79 -
   10.80 -	@Override
   10.81 -	public void rollback() throws SQLException {
   10.82 -		throw new SQLException("Not supported yet.");
   10.83 -	}
   10.84 -
   10.85 -	@Override
   10.86 -	public void close() throws SQLException {
   10.87 -		throw new SQLException("Not supported yet.");
   10.88 -	}
   10.89 -
   10.90 -	@Override
   10.91 -	public boolean isClosed() throws SQLException {
   10.92 -		throw new SQLException("Not supported yet.");
   10.93 -	}
   10.94 -
   10.95 -	@Override
   10.96 -	public DatabaseMetaData getMetaData() throws SQLException {
   10.97 -		throw new SQLException("Not supported yet.");
   10.98 -	}
   10.99 -
  10.100 -	@Override
  10.101 -	public void setReadOnly(boolean readOnly) throws SQLException {
  10.102 -		throw new SQLException("Not supported yet.");
  10.103 -	}
  10.104 -
  10.105 -	@Override
  10.106 -	public boolean isReadOnly() throws SQLException {
  10.107 -		throw new SQLException("Not supported yet.");
  10.108 -	}
  10.109 -
  10.110 -	@Override
  10.111 -	public void setCatalog(String catalog) throws SQLException {
  10.112 -		throw new SQLException("Not supported yet.");
  10.113 -	}
  10.114 -
  10.115 -	@Override
  10.116 -	public String getCatalog() throws SQLException {
  10.117 -		throw new SQLException("Not supported yet.");
  10.118 -	}
  10.119 -
  10.120 -	@Override
  10.121 -	public void setTransactionIsolation(int level) throws SQLException {
  10.122 -		throw new SQLException("Not supported yet.");
  10.123 -	}
  10.124 -
  10.125 -	@Override
  10.126 -	public int getTransactionIsolation() throws SQLException {
  10.127 -		throw new SQLException("Not supported yet.");
  10.128 -	}
  10.129 -
  10.130 -	@Override
  10.131 -	public SQLWarning getWarnings() throws SQLException {
  10.132 -		throw new SQLException("Not supported yet.");
  10.133 -	}
  10.134 -
  10.135 -	@Override
  10.136 -	public void clearWarnings() throws SQLException {
  10.137 -		throw new SQLException("Not supported yet.");
  10.138 -	}
  10.139 -
  10.140 -	@Override
  10.141 -	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
  10.142 -		throw new SQLException("Not supported yet.");
  10.143 -	}
  10.144 -
  10.145 -	@Override
  10.146 -	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
  10.147 -		throw new SQLException("Not supported yet.");
  10.148 -	}
  10.149 -
  10.150 -	@Override
  10.151 -	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
  10.152 -		throw new SQLException("Not supported yet.");
  10.153 -	}
  10.154 -
  10.155 -	@Override
  10.156 -	public Map<String, Class<?>> getTypeMap() throws SQLException {
  10.157 -		throw new SQLException("Not supported yet.");
  10.158 -	}
  10.159 -
  10.160 -	@Override
  10.161 -	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
  10.162 -		throw new SQLException("Not supported yet.");
  10.163 -	}
  10.164 -
  10.165 -	@Override
  10.166 -	public void setHoldability(int holdability) throws SQLException {
  10.167 -		throw new SQLException("Not supported yet.");
  10.168 -	}
  10.169 -
  10.170 -	@Override
  10.171 -	public int getHoldability() throws SQLException {
  10.172 -		throw new SQLException("Not supported yet.");
  10.173 -	}
  10.174 -
  10.175 -	@Override
  10.176 -	public Savepoint setSavepoint() throws SQLException {
  10.177 -		throw new SQLException("Not supported yet.");
  10.178 -	}
  10.179 -
  10.180 -	@Override
  10.181 -	public Savepoint setSavepoint(String name) throws SQLException {
  10.182 -		throw new SQLException("Not supported yet.");
  10.183 -	}
  10.184 -
  10.185 -	@Override
  10.186 -	public void rollback(Savepoint savepoint) throws SQLException {
  10.187 -		throw new SQLException("Not supported yet.");
  10.188 -	}
  10.189 -
  10.190 -	@Override
  10.191 -	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
  10.192 -		throw new SQLException("Not supported yet.");
  10.193 -	}
  10.194 -
  10.195 -	@Override
  10.196 -	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  10.197 -		throw new SQLException("Not supported yet.");
  10.198 -	}
  10.199 -
  10.200 -	@Override
  10.201 -	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  10.202 -		throw new SQLException("Not supported yet.");
  10.203 -	}
  10.204 -
  10.205 -	@Override
  10.206 -	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  10.207 -		throw new SQLException("Not supported yet.");
  10.208 -	}
  10.209 -
  10.210 -	@Override
  10.211 -	public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
  10.212 -		throw new SQLException("Not supported yet.");
  10.213 -	}
  10.214 -
  10.215 -	@Override
  10.216 -	public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
  10.217 -		throw new SQLException("Not supported yet.");
  10.218 -	}
  10.219 -
  10.220 -	@Override
  10.221 -	public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
  10.222 -		throw new SQLException("Not supported yet.");
  10.223 -	}
  10.224 -
  10.225 -	@Override
  10.226 -	public Clob createClob() throws SQLException {
  10.227 -		throw new SQLException("Not supported yet.");
  10.228 -	}
  10.229 -
  10.230 -	@Override
  10.231 -	public Blob createBlob() throws SQLException {
  10.232 -		throw new SQLException("Not supported yet.");
  10.233 -	}
  10.234 -
  10.235 -	@Override
  10.236 -	public NClob createNClob() throws SQLException {
  10.237 -		throw new SQLException("Not supported yet.");
  10.238 -	}
  10.239 -
  10.240 -	@Override
  10.241 -	public SQLXML createSQLXML() throws SQLException {
  10.242 -		throw new SQLException("Not supported yet.");
  10.243 -	}
  10.244 -
  10.245 -	@Override
  10.246 -	public boolean isValid(int timeout) throws SQLException {
  10.247 -		throw new SQLException("Not supported yet.");
  10.248 -	}
  10.249 -
  10.250 -	@Override
  10.251 -	public void setClientInfo(String name, String value) throws SQLClientInfoException {
  10.252 -		throw new SQLClientInfoException("Not supported yet.", null);
  10.253 -	}
  10.254 -
  10.255 -	@Override
  10.256 -	public void setClientInfo(Properties properties) throws SQLClientInfoException {
  10.257 -		throw new SQLClientInfoException("Not supported yet.", null);
  10.258 -	}
  10.259 -
  10.260 -	@Override
  10.261 -	public String getClientInfo(String name) throws SQLException {
  10.262 -		throw new SQLException("Not supported yet.");
  10.263 -	}
  10.264 -
  10.265 -	@Override
  10.266 -	public Properties getClientInfo() throws SQLException {
  10.267 -		throw new SQLException("Not supported yet.");
  10.268 -	}
  10.269 -
  10.270 -	@Override
  10.271 -	public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
  10.272 -		throw new SQLException("Not supported yet.");
  10.273 -	}
  10.274 -
  10.275 -	@Override
  10.276 -	public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
  10.277 -		throw new SQLException("Not supported yet.");
  10.278 -	}
  10.279 -
  10.280 -	@Override
  10.281 -	public void setSchema(String schema) throws SQLException {
  10.282 -		throw new SQLException("Not supported yet.");
  10.283 -	}
  10.284 -
  10.285 -	@Override
  10.286 -	public String getSchema() throws SQLException {
  10.287 -		throw new SQLException("Not supported yet.");
  10.288 -	}
  10.289 -
  10.290 -	@Override
  10.291 -	public void abort(Executor executor) throws SQLException {
  10.292 -		throw new SQLException("Not supported yet.");
  10.293 -	}
  10.294 -
  10.295 -	@Override
  10.296 -	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
  10.297 -		throw new SQLException("Not supported yet.");
  10.298 -	}
  10.299 -
  10.300 -	@Override
  10.301 -	public int getNetworkTimeout() throws SQLException {
  10.302 -		throw new SQLException("Not supported yet.");
  10.303 -	}
  10.304 -
  10.305 -	@Override
  10.306 -	public <T> T unwrap(Class<T> iface) throws SQLException {
  10.307 -		throw new SQLException("Not supported yet.");
  10.308 -	}
  10.309 -
  10.310 -	@Override
  10.311 -	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  10.312 -		throw new SQLException("Not supported yet.");
  10.313 -	}
  10.314 -}
    11.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractPreparedStatement.java	Tue Feb 26 18:19:49 2019 +0100
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,322 +0,0 @@
    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.io.InputStream;
   11.24 -import java.io.Reader;
   11.25 -import java.math.BigDecimal;
   11.26 -import java.net.URL;
   11.27 -import java.sql.Array;
   11.28 -import java.sql.Blob;
   11.29 -import java.sql.Clob;
   11.30 -import java.sql.Date;
   11.31 -import java.sql.NClob;
   11.32 -import java.sql.ParameterMetaData;
   11.33 -import java.sql.Ref;
   11.34 -import java.sql.ResultSet;
   11.35 -import java.sql.ResultSetMetaData;
   11.36 -import java.sql.RowId;
   11.37 -import java.sql.SQLException;
   11.38 -import java.sql.SQLXML;
   11.39 -import java.sql.Time;
   11.40 -import java.sql.Timestamp;
   11.41 -import java.util.Calendar;
   11.42 -
   11.43 -/**
   11.44 - *
   11.45 - * @author Ing. František Kučera (frantovo.cz)
   11.46 - */
   11.47 -public abstract class AbstractPreparedStatement extends AbstractStatement implements java.sql.PreparedStatement {
   11.48 -
   11.49 -	@Override
   11.50 -	public ResultSet executeQuery() throws SQLException {
   11.51 -		throw new SQLException("Not supported yet.");
   11.52 -	}
   11.53 -
   11.54 -	@Override
   11.55 -	public int executeUpdate() throws SQLException {
   11.56 -		throw new SQLException("Not supported yet.");
   11.57 -	}
   11.58 -
   11.59 -	@Override
   11.60 -	public void setNull(int parameterIndex, int sqlType) throws SQLException {
   11.61 -		throw new SQLException("Not supported yet.");
   11.62 -	}
   11.63 -
   11.64 -	@Override
   11.65 -	public void setBoolean(int parameterIndex, boolean x) throws SQLException {
   11.66 -		throw new SQLException("Not supported yet.");
   11.67 -	}
   11.68 -
   11.69 -	@Override
   11.70 -	public void setByte(int parameterIndex, byte x) throws SQLException {
   11.71 -		throw new SQLException("Not supported yet.");
   11.72 -	}
   11.73 -
   11.74 -	@Override
   11.75 -	public void setShort(int parameterIndex, short x) throws SQLException {
   11.76 -		throw new SQLException("Not supported yet.");
   11.77 -	}
   11.78 -
   11.79 -	@Override
   11.80 -	public void setInt(int parameterIndex, int x) throws SQLException {
   11.81 -		throw new SQLException("Not supported yet.");
   11.82 -	}
   11.83 -
   11.84 -	@Override
   11.85 -	public void setLong(int parameterIndex, long x) throws SQLException {
   11.86 -		throw new SQLException("Not supported yet.");
   11.87 -	}
   11.88 -
   11.89 -	@Override
   11.90 -	public void setFloat(int parameterIndex, float x) throws SQLException {
   11.91 -		throw new SQLException("Not supported yet.");
   11.92 -	}
   11.93 -
   11.94 -	@Override
   11.95 -	public void setDouble(int parameterIndex, double x) throws SQLException {
   11.96 -		throw new SQLException("Not supported yet.");
   11.97 -	}
   11.98 -
   11.99 -	@Override
  11.100 -	public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
  11.101 -		throw new SQLException("Not supported yet.");
  11.102 -	}
  11.103 -
  11.104 -	@Override
  11.105 -	public void setString(int parameterIndex, String x) throws SQLException {
  11.106 -		throw new SQLException("Not supported yet.");
  11.107 -	}
  11.108 -
  11.109 -	@Override
  11.110 -	public void setBytes(int parameterIndex, byte[] x) throws SQLException {
  11.111 -		throw new SQLException("Not supported yet.");
  11.112 -	}
  11.113 -
  11.114 -	@Override
  11.115 -	public void setDate(int parameterIndex, Date x) throws SQLException {
  11.116 -		throw new SQLException("Not supported yet.");
  11.117 -	}
  11.118 -
  11.119 -	@Override
  11.120 -	public void setTime(int parameterIndex, Time x) throws SQLException {
  11.121 -		throw new SQLException("Not supported yet.");
  11.122 -	}
  11.123 -
  11.124 -	@Override
  11.125 -	public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
  11.126 -		throw new SQLException("Not supported yet.");
  11.127 -	}
  11.128 -
  11.129 -	@Override
  11.130 -	public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
  11.131 -		throw new SQLException("Not supported yet.");
  11.132 -	}
  11.133 -
  11.134 -	@Override
  11.135 -	@Deprecated
  11.136 -	public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
  11.137 -		throw new SQLException("Not supported yet.");
  11.138 -	}
  11.139 -
  11.140 -	@Override
  11.141 -	public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
  11.142 -		throw new SQLException("Not supported yet.");
  11.143 -	}
  11.144 -
  11.145 -	@Override
  11.146 -	public void clearParameters() throws SQLException {
  11.147 -		throw new SQLException("Not supported yet.");
  11.148 -	}
  11.149 -
  11.150 -	@Override
  11.151 -	public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
  11.152 -		throw new SQLException("Not supported yet.");
  11.153 -	}
  11.154 -
  11.155 -	@Override
  11.156 -	public void setObject(int parameterIndex, Object x) throws SQLException {
  11.157 -		throw new SQLException("Not supported yet.");
  11.158 -	}
  11.159 -
  11.160 -	@Override
  11.161 -	public boolean execute() throws SQLException {
  11.162 -		throw new SQLException("Not supported yet.");
  11.163 -	}
  11.164 -
  11.165 -	@Override
  11.166 -	public void addBatch() throws SQLException {
  11.167 -		throw new SQLException("Not supported yet.");
  11.168 -	}
  11.169 -
  11.170 -	@Override
  11.171 -	public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
  11.172 -		throw new SQLException("Not supported yet.");
  11.173 -	}
  11.174 -
  11.175 -	@Override
  11.176 -	public void setRef(int parameterIndex, Ref x) throws SQLException {
  11.177 -		throw new SQLException("Not supported yet.");
  11.178 -	}
  11.179 -
  11.180 -	@Override
  11.181 -	public void setBlob(int parameterIndex, Blob x) throws SQLException {
  11.182 -		throw new SQLException("Not supported yet.");
  11.183 -	}
  11.184 -
  11.185 -	@Override
  11.186 -	public void setClob(int parameterIndex, Clob x) throws SQLException {
  11.187 -		throw new SQLException("Not supported yet.");
  11.188 -	}
  11.189 -
  11.190 -	@Override
  11.191 -	public void setArray(int parameterIndex, Array x) throws SQLException {
  11.192 -		throw new SQLException("Not supported yet.");
  11.193 -	}
  11.194 -
  11.195 -	@Override
  11.196 -	public ResultSetMetaData getMetaData() throws SQLException {
  11.197 -		throw new SQLException("Not supported yet.");
  11.198 -	}
  11.199 -
  11.200 -	@Override
  11.201 -	public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
  11.202 -		throw new SQLException("Not supported yet.");
  11.203 -	}
  11.204 -
  11.205 -	@Override
  11.206 -	public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
  11.207 -		throw new SQLException("Not supported yet.");
  11.208 -	}
  11.209 -
  11.210 -	@Override
  11.211 -	public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
  11.212 -		throw new SQLException("Not supported yet.");
  11.213 -	}
  11.214 -
  11.215 -	@Override
  11.216 -	public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
  11.217 -		throw new SQLException("Not supported yet.");
  11.218 -	}
  11.219 -
  11.220 -	@Override
  11.221 -	public void setURL(int parameterIndex, URL x) throws SQLException {
  11.222 -		throw new SQLException("Not supported yet.");
  11.223 -	}
  11.224 -
  11.225 -	@Override
  11.226 -	public ParameterMetaData getParameterMetaData() throws SQLException {
  11.227 -		throw new SQLException("Not supported yet.");
  11.228 -	}
  11.229 -
  11.230 -	@Override
  11.231 -	public void setRowId(int parameterIndex, RowId x) throws SQLException {
  11.232 -		throw new SQLException("Not supported yet.");
  11.233 -	}
  11.234 -
  11.235 -	@Override
  11.236 -	public void setNString(int parameterIndex, String value) throws SQLException {
  11.237 -		throw new SQLException("Not supported yet.");
  11.238 -	}
  11.239 -
  11.240 -	@Override
  11.241 -	public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
  11.242 -		throw new SQLException("Not supported yet.");
  11.243 -	}
  11.244 -
  11.245 -	@Override
  11.246 -	public void setNClob(int parameterIndex, NClob value) throws SQLException {
  11.247 -		throw new SQLException("Not supported yet.");
  11.248 -	}
  11.249 -
  11.250 -	@Override
  11.251 -	public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
  11.252 -		throw new SQLException("Not supported yet.");
  11.253 -	}
  11.254 -
  11.255 -	@Override
  11.256 -	public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
  11.257 -		throw new SQLException("Not supported yet.");
  11.258 -	}
  11.259 -
  11.260 -	@Override
  11.261 -	public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
  11.262 -		throw new SQLException("Not supported yet.");
  11.263 -	}
  11.264 -
  11.265 -	@Override
  11.266 -	public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
  11.267 -		throw new SQLException("Not supported yet.");
  11.268 -	}
  11.269 -
  11.270 -	@Override
  11.271 -	public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
  11.272 -		throw new SQLException("Not supported yet.");
  11.273 -	}
  11.274 -
  11.275 -	@Override
  11.276 -	public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
  11.277 -		throw new SQLException("Not supported yet.");
  11.278 -	}
  11.279 -
  11.280 -	@Override
  11.281 -	public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
  11.282 -		throw new SQLException("Not supported yet.");
  11.283 -	}
  11.284 -
  11.285 -	@Override
  11.286 -	public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
  11.287 -		throw new SQLException("Not supported yet.");
  11.288 -	}
  11.289 -
  11.290 -	@Override
  11.291 -	public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
  11.292 -		throw new SQLException("Not supported yet.");
  11.293 -	}
  11.294 -
  11.295 -	@Override
  11.296 -	public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
  11.297 -		throw new SQLException("Not supported yet.");
  11.298 -	}
  11.299 -
  11.300 -	@Override
  11.301 -	public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
  11.302 -		throw new SQLException("Not supported yet.");
  11.303 -	}
  11.304 -
  11.305 -	@Override
  11.306 -	public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
  11.307 -		throw new SQLException("Not supported yet.");
  11.308 -	}
  11.309 -
  11.310 -	@Override
  11.311 -	public void setClob(int parameterIndex, Reader reader) throws SQLException {
  11.312 -		throw new SQLException("Not supported yet.");
  11.313 -	}
  11.314 -
  11.315 -	@Override
  11.316 -	public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
  11.317 -		throw new SQLException("Not supported yet.");
  11.318 -	}
  11.319 -
  11.320 -	@Override
  11.321 -	public void setNClob(int parameterIndex, Reader reader) throws SQLException {
  11.322 -		throw new SQLException("Not supported yet.");
  11.323 -	}
  11.324 -
  11.325 -}
    12.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSet.java	Tue Feb 26 18:19:49 2019 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,1000 +0,0 @@
    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.io.InputStream;
   12.24 -import java.io.Reader;
   12.25 -import java.math.BigDecimal;
   12.26 -import java.net.URL;
   12.27 -import java.sql.Array;
   12.28 -import java.sql.Blob;
   12.29 -import java.sql.Clob;
   12.30 -import java.sql.Date;
   12.31 -import java.sql.NClob;
   12.32 -import java.sql.Ref;
   12.33 -import java.sql.RowId;
   12.34 -import java.sql.SQLException;
   12.35 -import java.sql.SQLWarning;
   12.36 -import java.sql.SQLXML;
   12.37 -import java.sql.Statement;
   12.38 -import java.sql.Time;
   12.39 -import java.sql.Timestamp;
   12.40 -import java.util.Calendar;
   12.41 -import java.util.Map;
   12.42 -
   12.43 -/**
   12.44 - *
   12.45 - * @author Ing. František Kučera (frantovo.cz)
   12.46 - */
   12.47 -public abstract class AbstractResultSet implements java.sql.ResultSet {
   12.48 -
   12.49 -	@Override
   12.50 -	public boolean next() throws SQLException {
   12.51 -		throw new SQLException("Not supported yet.");
   12.52 -	}
   12.53 -
   12.54 -	@Override
   12.55 -	public void close() throws SQLException {
   12.56 -		throw new SQLException("Not supported yet.");
   12.57 -	}
   12.58 -
   12.59 -	@Override
   12.60 -	public boolean wasNull() throws SQLException {
   12.61 -		throw new SQLException("Not supported yet.");
   12.62 -	}
   12.63 -
   12.64 -	@Override
   12.65 -	public String getString(int columnIndex) throws SQLException {
   12.66 -		throw new SQLException("Not supported yet.");
   12.67 -	}
   12.68 -
   12.69 -	@Override
   12.70 -	public boolean getBoolean(int columnIndex) throws SQLException {
   12.71 -		throw new SQLException("Not supported yet.");
   12.72 -	}
   12.73 -
   12.74 -	@Override
   12.75 -	public byte getByte(int columnIndex) throws SQLException {
   12.76 -		throw new SQLException("Not supported yet.");
   12.77 -	}
   12.78 -
   12.79 -	@Override
   12.80 -	public short getShort(int columnIndex) throws SQLException {
   12.81 -		throw new SQLException("Not supported yet.");
   12.82 -	}
   12.83 -
   12.84 -	@Override
   12.85 -	public int getInt(int columnIndex) throws SQLException {
   12.86 -		throw new SQLException("Not supported yet.");
   12.87 -	}
   12.88 -
   12.89 -	@Override
   12.90 -	public long getLong(int columnIndex) throws SQLException {
   12.91 -		throw new SQLException("Not supported yet.");
   12.92 -	}
   12.93 -
   12.94 -	@Override
   12.95 -	public float getFloat(int columnIndex) throws SQLException {
   12.96 -		throw new SQLException("Not supported yet.");
   12.97 -	}
   12.98 -
   12.99 -	@Override
  12.100 -	public double getDouble(int columnIndex) throws SQLException {
  12.101 -		throw new SQLException("Not supported yet.");
  12.102 -	}
  12.103 -
  12.104 -	@Override
  12.105 -	public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
  12.106 -		throw new SQLException("Not supported yet.");
  12.107 -	}
  12.108 -
  12.109 -	@Override
  12.110 -	public byte[] getBytes(int columnIndex) throws SQLException {
  12.111 -		throw new SQLException("Not supported yet.");
  12.112 -	}
  12.113 -
  12.114 -	@Override
  12.115 -	public Date getDate(int columnIndex) throws SQLException {
  12.116 -		throw new SQLException("Not supported yet.");
  12.117 -	}
  12.118 -
  12.119 -	@Override
  12.120 -	public Time getTime(int columnIndex) throws SQLException {
  12.121 -		throw new SQLException("Not supported yet.");
  12.122 -	}
  12.123 -
  12.124 -	@Override
  12.125 -	public Timestamp getTimestamp(int columnIndex) throws SQLException {
  12.126 -		throw new SQLException("Not supported yet.");
  12.127 -	}
  12.128 -
  12.129 -	@Override
  12.130 -	public InputStream getAsciiStream(int columnIndex) throws SQLException {
  12.131 -		throw new SQLException("Not supported yet.");
  12.132 -	}
  12.133 -
  12.134 -	@Override
  12.135 -	public InputStream getUnicodeStream(int columnIndex) throws SQLException {
  12.136 -		throw new SQLException("Not supported yet.");
  12.137 -	}
  12.138 -
  12.139 -	@Override
  12.140 -	public InputStream getBinaryStream(int columnIndex) throws SQLException {
  12.141 -		throw new SQLException("Not supported yet.");
  12.142 -	}
  12.143 -
  12.144 -	@Override
  12.145 -	public String getString(String columnLabel) throws SQLException {
  12.146 -		throw new SQLException("Not supported yet.");
  12.147 -	}
  12.148 -
  12.149 -	@Override
  12.150 -	public boolean getBoolean(String columnLabel) throws SQLException {
  12.151 -		throw new SQLException("Not supported yet.");
  12.152 -	}
  12.153 -
  12.154 -	@Override
  12.155 -	public byte getByte(String columnLabel) throws SQLException {
  12.156 -		throw new SQLException("Not supported yet.");
  12.157 -	}
  12.158 -
  12.159 -	@Override
  12.160 -	public short getShort(String columnLabel) throws SQLException {
  12.161 -		throw new SQLException("Not supported yet.");
  12.162 -	}
  12.163 -
  12.164 -	@Override
  12.165 -	public int getInt(String columnLabel) throws SQLException {
  12.166 -		throw new SQLException("Not supported yet.");
  12.167 -	}
  12.168 -
  12.169 -	@Override
  12.170 -	public long getLong(String columnLabel) throws SQLException {
  12.171 -		throw new SQLException("Not supported yet.");
  12.172 -	}
  12.173 -
  12.174 -	@Override
  12.175 -	public float getFloat(String columnLabel) throws SQLException {
  12.176 -		throw new SQLException("Not supported yet.");
  12.177 -	}
  12.178 -
  12.179 -	@Override
  12.180 -	public double getDouble(String columnLabel) throws SQLException {
  12.181 -		throw new SQLException("Not supported yet.");
  12.182 -	}
  12.183 -
  12.184 -	@Override
  12.185 -	public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException {
  12.186 -		throw new SQLException("Not supported yet.");
  12.187 -	}
  12.188 -
  12.189 -	@Override
  12.190 -	public byte[] getBytes(String columnLabel) throws SQLException {
  12.191 -		throw new SQLException("Not supported yet.");
  12.192 -	}
  12.193 -
  12.194 -	@Override
  12.195 -	public Date getDate(String columnLabel) throws SQLException {
  12.196 -		throw new SQLException("Not supported yet.");
  12.197 -	}
  12.198 -
  12.199 -	@Override
  12.200 -	public Time getTime(String columnLabel) throws SQLException {
  12.201 -		throw new SQLException("Not supported yet.");
  12.202 -	}
  12.203 -
  12.204 -	@Override
  12.205 -	public Timestamp getTimestamp(String columnLabel) throws SQLException {
  12.206 -		throw new SQLException("Not supported yet.");
  12.207 -	}
  12.208 -
  12.209 -	@Override
  12.210 -	public InputStream getAsciiStream(String columnLabel) throws SQLException {
  12.211 -		throw new SQLException("Not supported yet.");
  12.212 -	}
  12.213 -
  12.214 -	@Override
  12.215 -	public InputStream getUnicodeStream(String columnLabel) throws SQLException {
  12.216 -		throw new SQLException("Not supported yet.");
  12.217 -	}
  12.218 -
  12.219 -	@Override
  12.220 -	public InputStream getBinaryStream(String columnLabel) throws SQLException {
  12.221 -		throw new SQLException("Not supported yet.");
  12.222 -	}
  12.223 -
  12.224 -	@Override
  12.225 -	public SQLWarning getWarnings() throws SQLException {
  12.226 -		throw new SQLException("Not supported yet.");
  12.227 -	}
  12.228 -
  12.229 -	@Override
  12.230 -	public void clearWarnings() throws SQLException {
  12.231 -		throw new SQLException("Not supported yet.");
  12.232 -	}
  12.233 -
  12.234 -	@Override
  12.235 -	public String getCursorName() throws SQLException {
  12.236 -		throw new SQLException("Not supported yet.");
  12.237 -	}
  12.238 -
  12.239 -	@Override
  12.240 -	public java.sql.ResultSetMetaData getMetaData() throws SQLException {
  12.241 -		throw new SQLException("Not supported yet.");
  12.242 -	}
  12.243 -
  12.244 -	@Override
  12.245 -	public Object getObject(int columnIndex) throws SQLException {
  12.246 -		throw new SQLException("Not supported yet.");
  12.247 -	}
  12.248 -
  12.249 -	@Override
  12.250 -	public Object getObject(String columnLabel) throws SQLException {
  12.251 -		throw new SQLException("Not supported yet.");
  12.252 -	}
  12.253 -
  12.254 -	@Override
  12.255 -	public int findColumn(String columnLabel) throws SQLException {
  12.256 -		throw new SQLException("Not supported yet.");
  12.257 -	}
  12.258 -
  12.259 -	@Override
  12.260 -	public Reader getCharacterStream(int columnIndex) throws SQLException {
  12.261 -		throw new SQLException("Not supported yet.");
  12.262 -	}
  12.263 -
  12.264 -	@Override
  12.265 -	public Reader getCharacterStream(String columnLabel) throws SQLException {
  12.266 -		throw new SQLException("Not supported yet.");
  12.267 -	}
  12.268 -
  12.269 -	@Override
  12.270 -	public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
  12.271 -		throw new SQLException("Not supported yet.");
  12.272 -	}
  12.273 -
  12.274 -	@Override
  12.275 -	public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
  12.276 -		throw new SQLException("Not supported yet.");
  12.277 -	}
  12.278 -
  12.279 -	@Override
  12.280 -	public boolean isBeforeFirst() throws SQLException {
  12.281 -		throw new SQLException("Not supported yet.");
  12.282 -	}
  12.283 -
  12.284 -	@Override
  12.285 -	public boolean isAfterLast() throws SQLException {
  12.286 -		throw new SQLException("Not supported yet.");
  12.287 -	}
  12.288 -
  12.289 -	@Override
  12.290 -	public boolean isFirst() throws SQLException {
  12.291 -		throw new SQLException("Not supported yet.");
  12.292 -	}
  12.293 -
  12.294 -	@Override
  12.295 -	public boolean isLast() throws SQLException {
  12.296 -		throw new SQLException("Not supported yet.");
  12.297 -	}
  12.298 -
  12.299 -	@Override
  12.300 -	public void beforeFirst() throws SQLException {
  12.301 -		throw new SQLException("Not supported yet.");
  12.302 -	}
  12.303 -
  12.304 -	@Override
  12.305 -	public void afterLast() throws SQLException {
  12.306 -		throw new SQLException("Not supported yet.");
  12.307 -	}
  12.308 -
  12.309 -	@Override
  12.310 -	public boolean first() throws SQLException {
  12.311 -		throw new SQLException("Not supported yet.");
  12.312 -	}
  12.313 -
  12.314 -	@Override
  12.315 -	public boolean last() throws SQLException {
  12.316 -		throw new SQLException("Not supported yet.");
  12.317 -	}
  12.318 -
  12.319 -	@Override
  12.320 -	public int getRow() throws SQLException {
  12.321 -		throw new SQLException("Not supported yet.");
  12.322 -	}
  12.323 -
  12.324 -	@Override
  12.325 -	public boolean absolute(int row) throws SQLException {
  12.326 -		throw new SQLException("Not supported yet.");
  12.327 -	}
  12.328 -
  12.329 -	@Override
  12.330 -	public boolean relative(int rows) throws SQLException {
  12.331 -		throw new SQLException("Not supported yet.");
  12.332 -	}
  12.333 -
  12.334 -	@Override
  12.335 -	public boolean previous() throws SQLException {
  12.336 -		throw new SQLException("Not supported yet.");
  12.337 -	}
  12.338 -
  12.339 -	@Override
  12.340 -	public void setFetchDirection(int direction) throws SQLException {
  12.341 -		throw new SQLException("Not supported yet.");
  12.342 -	}
  12.343 -
  12.344 -	@Override
  12.345 -	public int getFetchDirection() throws SQLException {
  12.346 -		throw new SQLException("Not supported yet.");
  12.347 -	}
  12.348 -
  12.349 -	@Override
  12.350 -	public void setFetchSize(int rows) throws SQLException {
  12.351 -		throw new SQLException("Not supported yet.");
  12.352 -	}
  12.353 -
  12.354 -	@Override
  12.355 -	public int getFetchSize() throws SQLException {
  12.356 -		throw new SQLException("Not supported yet.");
  12.357 -	}
  12.358 -
  12.359 -	@Override
  12.360 -	public int getType() throws SQLException {
  12.361 -		throw new SQLException("Not supported yet.");
  12.362 -	}
  12.363 -
  12.364 -	@Override
  12.365 -	public int getConcurrency() throws SQLException {
  12.366 -		throw new SQLException("Not supported yet.");
  12.367 -	}
  12.368 -
  12.369 -	@Override
  12.370 -	public boolean rowUpdated() throws SQLException {
  12.371 -		throw new SQLException("Not supported yet.");
  12.372 -	}
  12.373 -
  12.374 -	@Override
  12.375 -	public boolean rowInserted() throws SQLException {
  12.376 -		throw new SQLException("Not supported yet.");
  12.377 -	}
  12.378 -
  12.379 -	@Override
  12.380 -	public boolean rowDeleted() throws SQLException {
  12.381 -		throw new SQLException("Not supported yet.");
  12.382 -	}
  12.383 -
  12.384 -	@Override
  12.385 -	public void updateNull(int columnIndex) throws SQLException {
  12.386 -		throw new SQLException("Not supported yet.");
  12.387 -	}
  12.388 -
  12.389 -	@Override
  12.390 -	public void updateBoolean(int columnIndex, boolean x) throws SQLException {
  12.391 -		throw new SQLException("Not supported yet.");
  12.392 -	}
  12.393 -
  12.394 -	@Override
  12.395 -	public void updateByte(int columnIndex, byte x) throws SQLException {
  12.396 -		throw new SQLException("Not supported yet.");
  12.397 -	}
  12.398 -
  12.399 -	@Override
  12.400 -	public void updateShort(int columnIndex, short x) throws SQLException {
  12.401 -		throw new SQLException("Not supported yet.");
  12.402 -	}
  12.403 -
  12.404 -	@Override
  12.405 -	public void updateInt(int columnIndex, int x) throws SQLException {
  12.406 -		throw new SQLException("Not supported yet.");
  12.407 -	}
  12.408 -
  12.409 -	@Override
  12.410 -	public void updateLong(int columnIndex, long x) throws SQLException {
  12.411 -		throw new SQLException("Not supported yet.");
  12.412 -	}
  12.413 -
  12.414 -	@Override
  12.415 -	public void updateFloat(int columnIndex, float x) throws SQLException {
  12.416 -		throw new SQLException("Not supported yet.");
  12.417 -	}
  12.418 -
  12.419 -	@Override
  12.420 -	public void updateDouble(int columnIndex, double x) throws SQLException {
  12.421 -		throw new SQLException("Not supported yet.");
  12.422 -	}
  12.423 -
  12.424 -	@Override
  12.425 -	public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
  12.426 -		throw new SQLException("Not supported yet.");
  12.427 -	}
  12.428 -
  12.429 -	@Override
  12.430 -	public void updateString(int columnIndex, String x) throws SQLException {
  12.431 -		throw new SQLException("Not supported yet.");
  12.432 -	}
  12.433 -
  12.434 -	@Override
  12.435 -	public void updateBytes(int columnIndex, byte[] x) throws SQLException {
  12.436 -		throw new SQLException("Not supported yet.");
  12.437 -	}
  12.438 -
  12.439 -	@Override
  12.440 -	public void updateDate(int columnIndex, Date x) throws SQLException {
  12.441 -		throw new SQLException("Not supported yet.");
  12.442 -	}
  12.443 -
  12.444 -	@Override
  12.445 -	public void updateTime(int columnIndex, Time x) throws SQLException {
  12.446 -		throw new SQLException("Not supported yet.");
  12.447 -	}
  12.448 -
  12.449 -	@Override
  12.450 -	public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
  12.451 -		throw new SQLException("Not supported yet.");
  12.452 -	}
  12.453 -
  12.454 -	@Override
  12.455 -	public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
  12.456 -		throw new SQLException("Not supported yet.");
  12.457 -	}
  12.458 -
  12.459 -	@Override
  12.460 -	public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
  12.461 -		throw new SQLException("Not supported yet.");
  12.462 -	}
  12.463 -
  12.464 -	@Override
  12.465 -	public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
  12.466 -		throw new SQLException("Not supported yet.");
  12.467 -	}
  12.468 -
  12.469 -	@Override
  12.470 -	public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
  12.471 -		throw new SQLException("Not supported yet.");
  12.472 -	}
  12.473 -
  12.474 -	@Override
  12.475 -	public void updateObject(int columnIndex, Object x) throws SQLException {
  12.476 -		throw new SQLException("Not supported yet.");
  12.477 -	}
  12.478 -
  12.479 -	@Override
  12.480 -	public void updateNull(String columnLabel) throws SQLException {
  12.481 -		throw new SQLException("Not supported yet.");
  12.482 -	}
  12.483 -
  12.484 -	@Override
  12.485 -	public void updateBoolean(String columnLabel, boolean x) throws SQLException {
  12.486 -		throw new SQLException("Not supported yet.");
  12.487 -	}
  12.488 -
  12.489 -	@Override
  12.490 -	public void updateByte(String columnLabel, byte x) throws SQLException {
  12.491 -		throw new SQLException("Not supported yet.");
  12.492 -	}
  12.493 -
  12.494 -	@Override
  12.495 -	public void updateShort(String columnLabel, short x) throws SQLException {
  12.496 -		throw new SQLException("Not supported yet.");
  12.497 -	}
  12.498 -
  12.499 -	@Override
  12.500 -	public void updateInt(String columnLabel, int x) throws SQLException {
  12.501 -		throw new SQLException("Not supported yet.");
  12.502 -	}
  12.503 -
  12.504 -	@Override
  12.505 -	public void updateLong(String columnLabel, long x) throws SQLException {
  12.506 -		throw new SQLException("Not supported yet.");
  12.507 -	}
  12.508 -
  12.509 -	@Override
  12.510 -	public void updateFloat(String columnLabel, float x) throws SQLException {
  12.511 -		throw new SQLException("Not supported yet.");
  12.512 -	}
  12.513 -
  12.514 -	@Override
  12.515 -	public void updateDouble(String columnLabel, double x) throws SQLException {
  12.516 -		throw new SQLException("Not supported yet.");
  12.517 -	}
  12.518 -
  12.519 -	@Override
  12.520 -	public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
  12.521 -		throw new SQLException("Not supported yet.");
  12.522 -	}
  12.523 -
  12.524 -	@Override
  12.525 -	public void updateString(String columnLabel, String x) throws SQLException {
  12.526 -		throw new SQLException("Not supported yet.");
  12.527 -	}
  12.528 -
  12.529 -	@Override
  12.530 -	public void updateBytes(String columnLabel, byte[] x) throws SQLException {
  12.531 -		throw new SQLException("Not supported yet.");
  12.532 -	}
  12.533 -
  12.534 -	@Override
  12.535 -	public void updateDate(String columnLabel, Date x) throws SQLException {
  12.536 -		throw new SQLException("Not supported yet.");
  12.537 -	}
  12.538 -
  12.539 -	@Override
  12.540 -	public void updateTime(String columnLabel, Time x) throws SQLException {
  12.541 -		throw new SQLException("Not supported yet.");
  12.542 -	}
  12.543 -
  12.544 -	@Override
  12.545 -	public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
  12.546 -		throw new SQLException("Not supported yet.");
  12.547 -	}
  12.548 -
  12.549 -	@Override
  12.550 -	public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
  12.551 -		throw new SQLException("Not supported yet.");
  12.552 -	}
  12.553 -
  12.554 -	@Override
  12.555 -	public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
  12.556 -		throw new SQLException("Not supported yet.");
  12.557 -	}
  12.558 -
  12.559 -	@Override
  12.560 -	public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
  12.561 -		throw new SQLException("Not supported yet.");
  12.562 -	}
  12.563 -
  12.564 -	@Override
  12.565 -	public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
  12.566 -		throw new SQLException("Not supported yet.");
  12.567 -	}
  12.568 -
  12.569 -	@Override
  12.570 -	public void updateObject(String columnLabel, Object x) throws SQLException {
  12.571 -		throw new SQLException("Not supported yet.");
  12.572 -	}
  12.573 -
  12.574 -	@Override
  12.575 -	public void insertRow() throws SQLException {
  12.576 -		throw new SQLException("Not supported yet.");
  12.577 -	}
  12.578 -
  12.579 -	@Override
  12.580 -	public void updateRow() throws SQLException {
  12.581 -		throw new SQLException("Not supported yet.");
  12.582 -	}
  12.583 -
  12.584 -	@Override
  12.585 -	public void deleteRow() throws SQLException {
  12.586 -		throw new SQLException("Not supported yet.");
  12.587 -	}
  12.588 -
  12.589 -	@Override
  12.590 -	public void refreshRow() throws SQLException {
  12.591 -		throw new SQLException("Not supported yet.");
  12.592 -	}
  12.593 -
  12.594 -	@Override
  12.595 -	public void cancelRowUpdates() throws SQLException {
  12.596 -		throw new SQLException("Not supported yet.");
  12.597 -	}
  12.598 -
  12.599 -	@Override
  12.600 -	public void moveToInsertRow() throws SQLException {
  12.601 -		throw new SQLException("Not supported yet.");
  12.602 -	}
  12.603 -
  12.604 -	@Override
  12.605 -	public void moveToCurrentRow() throws SQLException {
  12.606 -		throw new SQLException("Not supported yet.");
  12.607 -	}
  12.608 -
  12.609 -	@Override
  12.610 -	public Statement getStatement() throws SQLException {
  12.611 -		throw new SQLException("Not supported yet.");
  12.612 -	}
  12.613 -
  12.614 -	@Override
  12.615 -	public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
  12.616 -		throw new SQLException("Not supported yet.");
  12.617 -	}
  12.618 -
  12.619 -	@Override
  12.620 -	public Ref getRef(int columnIndex) throws SQLException {
  12.621 -		throw new SQLException("Not supported yet.");
  12.622 -	}
  12.623 -
  12.624 -	@Override
  12.625 -	public Blob getBlob(int columnIndex) throws SQLException {
  12.626 -		throw new SQLException("Not supported yet.");
  12.627 -	}
  12.628 -
  12.629 -	@Override
  12.630 -	public Clob getClob(int columnIndex) throws SQLException {
  12.631 -		throw new SQLException("Not supported yet.");
  12.632 -	}
  12.633 -
  12.634 -	@Override
  12.635 -	public Array getArray(int columnIndex) throws SQLException {
  12.636 -		throw new SQLException("Not supported yet.");
  12.637 -	}
  12.638 -
  12.639 -	@Override
  12.640 -	public Object getObject(String columnLabel, Map<String, Class<?>> map) throws SQLException {
  12.641 -		throw new SQLException("Not supported yet.");
  12.642 -	}
  12.643 -
  12.644 -	@Override
  12.645 -	public Ref getRef(String columnLabel) throws SQLException {
  12.646 -		throw new SQLException("Not supported yet.");
  12.647 -	}
  12.648 -
  12.649 -	@Override
  12.650 -	public Blob getBlob(String columnLabel) throws SQLException {
  12.651 -		throw new SQLException("Not supported yet.");
  12.652 -	}
  12.653 -
  12.654 -	@Override
  12.655 -	public Clob getClob(String columnLabel) throws SQLException {
  12.656 -		throw new SQLException("Not supported yet.");
  12.657 -	}
  12.658 -
  12.659 -	@Override
  12.660 -	public Array getArray(String columnLabel) throws SQLException {
  12.661 -		throw new SQLException("Not supported yet.");
  12.662 -	}
  12.663 -
  12.664 -	@Override
  12.665 -	public Date getDate(int columnIndex, Calendar cal) throws SQLException {
  12.666 -		throw new SQLException("Not supported yet.");
  12.667 -	}
  12.668 -
  12.669 -	@Override
  12.670 -	public Date getDate(String columnLabel, Calendar cal) throws SQLException {
  12.671 -		throw new SQLException("Not supported yet.");
  12.672 -	}
  12.673 -
  12.674 -	@Override
  12.675 -	public Time getTime(int columnIndex, Calendar cal) throws SQLException {
  12.676 -		throw new SQLException("Not supported yet.");
  12.677 -	}
  12.678 -
  12.679 -	@Override
  12.680 -	public Time getTime(String columnLabel, Calendar cal) throws SQLException {
  12.681 -		throw new SQLException("Not supported yet.");
  12.682 -	}
  12.683 -
  12.684 -	@Override
  12.685 -	public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
  12.686 -		throw new SQLException("Not supported yet.");
  12.687 -	}
  12.688 -
  12.689 -	@Override
  12.690 -	public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException {
  12.691 -		throw new SQLException("Not supported yet.");
  12.692 -	}
  12.693 -
  12.694 -	@Override
  12.695 -	public URL getURL(int columnIndex) throws SQLException {
  12.696 -		throw new SQLException("Not supported yet.");
  12.697 -	}
  12.698 -
  12.699 -	@Override
  12.700 -	public URL getURL(String columnLabel) throws SQLException {
  12.701 -		throw new SQLException("Not supported yet.");
  12.702 -	}
  12.703 -
  12.704 -	@Override
  12.705 -	public void updateRef(int columnIndex, Ref x) throws SQLException {
  12.706 -		throw new SQLException("Not supported yet.");
  12.707 -	}
  12.708 -
  12.709 -	@Override
  12.710 -	public void updateRef(String columnLabel, Ref x) throws SQLException {
  12.711 -		throw new SQLException("Not supported yet.");
  12.712 -	}
  12.713 -
  12.714 -	@Override
  12.715 -	public void updateBlob(int columnIndex, Blob x) throws SQLException {
  12.716 -		throw new SQLException("Not supported yet.");
  12.717 -	}
  12.718 -
  12.719 -	@Override
  12.720 -	public void updateBlob(String columnLabel, Blob x) throws SQLException {
  12.721 -		throw new SQLException("Not supported yet.");
  12.722 -	}
  12.723 -
  12.724 -	@Override
  12.725 -	public void updateClob(int columnIndex, Clob x) throws SQLException {
  12.726 -		throw new SQLException("Not supported yet.");
  12.727 -	}
  12.728 -
  12.729 -	@Override
  12.730 -	public void updateClob(String columnLabel, Clob x) throws SQLException {
  12.731 -		throw new SQLException("Not supported yet.");
  12.732 -	}
  12.733 -
  12.734 -	@Override
  12.735 -	public void updateArray(int columnIndex, Array x) throws SQLException {
  12.736 -		throw new SQLException("Not supported yet.");
  12.737 -	}
  12.738 -
  12.739 -	@Override
  12.740 -	public void updateArray(String columnLabel, Array x) throws SQLException {
  12.741 -		throw new SQLException("Not supported yet.");
  12.742 -	}
  12.743 -
  12.744 -	@Override
  12.745 -	public RowId getRowId(int columnIndex) throws SQLException {
  12.746 -		throw new SQLException("Not supported yet.");
  12.747 -	}
  12.748 -
  12.749 -	@Override
  12.750 -	public RowId getRowId(String columnLabel) throws SQLException {
  12.751 -		throw new SQLException("Not supported yet.");
  12.752 -	}
  12.753 -
  12.754 -	@Override
  12.755 -	public void updateRowId(int columnIndex, RowId x) throws SQLException {
  12.756 -		throw new SQLException("Not supported yet.");
  12.757 -	}
  12.758 -
  12.759 -	@Override
  12.760 -	public void updateRowId(String columnLabel, RowId x) throws SQLException {
  12.761 -		throw new SQLException("Not supported yet.");
  12.762 -	}
  12.763 -
  12.764 -	@Override
  12.765 -	public int getHoldability() throws SQLException {
  12.766 -		throw new SQLException("Not supported yet.");
  12.767 -	}
  12.768 -
  12.769 -	@Override
  12.770 -	public boolean isClosed() throws SQLException {
  12.771 -		throw new SQLException("Not supported yet.");
  12.772 -	}
  12.773 -
  12.774 -	@Override
  12.775 -	public void updateNString(int columnIndex, String nString) throws SQLException {
  12.776 -		throw new SQLException("Not supported yet.");
  12.777 -	}
  12.778 -
  12.779 -	@Override
  12.780 -	public void updateNString(String columnLabel, String nString) throws SQLException {
  12.781 -		throw new SQLException("Not supported yet.");
  12.782 -	}
  12.783 -
  12.784 -	@Override
  12.785 -	public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
  12.786 -		throw new SQLException("Not supported yet.");
  12.787 -	}
  12.788 -
  12.789 -	@Override
  12.790 -	public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
  12.791 -		throw new SQLException("Not supported yet.");
  12.792 -	}
  12.793 -
  12.794 -	@Override
  12.795 -	public NClob getNClob(int columnIndex) throws SQLException {
  12.796 -		throw new SQLException("Not supported yet.");
  12.797 -	}
  12.798 -
  12.799 -	@Override
  12.800 -	public NClob getNClob(String columnLabel) throws SQLException {
  12.801 -		throw new SQLException("Not supported yet.");
  12.802 -	}
  12.803 -
  12.804 -	@Override
  12.805 -	public SQLXML getSQLXML(int columnIndex) throws SQLException {
  12.806 -		throw new SQLException("Not supported yet.");
  12.807 -	}
  12.808 -
  12.809 -	@Override
  12.810 -	public SQLXML getSQLXML(String columnLabel) throws SQLException {
  12.811 -		throw new SQLException("Not supported yet.");
  12.812 -	}
  12.813 -
  12.814 -	@Override
  12.815 -	public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
  12.816 -		throw new SQLException("Not supported yet.");
  12.817 -	}
  12.818 -
  12.819 -	@Override
  12.820 -	public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
  12.821 -		throw new SQLException("Not supported yet.");
  12.822 -	}
  12.823 -
  12.824 -	@Override
  12.825 -	public String getNString(int columnIndex) throws SQLException {
  12.826 -		throw new SQLException("Not supported yet.");
  12.827 -	}
  12.828 -
  12.829 -	@Override
  12.830 -	public String getNString(String columnLabel) throws SQLException {
  12.831 -		throw new SQLException("Not supported yet.");
  12.832 -	}
  12.833 -
  12.834 -	@Override
  12.835 -	public Reader getNCharacterStream(int columnIndex) throws SQLException {
  12.836 -		throw new SQLException("Not supported yet.");
  12.837 -	}
  12.838 -
  12.839 -	@Override
  12.840 -	public Reader getNCharacterStream(String columnLabel) throws SQLException {
  12.841 -		throw new SQLException("Not supported yet.");
  12.842 -	}
  12.843 -
  12.844 -	@Override
  12.845 -	public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
  12.846 -		throw new SQLException("Not supported yet.");
  12.847 -	}
  12.848 -
  12.849 -	@Override
  12.850 -	public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
  12.851 -		throw new SQLException("Not supported yet.");
  12.852 -	}
  12.853 -
  12.854 -	@Override
  12.855 -	public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
  12.856 -		throw new SQLException("Not supported yet.");
  12.857 -	}
  12.858 -
  12.859 -	@Override
  12.860 -	public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
  12.861 -		throw new SQLException("Not supported yet.");
  12.862 -	}
  12.863 -
  12.864 -	@Override
  12.865 -	public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
  12.866 -		throw new SQLException("Not supported yet.");
  12.867 -	}
  12.868 -
  12.869 -	@Override
  12.870 -	public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
  12.871 -		throw new SQLException("Not supported yet.");
  12.872 -	}
  12.873 -
  12.874 -	@Override
  12.875 -	public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
  12.876 -		throw new SQLException("Not supported yet.");
  12.877 -	}
  12.878 -
  12.879 -	@Override
  12.880 -	public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
  12.881 -		throw new SQLException("Not supported yet.");
  12.882 -	}
  12.883 -
  12.884 -	@Override
  12.885 -	public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
  12.886 -		throw new SQLException("Not supported yet.");
  12.887 -	}
  12.888 -
  12.889 -	@Override
  12.890 -	public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
  12.891 -		throw new SQLException("Not supported yet.");
  12.892 -	}
  12.893 -
  12.894 -	@Override
  12.895 -	public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
  12.896 -		throw new SQLException("Not supported yet.");
  12.897 -	}
  12.898 -
  12.899 -	@Override
  12.900 -	public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
  12.901 -		throw new SQLException("Not supported yet.");
  12.902 -	}
  12.903 -
  12.904 -	@Override
  12.905 -	public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
  12.906 -		throw new SQLException("Not supported yet.");
  12.907 -	}
  12.908 -
  12.909 -	@Override
  12.910 -	public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
  12.911 -		throw new SQLException("Not supported yet.");
  12.912 -	}
  12.913 -
  12.914 -	@Override
  12.915 -	public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
  12.916 -		throw new SQLException("Not supported yet.");
  12.917 -	}
  12.918 -
  12.919 -	@Override
  12.920 -	public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
  12.921 -		throw new SQLException("Not supported yet.");
  12.922 -	}
  12.923 -
  12.924 -	@Override
  12.925 -	public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
  12.926 -		throw new SQLException("Not supported yet.");
  12.927 -	}
  12.928 -
  12.929 -	@Override
  12.930 -	public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
  12.931 -		throw new SQLException("Not supported yet.");
  12.932 -	}
  12.933 -
  12.934 -	@Override
  12.935 -	public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
  12.936 -		throw new SQLException("Not supported yet.");
  12.937 -	}
  12.938 -
  12.939 -	@Override
  12.940 -	public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
  12.941 -		throw new SQLException("Not supported yet.");
  12.942 -	}
  12.943 -
  12.944 -	@Override
  12.945 -	public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
  12.946 -		throw new SQLException("Not supported yet.");
  12.947 -	}
  12.948 -
  12.949 -	@Override
  12.950 -	public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
  12.951 -		throw new SQLException("Not supported yet.");
  12.952 -	}
  12.953 -
  12.954 -	@Override
  12.955 -	public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
  12.956 -		throw new SQLException("Not supported yet.");
  12.957 -	}
  12.958 -
  12.959 -	@Override
  12.960 -	public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
  12.961 -		throw new SQLException("Not supported yet.");
  12.962 -	}
  12.963 -
  12.964 -	@Override
  12.965 -	public void updateClob(int columnIndex, Reader reader) throws SQLException {
  12.966 -		throw new SQLException("Not supported yet.");
  12.967 -	}
  12.968 -
  12.969 -	@Override
  12.970 -	public void updateClob(String columnLabel, Reader reader) throws SQLException {
  12.971 -		throw new SQLException("Not supported yet.");
  12.972 -	}
  12.973 -
  12.974 -	@Override
  12.975 -	public void updateNClob(int columnIndex, Reader reader) throws SQLException {
  12.976 -		throw new SQLException("Not supported yet.");
  12.977 -	}
  12.978 -
  12.979 -	@Override
  12.980 -	public void updateNClob(String columnLabel, Reader reader) throws SQLException {
  12.981 -		throw new SQLException("Not supported yet.");
  12.982 -	}
  12.983 -
  12.984 -	@Override
  12.985 -	public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
  12.986 -		throw new SQLException("Not supported yet.");
  12.987 -	}
  12.988 -
  12.989 -	@Override
  12.990 -	public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
  12.991 -		throw new SQLException("Not supported yet.");
  12.992 -	}
  12.993 -
  12.994 -	@Override
  12.995 -	public <T> T unwrap(Class<T> iface) throws SQLException {
  12.996 -		throw new SQLException("Not supported yet.");
  12.997 -	}
  12.998 -
  12.999 -	@Override
 12.1000 -	public boolean isWrapperFor(Class<?> iface) throws SQLException {
 12.1001 -		throw new SQLException("Not supported yet.");
 12.1002 -	}
 12.1003 -}
    13.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractResultSetMetaData.java	Tue Feb 26 18:19:49 2019 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,142 +0,0 @@
    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.SQLException;
   13.24 -
   13.25 -/**
   13.26 - *
   13.27 - * @author Ing. František Kučera (frantovo.cz)
   13.28 - */
   13.29 -public abstract class AbstractResultSetMetaData implements java.sql.ResultSetMetaData {
   13.30 -
   13.31 -	@Override
   13.32 -	public int getColumnCount() throws SQLException {
   13.33 -		throw new SQLException("Not supported yet.");
   13.34 -	}
   13.35 -
   13.36 -	@Override
   13.37 -	public boolean isAutoIncrement(int column) throws SQLException {
   13.38 -		throw new SQLException("Not supported yet.");
   13.39 -	}
   13.40 -
   13.41 -	@Override
   13.42 -	public boolean isCaseSensitive(int column) throws SQLException {
   13.43 -		throw new SQLException("Not supported yet.");
   13.44 -	}
   13.45 -
   13.46 -	@Override
   13.47 -	public boolean isSearchable(int column) throws SQLException {
   13.48 -		throw new SQLException("Not supported yet.");
   13.49 -	}
   13.50 -
   13.51 -	@Override
   13.52 -	public boolean isCurrency(int column) throws SQLException {
   13.53 -		throw new SQLException("Not supported yet.");
   13.54 -	}
   13.55 -
   13.56 -	@Override
   13.57 -	public int isNullable(int column) throws SQLException {
   13.58 -		throw new SQLException("Not supported yet.");
   13.59 -	}
   13.60 -
   13.61 -	@Override
   13.62 -	public boolean isSigned(int column) throws SQLException {
   13.63 -		throw new SQLException("Not supported yet.");
   13.64 -	}
   13.65 -
   13.66 -	@Override
   13.67 -	public int getColumnDisplaySize(int column) throws SQLException {
   13.68 -		throw new SQLException("Not supported yet.");
   13.69 -	}
   13.70 -
   13.71 -	@Override
   13.72 -	public String getColumnLabel(int column) throws SQLException {
   13.73 -		throw new SQLException("Not supported yet.");
   13.74 -	}
   13.75 -
   13.76 -	@Override
   13.77 -	public String getColumnName(int column) throws SQLException {
   13.78 -		throw new SQLException("Not supported yet.");
   13.79 -	}
   13.80 -
   13.81 -	@Override
   13.82 -	public String getSchemaName(int column) throws SQLException {
   13.83 -		throw new SQLException("Not supported yet.");
   13.84 -	}
   13.85 -
   13.86 -	@Override
   13.87 -	public int getPrecision(int column) throws SQLException {
   13.88 -		throw new SQLException("Not supported yet.");
   13.89 -	}
   13.90 -
   13.91 -	@Override
   13.92 -	public int getScale(int column) throws SQLException {
   13.93 -		throw new SQLException("Not supported yet.");
   13.94 -	}
   13.95 -
   13.96 -	@Override
   13.97 -	public String getTableName(int column) throws SQLException {
   13.98 -		throw new SQLException("Not supported yet.");
   13.99 -	}
  13.100 -
  13.101 -	@Override
  13.102 -	public String getCatalogName(int column) throws SQLException {
  13.103 -		throw new SQLException("Not supported yet.");
  13.104 -	}
  13.105 -
  13.106 -	@Override
  13.107 -	public int getColumnType(int column) throws SQLException {
  13.108 -		throw new SQLException("Not supported yet.");
  13.109 -	}
  13.110 -
  13.111 -	@Override
  13.112 -	public String getColumnTypeName(int column) throws SQLException {
  13.113 -		throw new SQLException("Not supported yet.");
  13.114 -	}
  13.115 -
  13.116 -	@Override
  13.117 -	public boolean isReadOnly(int column) throws SQLException {
  13.118 -		throw new SQLException("Not supported yet.");
  13.119 -	}
  13.120 -
  13.121 -	@Override
  13.122 -	public boolean isWritable(int column) throws SQLException {
  13.123 -		throw new SQLException("Not supported yet.");
  13.124 -	}
  13.125 -
  13.126 -	@Override
  13.127 -	public boolean isDefinitelyWritable(int column) throws SQLException {
  13.128 -		throw new SQLException("Not supported yet.");
  13.129 -	}
  13.130 -
  13.131 -	@Override
  13.132 -	public String getColumnClassName(int column) throws SQLException {
  13.133 -		throw new SQLException("Not supported yet.");
  13.134 -	}
  13.135 -
  13.136 -	@Override
  13.137 -	public <T> T unwrap(Class<T> iface) throws SQLException {
  13.138 -		throw new SQLException("Not supported yet.");
  13.139 -	}
  13.140 -
  13.141 -	@Override
  13.142 -	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  13.143 -		throw new SQLException("Not supported yet.");
  13.144 -	}
  13.145 -}
    14.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractStatement.java	Tue Feb 26 18:19:49 2019 +0100
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,250 +0,0 @@
    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 -import java.sql.Connection;
   14.24 -import java.sql.SQLException;
   14.25 -import java.sql.SQLWarning;
   14.26 -
   14.27 -/**
   14.28 - *
   14.29 - * @author Ing. František Kučera (frantovo.cz)
   14.30 - */
   14.31 -public abstract class AbstractStatement implements java.sql.Statement {
   14.32 -
   14.33 -	@Override
   14.34 -	public ResultSet executeQuery(String sql) throws SQLException {
   14.35 -		throw new SQLException("Not supported yet.");
   14.36 -	}
   14.37 -
   14.38 -	@Override
   14.39 -	public int executeUpdate(String sql) throws SQLException {
   14.40 -		throw new SQLException("Not supported yet.");
   14.41 -	}
   14.42 -
   14.43 -	@Override
   14.44 -	public void close() throws SQLException {
   14.45 -		throw new SQLException("Not supported yet.");
   14.46 -	}
   14.47 -
   14.48 -	@Override
   14.49 -	public int getMaxFieldSize() throws SQLException {
   14.50 -		throw new SQLException("Not supported yet.");
   14.51 -	}
   14.52 -
   14.53 -	@Override
   14.54 -	public void setMaxFieldSize(int max) throws SQLException {
   14.55 -		throw new SQLException("Not supported yet.");
   14.56 -	}
   14.57 -
   14.58 -	@Override
   14.59 -	public int getMaxRows() throws SQLException {
   14.60 -		throw new SQLException("Not supported yet.");
   14.61 -	}
   14.62 -
   14.63 -	@Override
   14.64 -	public void setMaxRows(int max) throws SQLException {
   14.65 -		throw new SQLException("Not supported yet.");
   14.66 -	}
   14.67 -
   14.68 -	@Override
   14.69 -	public void setEscapeProcessing(boolean enable) throws SQLException {
   14.70 -		throw new SQLException("Not supported yet.");
   14.71 -	}
   14.72 -
   14.73 -	@Override
   14.74 -	public int getQueryTimeout() throws SQLException {
   14.75 -		throw new SQLException("Not supported yet.");
   14.76 -	}
   14.77 -
   14.78 -	@Override
   14.79 -	public void setQueryTimeout(int seconds) throws SQLException {
   14.80 -		throw new SQLException("Not supported yet.");
   14.81 -	}
   14.82 -
   14.83 -	@Override
   14.84 -	public void cancel() throws SQLException {
   14.85 -		throw new SQLException("Not supported yet.");
   14.86 -	}
   14.87 -
   14.88 -	@Override
   14.89 -	public SQLWarning getWarnings() throws SQLException {
   14.90 -		throw new SQLException("Not supported yet.");
   14.91 -	}
   14.92 -
   14.93 -	@Override
   14.94 -	public void clearWarnings() throws SQLException {
   14.95 -		throw new SQLException("Not supported yet.");
   14.96 -	}
   14.97 -
   14.98 -	@Override
   14.99 -	public void setCursorName(String name) throws SQLException {
  14.100 -		throw new SQLException("Not supported yet.");
  14.101 -	}
  14.102 -
  14.103 -	@Override
  14.104 -	public boolean execute(String sql) throws SQLException {
  14.105 -		throw new SQLException("Not supported yet.");
  14.106 -	}
  14.107 -
  14.108 -	@Override
  14.109 -	public java.sql.ResultSet getResultSet() throws SQLException {
  14.110 -		throw new SQLException("Not supported yet.");
  14.111 -	}
  14.112 -
  14.113 -	@Override
  14.114 -	public int getUpdateCount() throws SQLException {
  14.115 -		throw new SQLException("Not supported yet.");
  14.116 -	}
  14.117 -
  14.118 -	@Override
  14.119 -	public boolean getMoreResults() throws SQLException {
  14.120 -		throw new SQLException("Not supported yet.");
  14.121 -	}
  14.122 -
  14.123 -	@Override
  14.124 -	public void setFetchDirection(int direction) throws SQLException {
  14.125 -		throw new SQLException("Not supported yet.");
  14.126 -	}
  14.127 -
  14.128 -	@Override
  14.129 -	public int getFetchDirection() throws SQLException {
  14.130 -		throw new SQLException("Not supported yet.");
  14.131 -	}
  14.132 -
  14.133 -	@Override
  14.134 -	public void setFetchSize(int rows) throws SQLException {
  14.135 -		throw new SQLException("Not supported yet.");
  14.136 -	}
  14.137 -
  14.138 -	@Override
  14.139 -	public int getFetchSize() throws SQLException {
  14.140 -		throw new SQLException("Not supported yet.");
  14.141 -	}
  14.142 -
  14.143 -	@Override
  14.144 -	public int getResultSetConcurrency() throws SQLException {
  14.145 -		throw new SQLException("Not supported yet.");
  14.146 -	}
  14.147 -
  14.148 -	@Override
  14.149 -	public int getResultSetType() throws SQLException {
  14.150 -		throw new SQLException("Not supported yet.");
  14.151 -	}
  14.152 -
  14.153 -	@Override
  14.154 -	public void addBatch(String sql) throws SQLException {
  14.155 -		throw new SQLException("Not supported yet.");
  14.156 -	}
  14.157 -
  14.158 -	@Override
  14.159 -	public void clearBatch() throws SQLException {
  14.160 -		throw new SQLException("Not supported yet.");
  14.161 -	}
  14.162 -
  14.163 -	@Override
  14.164 -	public int[] executeBatch() throws SQLException {
  14.165 -		throw new SQLException("Not supported yet.");
  14.166 -	}
  14.167 -
  14.168 -	@Override
  14.169 -	public Connection getConnection() throws SQLException {
  14.170 -		throw new SQLException("Not supported yet.");
  14.171 -	}
  14.172 -
  14.173 -	@Override
  14.174 -	public boolean getMoreResults(int current) throws SQLException {
  14.175 -		throw new SQLException("Not supported yet.");
  14.176 -	}
  14.177 -
  14.178 -	@Override
  14.179 -	public ResultSet getGeneratedKeys() throws SQLException {
  14.180 -		throw new SQLException("Not supported yet.");
  14.181 -	}
  14.182 -
  14.183 -	@Override
  14.184 -	public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
  14.185 -		throw new SQLException("Not supported yet.");
  14.186 -	}
  14.187 -
  14.188 -	@Override
  14.189 -	public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
  14.190 -		throw new SQLException("Not supported yet.");
  14.191 -	}
  14.192 -
  14.193 -	@Override
  14.194 -	public int executeUpdate(String sql, String[] columnNames) throws SQLException {
  14.195 -		throw new SQLException("Not supported yet.");
  14.196 -	}
  14.197 -
  14.198 -	@Override
  14.199 -	public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
  14.200 -		throw new SQLException("Not supported yet.");
  14.201 -	}
  14.202 -
  14.203 -	@Override
  14.204 -	public boolean execute(String sql, int[] columnIndexes) throws SQLException {
  14.205 -		throw new SQLException("Not supported yet.");
  14.206 -	}
  14.207 -
  14.208 -	@Override
  14.209 -	public boolean execute(String sql, String[] columnNames) throws SQLException {
  14.210 -		throw new SQLException("Not supported yet.");
  14.211 -	}
  14.212 -
  14.213 -	@Override
  14.214 -	public int getResultSetHoldability() throws SQLException {
  14.215 -		throw new SQLException("Not supported yet.");
  14.216 -	}
  14.217 -
  14.218 -	@Override
  14.219 -	public boolean isClosed() throws SQLException {
  14.220 -		throw new SQLException("Not supported yet.");
  14.221 -	}
  14.222 -
  14.223 -	@Override
  14.224 -	public void setPoolable(boolean poolable) throws SQLException {
  14.225 -		throw new SQLException("Not supported yet.");
  14.226 -	}
  14.227 -
  14.228 -	@Override
  14.229 -	public boolean isPoolable() throws SQLException {
  14.230 -		throw new SQLException("Not supported yet.");
  14.231 -	}
  14.232 -
  14.233 -	@Override
  14.234 -	public void closeOnCompletion() throws SQLException {
  14.235 -		throw new SQLException("Not supported yet.");
  14.236 -	}
  14.237 -
  14.238 -	@Override
  14.239 -	public boolean isCloseOnCompletion() throws SQLException {
  14.240 -		throw new SQLException("Not supported yet.");
  14.241 -	}
  14.242 -
  14.243 -	@Override
  14.244 -	public <T> T unwrap(Class<T> iface) throws SQLException {
  14.245 -		throw new SQLException("Not supported yet.");
  14.246 -	}
  14.247 -
  14.248 -	@Override
  14.249 -	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  14.250 -		throw new SQLException("Not supported yet.");
  14.251 -	}
  14.252 -	
  14.253 -}
    15.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Connection.java	Tue Feb 26 18:19:49 2019 +0100
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,135 +0,0 @@
    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.SQLClientInfoException;
   15.24 -import java.sql.SQLException;
   15.25 -import java.sql.SQLWarning;
   15.26 -import java.sql.Savepoint;
   15.27 -import java.util.Map;
   15.28 -import java.util.Properties;
   15.29 -import java.util.concurrent.Executor;
   15.30 -
   15.31 -/**
   15.32 - *
   15.33 - * @author Ing. František Kučera (frantovo.cz)
   15.34 - */
   15.35 -public class Connection extends AbstractConnection {
   15.36 -
   15.37 -	private String url;
   15.38 -	private Properties info;
   15.39 -
   15.40 -	public Connection(String url, Properties info) {
   15.41 -		this.url = url;
   15.42 -		this.info = info;
   15.43 -	}
   15.44 -
   15.45 -	@Override
   15.46 -	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
   15.47 -		return new PreparedStatement();
   15.48 -	}
   15.49 -
   15.50 -	@Override
   15.51 -	public void setAutoCommit(boolean autoCommit) throws SQLException {
   15.52 -	}
   15.53 -
   15.54 -	@Override
   15.55 -	public boolean getAutoCommit() throws SQLException {
   15.56 -		return true;
   15.57 -	}
   15.58 -
   15.59 -	@Override
   15.60 -	public void commit() throws SQLException {
   15.61 -	}
   15.62 -
   15.63 -	@Override
   15.64 -	public void rollback() throws SQLException {
   15.65 -	}
   15.66 -
   15.67 -	@Override
   15.68 -	public void close() throws SQLException {
   15.69 -	}
   15.70 -
   15.71 -	@Override
   15.72 -	public boolean isClosed() throws SQLException {
   15.73 -		return false;
   15.74 -	}
   15.75 -
   15.76 -	@Override
   15.77 -	public void setReadOnly(boolean readOnly) throws SQLException {
   15.78 -	}
   15.79 -
   15.80 -	@Override
   15.81 -	public boolean isReadOnly() throws SQLException {
   15.82 -		return true;
   15.83 -	}
   15.84 -
   15.85 -	@Override
   15.86 -	public void setCatalog(String catalog) throws SQLException {
   15.87 -	}
   15.88 -
   15.89 -	@Override
   15.90 -	public void setTransactionIsolation(int level) throws SQLException {
   15.91 -	}
   15.92 -
   15.93 -	@Override
   15.94 -	public SQLWarning getWarnings() throws SQLException {
   15.95 -		return null;
   15.96 -	}
   15.97 -
   15.98 -	@Override
   15.99 -	public void clearWarnings() throws SQLException {
  15.100 -	}
  15.101 -
  15.102 -	@Override
  15.103 -	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
  15.104 -	}
  15.105 -
  15.106 -	@Override
  15.107 -	public void setHoldability(int holdability) throws SQLException {
  15.108 -	}
  15.109 -
  15.110 -	@Override
  15.111 -	public void rollback(Savepoint savepoint) throws SQLException {
  15.112 -	}
  15.113 -
  15.114 -	@Override
  15.115 -	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
  15.116 -	}
  15.117 -
  15.118 -	@Override
  15.119 -	public boolean isValid(int timeout) throws SQLException {
  15.120 -		return true;
  15.121 -	}
  15.122 -
  15.123 -	@Override
  15.124 -	public void setClientInfo(String name, String value) throws SQLClientInfoException {
  15.125 -	}
  15.126 -
  15.127 -	@Override
  15.128 -	public void setClientInfo(Properties properties) throws SQLClientInfoException {
  15.129 -	}
  15.130 -
  15.131 -	@Override
  15.132 -	public void abort(Executor executor) throws SQLException {
  15.133 -	}
  15.134 -
  15.135 -	@Override
  15.136 -	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
  15.137 -	}
  15.138 -}
    16.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java	Tue Feb 26 18:19:49 2019 +0100
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,84 +0,0 @@
    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.DriverManager;
   16.24 -import java.sql.DriverPropertyInfo;
   16.25 -import java.sql.SQLException;
   16.26 -import java.sql.SQLFeatureNotSupportedException;
   16.27 -import java.util.Properties;
   16.28 -import java.util.logging.Level;
   16.29 -import java.util.logging.Logger;
   16.30 -
   16.31 -/**
   16.32 - *
   16.33 - * @author Ing. František Kučera (frantovo.cz)
   16.34 - */
   16.35 -public class Driver implements java.sql.Driver {
   16.36 -
   16.37 -	private static final Logger log = Logger.getLogger(Driver.class.getName());
   16.38 -
   16.39 -	static {
   16.40 -		try {
   16.41 -			DriverManager.registerDriver(new Driver());
   16.42 -		} catch (SQLException e) {
   16.43 -			log.log(Level.SEVERE, "Unable to register JDBC driver", e);
   16.44 -		}
   16.45 -	}
   16.46 -
   16.47 -	@Override
   16.48 -	public Connection connect(String url, Properties info) throws SQLException {
   16.49 -		if (acceptsURL(url)) {
   16.50 -			return new Connection(url, info);
   16.51 -		} else {
   16.52 -			// The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL.
   16.53 -			return null;
   16.54 -		}
   16.55 -	}
   16.56 -
   16.57 -	@Override
   16.58 -	public boolean acceptsURL(String url) throws SQLException {
   16.59 -		return url != null && url.startsWith("jdbc:loopback://");
   16.60 -	}
   16.61 -
   16.62 -	@Override
   16.63 -	public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
   16.64 -		return new DriverPropertyInfo[0];
   16.65 -	}
   16.66 -
   16.67 -	@Override
   16.68 -	public int getMajorVersion() {
   16.69 -		return 0;
   16.70 -	}
   16.71 -
   16.72 -	@Override
   16.73 -	public int getMinorVersion() {
   16.74 -		return 1;
   16.75 -	}
   16.76 -
   16.77 -	@Override
   16.78 -	public boolean jdbcCompliant() {
   16.79 -		return false;
   16.80 -	}
   16.81 -
   16.82 -	@Override
   16.83 -	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
   16.84 -		throw new SQLFeatureNotSupportedException("Not supported yet.");
   16.85 -	}
   16.86 -
   16.87 -}
    17.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ObjectParameter.java	Tue Feb 26 18:19:49 2019 +0100
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,41 +0,0 @@
    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 -/**
   17.24 - *
   17.25 - * @author Ing. František Kučera (frantovo.cz)
   17.26 - */
   17.27 -public class ObjectParameter {
   17.28 -
   17.29 -	private final Object data;
   17.30 -	private final int targetSqlType;
   17.31 -
   17.32 -	public ObjectParameter(Object data, int targetSqlType) {
   17.33 -		this.data = data;
   17.34 -		this.targetSqlType = targetSqlType;
   17.35 -	}
   17.36 -
   17.37 -	public Object getData() {
   17.38 -		return data;
   17.39 -	}
   17.40 -
   17.41 -	public int getTargetSqlType() {
   17.42 -		return targetSqlType;
   17.43 -	}
   17.44 -}
    18.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/PreparedStatement.java	Tue Feb 26 18:19:49 2019 +0100
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,107 +0,0 @@
    18.4 -/**
    18.5 - * SQL-DK
    18.6 - * Copyright © 2014 František Kučera (frantovo.cz)
    18.7 - *
    18.8 - * This program is free software: you can redistribute it and/or modify
    18.9 - * it under the terms of the GNU General Public License as published by
   18.10 - * the Free Software Foundation, either version 3 of the License, or
   18.11 - * (at your option) any later version.
   18.12 - *
   18.13 - * This program is distributed in the hope that it will be useful,
   18.14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   18.15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   18.16 - * GNU General Public License for more details.
   18.17 - *
   18.18 - * You should have received a copy of the GNU General Public License
   18.19 - * along with this program. If not, see <http://www.gnu.org/licenses/>.
   18.20 - */
   18.21 -package info.globalcode.jdbc.loopback;
   18.22 -
   18.23 -import java.sql.SQLException;
   18.24 -import java.sql.SQLWarning;
   18.25 -import java.sql.Types;
   18.26 -import java.util.ArrayList;
   18.27 -import java.util.HashMap;
   18.28 -import java.util.List;
   18.29 -import java.util.Map;
   18.30 -
   18.31 -/**
   18.32 - *
   18.33 - * @author Ing. František Kučera (frantovo.cz)
   18.34 - */
   18.35 -public class PreparedStatement extends AbstractPreparedStatement {
   18.36 -
   18.37 -	private final Map<Integer, ObjectParameter> parameters = new HashMap<>();
   18.38 -	private List<Object[]> table;
   18.39 -	private final ResultSetMetaData metadata = new ResultSetMetaData();
   18.40 -
   18.41 -	@Override
   18.42 -	public void setObject(int parameterNumber, Object data, int targetSqlType) throws SQLException {
   18.43 -		parameters.put(parameterNumber, new ObjectParameter(data, targetSqlType));
   18.44 -	}
   18.45 -
   18.46 -	@Override
   18.47 -	public boolean execute() throws SQLException {
   18.48 -
   18.49 -		if (parameters.size() < 1) {
   18.50 -			throw new SQLException("Missing first parameter (column count)");
   18.51 -		} else {
   18.52 -			int columnCount = Integer.valueOf(String.valueOf(parameters.get(1).getData()));
   18.53 -
   18.54 -			for (int i = 0; i < columnCount; i++) {
   18.55 -				String label = parameters.get(1 + i + 1).getData().toString();
   18.56 -				metadata.addColumn(new ResultSetMetaData.ColumnDescriptor(Types.VARCHAR, "VARCHAR", label, label));
   18.57 -			}
   18.58 -
   18.59 -			int cellIndex = 0;
   18.60 -
   18.61 -			table = new ArrayList<>();
   18.62 -			Object[] currentRow = null;
   18.63 -
   18.64 -			for (int parameterNumber = (1 + columnCount + 1); true; parameterNumber++) {
   18.65 -				ObjectParameter data = parameters.get(parameterNumber);
   18.66 -				if (data == null) {
   18.67 -					break;
   18.68 -				} else {
   18.69 -					int columnIndex = cellIndex % columnCount;
   18.70 -					cellIndex++;
   18.71 -					if (columnIndex == 0) {
   18.72 -						currentRow = new Object[columnCount];
   18.73 -						table.add(currentRow);
   18.74 -					}
   18.75 -					currentRow[columnIndex] = data.getData();
   18.76 -				}
   18.77 -			}
   18.78 -
   18.79 -			return true;
   18.80 -		}
   18.81 -	}
   18.82 -
   18.83 -	@Override
   18.84 -	public java.sql.ResultSet getResultSet() throws SQLException {
   18.85 -		return new ResultSet(metadata, table);
   18.86 -	}
   18.87 -
   18.88 -	@Override
   18.89 -	public int getUpdateCount() throws SQLException {
   18.90 -		return -1;
   18.91 -	}
   18.92 -
   18.93 -	@Override
   18.94 -	public boolean getMoreResults() throws SQLException {
   18.95 -		return false;
   18.96 -	}
   18.97 -
   18.98 -	@Override
   18.99 -	public void close() throws SQLException {
  18.100 -	}
  18.101 -
  18.102 -	@Override
  18.103 -	public SQLWarning getWarnings() throws SQLException {
  18.104 -		return null;
  18.105 -	}
  18.106 -
  18.107 -	@Override
  18.108 -	public void clearWarnings() throws SQLException {
  18.109 -	}
  18.110 -}
    19.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSet.java	Tue Feb 26 18:19:49 2019 +0100
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,67 +0,0 @@
    19.4 -/**
    19.5 - * SQL-DK
    19.6 - * Copyright © 2014 František Kučera (frantovo.cz)
    19.7 - *
    19.8 - * This program is free software: you can redistribute it and/or modify
    19.9 - * it under the terms of the GNU General Public License as published by
   19.10 - * the Free Software Foundation, either version 3 of the License, or
   19.11 - * (at your option) any later version.
   19.12 - *
   19.13 - * This program is distributed in the hope that it will be useful,
   19.14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   19.15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   19.16 - * GNU General Public License for more details.
   19.17 - *
   19.18 - * You should have received a copy of the GNU General Public License
   19.19 - * along with this program. If not, see <http://www.gnu.org/licenses/>.
   19.20 - */
   19.21 -package info.globalcode.jdbc.loopback;
   19.22 -
   19.23 -import java.sql.SQLException;
   19.24 -import java.util.Iterator;
   19.25 -import java.util.List;
   19.26 -
   19.27 -/**
   19.28 - *
   19.29 - * @author Ing. František Kučera (frantovo.cz)
   19.30 - */
   19.31 -public class ResultSet extends AbstractResultSet {
   19.32 -
   19.33 -	private final ResultSetMetaData metadata;
   19.34 -	private final Iterator<Object[]> data;
   19.35 -	private Object[] currentRow;
   19.36 -
   19.37 -	public ResultSet(ResultSetMetaData metadata, List<Object[]> table) {
   19.38 -		data = table.listIterator();
   19.39 -		this.metadata = metadata;
   19.40 -	}
   19.41 -
   19.42 -	@Override
   19.43 -	public boolean next() throws SQLException {
   19.44 -		if (data.hasNext()) {
   19.45 -			currentRow = data.next();
   19.46 -			return true;
   19.47 -		} else {
   19.48 -			return false;
   19.49 -		}
   19.50 -	}
   19.51 -
   19.52 -	@Override
   19.53 -	public Object getObject(int columnNumber) throws SQLException {
   19.54 -		return currentRow[columnNumber - 1];
   19.55 -	}
   19.56 -
   19.57 -	@Override
   19.58 -	public ResultSetMetaData getMetaData() throws SQLException {
   19.59 -		return metadata;
   19.60 -	}
   19.61 -
   19.62 -	@Override
   19.63 -	public void close() throws SQLException {
   19.64 -	}
   19.65 -
   19.66 -	@Override
   19.67 -	public boolean isClosed() throws SQLException {
   19.68 -		return false;
   19.69 -	}
   19.70 -}
    20.1 --- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/ResultSetMetaData.java	Tue Feb 26 18:19:49 2019 +0100
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,75 +0,0 @@
    20.4 -/**
    20.5 - * SQL-DK
    20.6 - * Copyright © 2014 František Kučera (frantovo.cz)
    20.7 - *
    20.8 - * This program is free software: you can redistribute it and/or modify
    20.9 - * it under the terms of the GNU General Public License as published by
   20.10 - * the Free Software Foundation, either version 3 of the License, or
   20.11 - * (at your option) any later version.
   20.12 - *
   20.13 - * This program is distributed in the hope that it will be useful,
   20.14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   20.15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   20.16 - * GNU General Public License for more details.
   20.17 - *
   20.18 - * You should have received a copy of the GNU General Public License
   20.19 - * along with this program. If not, see <http://www.gnu.org/licenses/>.
   20.20 - */
   20.21 -package info.globalcode.jdbc.loopback;
   20.22 -
   20.23 -import java.sql.SQLException;
   20.24 -import java.util.ArrayList;
   20.25 -import java.util.List;
   20.26 -
   20.27 -/**
   20.28 - *
   20.29 - * @author Ing. František Kučera (frantovo.cz)
   20.30 - */
   20.31 -public class ResultSetMetaData extends AbstractResultSetMetaData {
   20.32 -
   20.33 -	private List<ColumnDescriptor> columns = new ArrayList<>();
   20.34 -
   20.35 -	public void addColumn(ColumnDescriptor cd) {
   20.36 -		columns.add(cd);
   20.37 -	}
   20.38 -
   20.39 -	@Override
   20.40 -	public int getColumnCount() throws SQLException {
   20.41 -		return columns.size();
   20.42 -	}
   20.43 -
   20.44 -	@Override
   20.45 -	public String getColumnLabel(int column) throws SQLException {
   20.46 -		return columns.get(column - 1).label;
   20.47 -	}
   20.48 -
   20.49 -	@Override
   20.50 -	public String getColumnName(int column) throws SQLException {
   20.51 -		return columns.get(column - 1).name;
   20.52 -	}
   20.53 -
   20.54 -	@Override
   20.55 -	public int getColumnType(int column) throws SQLException {
   20.56 -		return columns.get(column - 1).type;
   20.57 -	}
   20.58 -
   20.59 -	@Override
   20.60 -	public String getColumnTypeName(int column) throws SQLException {
   20.61 -		return columns.get(column - 1).typeName;
   20.62 -	}
   20.63 -
   20.64 -	public static class ColumnDescriptor {
   20.65 -
   20.66 -		private final int type;
   20.67 -		private final String typeName;
   20.68 -		private final String label;
   20.69 -		private final String name;
   20.70 -
   20.71 -		public ColumnDescriptor(int type, String typeName, String label, String name) {
   20.72 -			this.type = type;
   20.73 -			this.typeName = typeName;
   20.74 -			this.label = label;
   20.75 -			this.name = name;
   20.76 -		}
   20.77 -	}
   20.78 -}
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractConnection.java	Mon Mar 04 17:06:42 2019 +0100
    21.3 @@ -0,0 +1,311 @@
    21.4 +/**
    21.5 + * SQL-DK
    21.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    21.7 + *
    21.8 + * This program is free software: you can redistribute it and/or modify
    21.9 + * it under the terms of the GNU General Public License as published by
   21.10 + * the Free Software Foundation, either version 3 of the License, or
   21.11 + * (at your option) any later version.
   21.12 + *
   21.13 + * This program is distributed in the hope that it will be useful,
   21.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   21.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   21.16 + * GNU General Public License for more details.
   21.17 + *
   21.18 + * You should have received a copy of the GNU General Public License
   21.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   21.20 + */
   21.21 +package info.globalcode.jdbc.loopback;
   21.22 +
   21.23 +import java.sql.Array;
   21.24 +import java.sql.Blob;
   21.25 +import java.sql.CallableStatement;
   21.26 +import java.sql.Clob;
   21.27 +import java.sql.DatabaseMetaData;
   21.28 +import java.sql.NClob;
   21.29 +import java.sql.SQLClientInfoException;
   21.30 +import java.sql.SQLException;
   21.31 +import java.sql.SQLWarning;
   21.32 +import java.sql.SQLXML;
   21.33 +import java.sql.Savepoint;
   21.34 +import java.sql.Struct;
   21.35 +import java.util.Map;
   21.36 +import java.util.Properties;
   21.37 +import java.util.concurrent.Executor;
   21.38 +
   21.39 +/**
   21.40 + *
   21.41 + * @author Ing. František Kučera (frantovo.cz)
   21.42 + */
   21.43 +public abstract class AbstractConnection implements java.sql.Connection {
   21.44 +
   21.45 +	@Override
   21.46 +	public java.sql.Statement createStatement() throws SQLException {
   21.47 +		throw new SQLException("Not supported yet.");
   21.48 +	}
   21.49 +
   21.50 +	@Override
   21.51 +	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
   21.52 +		throw new SQLException("Not supported yet.");
   21.53 +	}
   21.54 +
   21.55 +	@Override
   21.56 +	public CallableStatement prepareCall(String sql) throws SQLException {
   21.57 +		throw new SQLException("Not supported yet.");
   21.58 +	}
   21.59 +
   21.60 +	@Override
   21.61 +	public String nativeSQL(String sql) throws SQLException {
   21.62 +		throw new SQLException("Not supported yet.");
   21.63 +	}
   21.64 +
   21.65 +	@Override
   21.66 +	public void setAutoCommit(boolean autoCommit) throws SQLException {
   21.67 +		throw new SQLException("Not supported yet.");
   21.68 +	}
   21.69 +
   21.70 +	@Override
   21.71 +	public boolean getAutoCommit() throws SQLException {
   21.72 +		throw new SQLException("Not supported yet.");
   21.73 +	}
   21.74 +
   21.75 +	@Override
   21.76 +	public void commit() throws SQLException {
   21.77 +		throw new SQLException("Not supported yet.");
   21.78 +	}
   21.79 +
   21.80 +	@Override
   21.81 +	public void rollback() throws SQLException {
   21.82 +		throw new SQLException("Not supported yet.");
   21.83 +	}
   21.84 +
   21.85 +	@Override
   21.86 +	public void close() throws SQLException {
   21.87 +		throw new SQLException("Not supported yet.");
   21.88 +	}
   21.89 +
   21.90 +	@Override
   21.91 +	public boolean isClosed() throws SQLException {
   21.92 +		throw new SQLException("Not supported yet.");
   21.93 +	}
   21.94 +
   21.95 +	@Override
   21.96 +	public DatabaseMetaData getMetaData() throws SQLException {
   21.97 +		throw new SQLException("Not supported yet.");
   21.98 +	}
   21.99 +
  21.100 +	@Override
  21.101 +	public void setReadOnly(boolean readOnly) throws SQLException {
  21.102 +		throw new SQLException("Not supported yet.");
  21.103 +	}
  21.104 +
  21.105 +	@Override
  21.106 +	public boolean isReadOnly() throws SQLException {
  21.107 +		throw new SQLException("Not supported yet.");
  21.108 +	}
  21.109 +
  21.110 +	@Override
  21.111 +	public void setCatalog(String catalog) throws SQLException {
  21.112 +		throw new SQLException("Not supported yet.");
  21.113 +	}
  21.114 +
  21.115 +	@Override
  21.116 +	public String getCatalog() throws SQLException {
  21.117 +		throw new SQLException("Not supported yet.");
  21.118 +	}
  21.119 +
  21.120 +	@Override
  21.121 +	public void setTransactionIsolation(int level) throws SQLException {
  21.122 +		throw new SQLException("Not supported yet.");
  21.123 +	}
  21.124 +
  21.125 +	@Override
  21.126 +	public int getTransactionIsolation() throws SQLException {
  21.127 +		throw new SQLException("Not supported yet.");
  21.128 +	}
  21.129 +
  21.130 +	@Override
  21.131 +	public SQLWarning getWarnings() throws SQLException {
  21.132 +		throw new SQLException("Not supported yet.");
  21.133 +	}
  21.134 +
  21.135 +	@Override
  21.136 +	public void clearWarnings() throws SQLException {
  21.137 +		throw new SQLException("Not supported yet.");
  21.138 +	}
  21.139 +
  21.140 +	@Override
  21.141 +	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
  21.142 +		throw new SQLException("Not supported yet.");
  21.143 +	}
  21.144 +
  21.145 +	@Override
  21.146 +	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
  21.147 +		throw new SQLException("Not supported yet.");
  21.148 +	}
  21.149 +
  21.150 +	@Override
  21.151 +	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
  21.152 +		throw new SQLException("Not supported yet.");
  21.153 +	}
  21.154 +
  21.155 +	@Override
  21.156 +	public Map<String, Class<?>> getTypeMap() throws SQLException {
  21.157 +		throw new SQLException("Not supported yet.");
  21.158 +	}
  21.159 +
  21.160 +	@Override
  21.161 +	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
  21.162 +		throw new SQLException("Not supported yet.");
  21.163 +	}
  21.164 +
  21.165 +	@Override
  21.166 +	public void setHoldability(int holdability) throws SQLException {
  21.167 +		throw new SQLException("Not supported yet.");
  21.168 +	}
  21.169 +
  21.170 +	@Override
  21.171 +	public int getHoldability() throws SQLException {
  21.172 +		throw new SQLException("Not supported yet.");
  21.173 +	}
  21.174 +
  21.175 +	@Override
  21.176 +	public Savepoint setSavepoint() throws SQLException {
  21.177 +		throw new SQLException("Not supported yet.");
  21.178 +	}
  21.179 +
  21.180 +	@Override
  21.181 +	public Savepoint setSavepoint(String name) throws SQLException {
  21.182 +		throw new SQLException("Not supported yet.");
  21.183 +	}
  21.184 +
  21.185 +	@Override
  21.186 +	public void rollback(Savepoint savepoint) throws SQLException {
  21.187 +		throw new SQLException("Not supported yet.");
  21.188 +	}
  21.189 +
  21.190 +	@Override
  21.191 +	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
  21.192 +		throw new SQLException("Not supported yet.");
  21.193 +	}
  21.194 +
  21.195 +	@Override
  21.196 +	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  21.197 +		throw new SQLException("Not supported yet.");
  21.198 +	}
  21.199 +
  21.200 +	@Override
  21.201 +	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  21.202 +		throw new SQLException("Not supported yet.");
  21.203 +	}
  21.204 +
  21.205 +	@Override
  21.206 +	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
  21.207 +		throw new SQLException("Not supported yet.");
  21.208 +	}
  21.209 +
  21.210 +	@Override
  21.211 +	public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
  21.212 +		throw new SQLException("Not supported yet.");
  21.213 +	}
  21.214 +
  21.215 +	@Override
  21.216 +	public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
  21.217 +		throw new SQLException("Not supported yet.");
  21.218 +	}
  21.219 +
  21.220 +	@Override
  21.221 +	public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
  21.222 +		throw new SQLException("Not supported yet.");
  21.223 +	}
  21.224 +
  21.225 +	@Override
  21.226 +	public Clob createClob() throws SQLException {
  21.227 +		throw new SQLException("Not supported yet.");
  21.228 +	}
  21.229 +
  21.230 +	@Override
  21.231 +	public Blob createBlob() throws SQLException {
  21.232 +		throw new SQLException("Not supported yet.");
  21.233 +	}
  21.234 +
  21.235 +	@Override
  21.236 +	public NClob createNClob() throws SQLException {
  21.237 +		throw new SQLException("Not supported yet.");
  21.238 +	}
  21.239 +
  21.240 +	@Override
  21.241 +	public SQLXML createSQLXML() throws SQLException {
  21.242 +		throw new SQLException("Not supported yet.");
  21.243 +	}
  21.244 +
  21.245 +	@Override
  21.246 +	public boolean isValid(int timeout) throws SQLException {
  21.247 +		throw new SQLException("Not supported yet.");
  21.248 +	}
  21.249 +
  21.250 +	@Override
  21.251 +	public void setClientInfo(String name, String value) throws SQLClientInfoException {
  21.252 +		throw new SQLClientInfoException("Not supported yet.", null);
  21.253 +	}
  21.254 +
  21.255 +	@Override
  21.256 +	public void setClientInfo(Properties properties) throws SQLClientInfoException {
  21.257 +		throw new SQLClientInfoException("Not supported yet.", null);
  21.258 +	}
  21.259 +
  21.260 +	@Override
  21.261 +	public String getClientInfo(String name) throws SQLException {
  21.262 +		throw new SQLException("Not supported yet.");
  21.263 +	}
  21.264 +
  21.265 +	@Override
  21.266 +	public Properties getClientInfo() throws SQLException {
  21.267 +		throw new SQLException("Not supported yet.");
  21.268 +	}
  21.269 +
  21.270 +	@Override
  21.271 +	public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
  21.272 +		throw new SQLException("Not supported yet.");
  21.273 +	}
  21.274 +
  21.275 +	@Override
  21.276 +	public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
  21.277 +		throw new SQLException("Not supported yet.");
  21.278 +	}
  21.279 +
  21.280 +	@Override
  21.281 +	public void setSchema(String schema) throws SQLException {
  21.282 +		throw new SQLException("Not supported yet.");
  21.283 +	}
  21.284 +
  21.285 +	@Override
  21.286 +	public String getSchema() throws SQLException {
  21.287 +		throw new SQLException("Not supported yet.");
  21.288 +	}
  21.289 +
  21.290 +	@Override
  21.291 +	public void abort(Executor executor) throws SQLException {
  21.292 +		throw new SQLException("Not supported yet.");
  21.293 +	}
  21.294 +
  21.295 +	@Override
  21.296 +	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
  21.297 +		throw new SQLException("Not supported yet.");
  21.298 +	}
  21.299 +
  21.300 +	@Override
  21.301 +	public int getNetworkTimeout() throws SQLException {
  21.302 +		throw new SQLException("Not supported yet.");
  21.303 +	}
  21.304 +
  21.305 +	@Override
  21.306 +	public <T> T unwrap(Class<T> iface) throws SQLException {
  21.307 +		throw new SQLException("Not supported yet.");
  21.308 +	}
  21.309 +
  21.310 +	@Override
  21.311 +	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  21.312 +		throw new SQLException("Not supported yet.");
  21.313 +	}
  21.314 +}
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractPreparedStatement.java	Mon Mar 04 17:06:42 2019 +0100
    22.3 @@ -0,0 +1,322 @@
    22.4 +/**
    22.5 + * SQL-DK
    22.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    22.7 + *
    22.8 + * This program is free software: you can redistribute it and/or modify
    22.9 + * it under the terms of the GNU General Public License as published by
   22.10 + * the Free Software Foundation, either version 3 of the License, or
   22.11 + * (at your option) any later version.
   22.12 + *
   22.13 + * This program is distributed in the hope that it will be useful,
   22.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   22.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   22.16 + * GNU General Public License for more details.
   22.17 + *
   22.18 + * You should have received a copy of the GNU General Public License
   22.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   22.20 + */
   22.21 +package info.globalcode.jdbc.loopback;
   22.22 +
   22.23 +import java.io.InputStream;
   22.24 +import java.io.Reader;
   22.25 +import java.math.BigDecimal;
   22.26 +import java.net.URL;
   22.27 +import java.sql.Array;
   22.28 +import java.sql.Blob;
   22.29 +import java.sql.Clob;
   22.30 +import java.sql.Date;
   22.31 +import java.sql.NClob;
   22.32 +import java.sql.ParameterMetaData;
   22.33 +import java.sql.Ref;
   22.34 +import java.sql.ResultSet;
   22.35 +import java.sql.ResultSetMetaData;
   22.36 +import java.sql.RowId;
   22.37 +import java.sql.SQLException;
   22.38 +import java.sql.SQLXML;
   22.39 +import java.sql.Time;
   22.40 +import java.sql.Timestamp;
   22.41 +import java.util.Calendar;
   22.42 +
   22.43 +/**
   22.44 + *
   22.45 + * @author Ing. František Kučera (frantovo.cz)
   22.46 + */
   22.47 +public abstract class AbstractPreparedStatement extends AbstractStatement implements java.sql.PreparedStatement {
   22.48 +
   22.49 +	@Override
   22.50 +	public ResultSet executeQuery() throws SQLException {
   22.51 +		throw new SQLException("Not supported yet.");
   22.52 +	}
   22.53 +
   22.54 +	@Override
   22.55 +	public int executeUpdate() throws SQLException {
   22.56 +		throw new SQLException("Not supported yet.");
   22.57 +	}
   22.58 +
   22.59 +	@Override
   22.60 +	public void setNull(int parameterIndex, int sqlType) throws SQLException {
   22.61 +		throw new SQLException("Not supported yet.");
   22.62 +	}
   22.63 +
   22.64 +	@Override
   22.65 +	public void setBoolean(int parameterIndex, boolean x) throws SQLException {
   22.66 +		throw new SQLException("Not supported yet.");
   22.67 +	}
   22.68 +
   22.69 +	@Override
   22.70 +	public void setByte(int parameterIndex, byte x) throws SQLException {
   22.71 +		throw new SQLException("Not supported yet.");
   22.72 +	}
   22.73 +
   22.74 +	@Override
   22.75 +	public void setShort(int parameterIndex, short x) throws SQLException {
   22.76 +		throw new SQLException("Not supported yet.");
   22.77 +	}
   22.78 +
   22.79 +	@Override
   22.80 +	public void setInt(int parameterIndex, int x) throws SQLException {
   22.81 +		throw new SQLException("Not supported yet.");
   22.82 +	}
   22.83 +
   22.84 +	@Override
   22.85 +	public void setLong(int parameterIndex, long x) throws SQLException {
   22.86 +		throw new SQLException("Not supported yet.");
   22.87 +	}
   22.88 +
   22.89 +	@Override
   22.90 +	public void setFloat(int parameterIndex, float x) throws SQLException {
   22.91 +		throw new SQLException("Not supported yet.");
   22.92 +	}
   22.93 +
   22.94 +	@Override
   22.95 +	public void setDouble(int parameterIndex, double x) throws SQLException {
   22.96 +		throw new SQLException("Not supported yet.");
   22.97 +	}
   22.98 +
   22.99 +	@Override
  22.100 +	public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
  22.101 +		throw new SQLException("Not supported yet.");
  22.102 +	}
  22.103 +
  22.104 +	@Override
  22.105 +	public void setString(int parameterIndex, String x) throws SQLException {
  22.106 +		throw new SQLException("Not supported yet.");
  22.107 +	}
  22.108 +
  22.109 +	@Override
  22.110 +	public void setBytes(int parameterIndex, byte[] x) throws SQLException {
  22.111 +		throw new SQLException("Not supported yet.");
  22.112 +	}
  22.113 +
  22.114 +	@Override
  22.115 +	public void setDate(int parameterIndex, Date x) throws SQLException {
  22.116 +		throw new SQLException("Not supported yet.");
  22.117 +	}
  22.118 +
  22.119 +	@Override
  22.120 +	public void setTime(int parameterIndex, Time x) throws SQLException {
  22.121 +		throw new SQLException("Not supported yet.");
  22.122 +	}
  22.123 +
  22.124 +	@Override
  22.125 +	public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
  22.126 +		throw new SQLException("Not supported yet.");
  22.127 +	}
  22.128 +
  22.129 +	@Override
  22.130 +	public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
  22.131 +		throw new SQLException("Not supported yet.");
  22.132 +	}
  22.133 +
  22.134 +	@Override
  22.135 +	@Deprecated
  22.136 +	public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
  22.137 +		throw new SQLException("Not supported yet.");
  22.138 +	}
  22.139 +
  22.140 +	@Override
  22.141 +	public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
  22.142 +		throw new SQLException("Not supported yet.");
  22.143 +	}
  22.144 +
  22.145 +	@Override
  22.146 +	public void clearParameters() throws SQLException {
  22.147 +		throw new SQLException("Not supported yet.");
  22.148 +	}
  22.149 +
  22.150 +	@Override
  22.151 +	public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
  22.152 +		throw new SQLException("Not supported yet.");
  22.153 +	}
  22.154 +
  22.155 +	@Override
  22.156 +	public void setObject(int parameterIndex, Object x) throws SQLException {
  22.157 +		throw new SQLException("Not supported yet.");
  22.158 +	}
  22.159 +
  22.160 +	@Override
  22.161 +	public boolean execute() throws SQLException {
  22.162 +		throw new SQLException("Not supported yet.");
  22.163 +	}
  22.164 +
  22.165 +	@Override
  22.166 +	public void addBatch() throws SQLException {
  22.167 +		throw new SQLException("Not supported yet.");
  22.168 +	}
  22.169 +
  22.170 +	@Override
  22.171 +	public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
  22.172 +		throw new SQLException("Not supported yet.");
  22.173 +	}
  22.174 +
  22.175 +	@Override
  22.176 +	public void setRef(int parameterIndex, Ref x) throws SQLException {
  22.177 +		throw new SQLException("Not supported yet.");
  22.178 +	}
  22.179 +
  22.180 +	@Override
  22.181 +	public void setBlob(int parameterIndex, Blob x) throws SQLException {
  22.182 +		throw new SQLException("Not supported yet.");
  22.183 +	}
  22.184 +
  22.185 +	@Override
  22.186 +	public void setClob(int parameterIndex, Clob x) throws SQLException {
  22.187 +		throw new SQLException("Not supported yet.");
  22.188 +	}
  22.189 +
  22.190 +	@Override
  22.191 +	public void setArray(int parameterIndex, Array x) throws SQLException {
  22.192 +		throw new SQLException("Not supported yet.");
  22.193 +	}
  22.194 +
  22.195 +	@Override
  22.196 +	public ResultSetMetaData getMetaData() throws SQLException {
  22.197 +		throw new SQLException("Not supported yet.");
  22.198 +	}
  22.199 +
  22.200 +	@Override
  22.201 +	public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
  22.202 +		throw new SQLException("Not supported yet.");
  22.203 +	}
  22.204 +
  22.205 +	@Override
  22.206 +	public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
  22.207 +		throw new SQLException("Not supported yet.");
  22.208 +	}
  22.209 +
  22.210 +	@Override
  22.211 +	public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
  22.212 +		throw new SQLException("Not supported yet.");
  22.213 +	}
  22.214 +
  22.215 +	@Override
  22.216 +	public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
  22.217 +		throw new SQLException("Not supported yet.");
  22.218 +	}
  22.219 +
  22.220 +	@Override
  22.221 +	public void setURL(int parameterIndex, URL x) throws SQLException {
  22.222 +		throw new SQLException("Not supported yet.");
  22.223 +	}
  22.224 +
  22.225 +	@Override
  22.226 +	public ParameterMetaData getParameterMetaData() throws SQLException {
  22.227 +		throw new SQLException("Not supported yet.");
  22.228 +	}
  22.229 +
  22.230 +	@Override
  22.231 +	public void setRowId(int parameterIndex, RowId x) throws SQLException {
  22.232 +		throw new SQLException("Not supported yet.");
  22.233 +	}
  22.234 +
  22.235 +	@Override
  22.236 +	public void setNString(int parameterIndex, String value) throws SQLException {
  22.237 +		throw new SQLException("Not supported yet.");
  22.238 +	}
  22.239 +
  22.240 +	@Override
  22.241 +	public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
  22.242 +		throw new SQLException("Not supported yet.");
  22.243 +	}
  22.244 +
  22.245 +	@Override
  22.246 +	public void setNClob(int parameterIndex, NClob value) throws SQLException {
  22.247 +		throw new SQLException("Not supported yet.");
  22.248 +	}
  22.249 +
  22.250 +	@Override
  22.251 +	public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
  22.252 +		throw new SQLException("Not supported yet.");
  22.253 +	}
  22.254 +
  22.255 +	@Override
  22.256 +	public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
  22.257 +		throw new SQLException("Not supported yet.");
  22.258 +	}
  22.259 +
  22.260 +	@Override
  22.261 +	public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
  22.262 +		throw new SQLException("Not supported yet.");
  22.263 +	}
  22.264 +
  22.265 +	@Override
  22.266 +	public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
  22.267 +		throw new SQLException("Not supported yet.");
  22.268 +	}
  22.269 +
  22.270 +	@Override
  22.271 +	public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
  22.272 +		throw new SQLException("Not supported yet.");
  22.273 +	}
  22.274 +
  22.275 +	@Override
  22.276 +	public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
  22.277 +		throw new SQLException("Not supported yet.");
  22.278 +	}
  22.279 +
  22.280 +	@Override
  22.281 +	public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
  22.282 +		throw new SQLException("Not supported yet.");
  22.283 +	}
  22.284 +
  22.285 +	@Override
  22.286 +	public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
  22.287 +		throw new SQLException("Not supported yet.");
  22.288 +	}
  22.289 +
  22.290 +	@Override
  22.291 +	public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
  22.292 +		throw new SQLException("Not supported yet.");
  22.293 +	}
  22.294 +
  22.295 +	@Override
  22.296 +	public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
  22.297 +		throw new SQLException("Not supported yet.");
  22.298 +	}
  22.299 +
  22.300 +	@Override
  22.301 +	public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
  22.302 +		throw new SQLException("Not supported yet.");
  22.303 +	}
  22.304 +
  22.305 +	@Override
  22.306 +	public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
  22.307 +		throw new SQLException("Not supported yet.");
  22.308 +	}
  22.309 +
  22.310 +	@Override
  22.311 +	public void setClob(int parameterIndex, Reader reader) throws SQLException {
  22.312 +		throw new SQLException("Not supported yet.");
  22.313 +	}
  22.314 +
  22.315 +	@Override
  22.316 +	public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
  22.317 +		throw new SQLException("Not supported yet.");
  22.318 +	}
  22.319 +
  22.320 +	@Override
  22.321 +	public void setNClob(int parameterIndex, Reader reader) throws SQLException {
  22.322 +		throw new SQLException("Not supported yet.");
  22.323 +	}
  22.324 +
  22.325 +}
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractResultSet.java	Mon Mar 04 17:06:42 2019 +0100
    23.3 @@ -0,0 +1,1000 @@
    23.4 +/**
    23.5 + * SQL-DK
    23.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    23.7 + *
    23.8 + * This program is free software: you can redistribute it and/or modify
    23.9 + * it under the terms of the GNU General Public License as published by
   23.10 + * the Free Software Foundation, either version 3 of the License, or
   23.11 + * (at your option) any later version.
   23.12 + *
   23.13 + * This program is distributed in the hope that it will be useful,
   23.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   23.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   23.16 + * GNU General Public License for more details.
   23.17 + *
   23.18 + * You should have received a copy of the GNU General Public License
   23.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   23.20 + */
   23.21 +package info.globalcode.jdbc.loopback;
   23.22 +
   23.23 +import java.io.InputStream;
   23.24 +import java.io.Reader;
   23.25 +import java.math.BigDecimal;
   23.26 +import java.net.URL;
   23.27 +import java.sql.Array;
   23.28 +import java.sql.Blob;
   23.29 +import java.sql.Clob;
   23.30 +import java.sql.Date;
   23.31 +import java.sql.NClob;
   23.32 +import java.sql.Ref;
   23.33 +import java.sql.RowId;
   23.34 +import java.sql.SQLException;
   23.35 +import java.sql.SQLWarning;
   23.36 +import java.sql.SQLXML;
   23.37 +import java.sql.Statement;
   23.38 +import java.sql.Time;
   23.39 +import java.sql.Timestamp;
   23.40 +import java.util.Calendar;
   23.41 +import java.util.Map;
   23.42 +
   23.43 +/**
   23.44 + *
   23.45 + * @author Ing. František Kučera (frantovo.cz)
   23.46 + */
   23.47 +public abstract class AbstractResultSet implements java.sql.ResultSet {
   23.48 +
   23.49 +	@Override
   23.50 +	public boolean next() throws SQLException {
   23.51 +		throw new SQLException("Not supported yet.");
   23.52 +	}
   23.53 +
   23.54 +	@Override
   23.55 +	public void close() throws SQLException {
   23.56 +		throw new SQLException("Not supported yet.");
   23.57 +	}
   23.58 +
   23.59 +	@Override
   23.60 +	public boolean wasNull() throws SQLException {
   23.61 +		throw new SQLException("Not supported yet.");
   23.62 +	}
   23.63 +
   23.64 +	@Override
   23.65 +	public String getString(int columnIndex) throws SQLException {
   23.66 +		throw new SQLException("Not supported yet.");
   23.67 +	}
   23.68 +
   23.69 +	@Override
   23.70 +	public boolean getBoolean(int columnIndex) throws SQLException {
   23.71 +		throw new SQLException("Not supported yet.");
   23.72 +	}
   23.73 +
   23.74 +	@Override
   23.75 +	public byte getByte(int columnIndex) throws SQLException {
   23.76 +		throw new SQLException("Not supported yet.");
   23.77 +	}
   23.78 +
   23.79 +	@Override
   23.80 +	public short getShort(int columnIndex) throws SQLException {
   23.81 +		throw new SQLException("Not supported yet.");
   23.82 +	}
   23.83 +
   23.84 +	@Override
   23.85 +	public int getInt(int columnIndex) throws SQLException {
   23.86 +		throw new SQLException("Not supported yet.");
   23.87 +	}
   23.88 +
   23.89 +	@Override
   23.90 +	public long getLong(int columnIndex) throws SQLException {
   23.91 +		throw new SQLException("Not supported yet.");
   23.92 +	}
   23.93 +
   23.94 +	@Override
   23.95 +	public float getFloat(int columnIndex) throws SQLException {
   23.96 +		throw new SQLException("Not supported yet.");
   23.97 +	}
   23.98 +
   23.99 +	@Override
  23.100 +	public double getDouble(int columnIndex) throws SQLException {
  23.101 +		throw new SQLException("Not supported yet.");
  23.102 +	}
  23.103 +
  23.104 +	@Override
  23.105 +	public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
  23.106 +		throw new SQLException("Not supported yet.");
  23.107 +	}
  23.108 +
  23.109 +	@Override
  23.110 +	public byte[] getBytes(int columnIndex) throws SQLException {
  23.111 +		throw new SQLException("Not supported yet.");
  23.112 +	}
  23.113 +
  23.114 +	@Override
  23.115 +	public Date getDate(int columnIndex) throws SQLException {
  23.116 +		throw new SQLException("Not supported yet.");
  23.117 +	}
  23.118 +
  23.119 +	@Override
  23.120 +	public Time getTime(int columnIndex) throws SQLException {
  23.121 +		throw new SQLException("Not supported yet.");
  23.122 +	}
  23.123 +
  23.124 +	@Override
  23.125 +	public Timestamp getTimestamp(int columnIndex) throws SQLException {
  23.126 +		throw new SQLException("Not supported yet.");
  23.127 +	}
  23.128 +
  23.129 +	@Override
  23.130 +	public InputStream getAsciiStream(int columnIndex) throws SQLException {
  23.131 +		throw new SQLException("Not supported yet.");
  23.132 +	}
  23.133 +
  23.134 +	@Override
  23.135 +	public InputStream getUnicodeStream(int columnIndex) throws SQLException {
  23.136 +		throw new SQLException("Not supported yet.");
  23.137 +	}
  23.138 +
  23.139 +	@Override
  23.140 +	public InputStream getBinaryStream(int columnIndex) throws SQLException {
  23.141 +		throw new SQLException("Not supported yet.");
  23.142 +	}
  23.143 +
  23.144 +	@Override
  23.145 +	public String getString(String columnLabel) throws SQLException {
  23.146 +		throw new SQLException("Not supported yet.");
  23.147 +	}
  23.148 +
  23.149 +	@Override
  23.150 +	public boolean getBoolean(String columnLabel) throws SQLException {
  23.151 +		throw new SQLException("Not supported yet.");
  23.152 +	}
  23.153 +
  23.154 +	@Override
  23.155 +	public byte getByte(String columnLabel) throws SQLException {
  23.156 +		throw new SQLException("Not supported yet.");
  23.157 +	}
  23.158 +
  23.159 +	@Override
  23.160 +	public short getShort(String columnLabel) throws SQLException {
  23.161 +		throw new SQLException("Not supported yet.");
  23.162 +	}
  23.163 +
  23.164 +	@Override
  23.165 +	public int getInt(String columnLabel) throws SQLException {
  23.166 +		throw new SQLException("Not supported yet.");
  23.167 +	}
  23.168 +
  23.169 +	@Override
  23.170 +	public long getLong(String columnLabel) throws SQLException {
  23.171 +		throw new SQLException("Not supported yet.");
  23.172 +	}
  23.173 +
  23.174 +	@Override
  23.175 +	public float getFloat(String columnLabel) throws SQLException {
  23.176 +		throw new SQLException("Not supported yet.");
  23.177 +	}
  23.178 +
  23.179 +	@Override
  23.180 +	public double getDouble(String columnLabel) throws SQLException {
  23.181 +		throw new SQLException("Not supported yet.");
  23.182 +	}
  23.183 +
  23.184 +	@Override
  23.185 +	public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException {
  23.186 +		throw new SQLException("Not supported yet.");
  23.187 +	}
  23.188 +
  23.189 +	@Override
  23.190 +	public byte[] getBytes(String columnLabel) throws SQLException {
  23.191 +		throw new SQLException("Not supported yet.");
  23.192 +	}
  23.193 +
  23.194 +	@Override
  23.195 +	public Date getDate(String columnLabel) throws SQLException {
  23.196 +		throw new SQLException("Not supported yet.");
  23.197 +	}
  23.198 +
  23.199 +	@Override
  23.200 +	public Time getTime(String columnLabel) throws SQLException {
  23.201 +		throw new SQLException("Not supported yet.");
  23.202 +	}
  23.203 +
  23.204 +	@Override
  23.205 +	public Timestamp getTimestamp(String columnLabel) throws SQLException {
  23.206 +		throw new SQLException("Not supported yet.");
  23.207 +	}
  23.208 +
  23.209 +	@Override
  23.210 +	public InputStream getAsciiStream(String columnLabel) throws SQLException {
  23.211 +		throw new SQLException("Not supported yet.");
  23.212 +	}
  23.213 +
  23.214 +	@Override
  23.215 +	public InputStream getUnicodeStream(String columnLabel) throws SQLException {
  23.216 +		throw new SQLException("Not supported yet.");
  23.217 +	}
  23.218 +
  23.219 +	@Override
  23.220 +	public InputStream getBinaryStream(String columnLabel) throws SQLException {
  23.221 +		throw new SQLException("Not supported yet.");
  23.222 +	}
  23.223 +
  23.224 +	@Override
  23.225 +	public SQLWarning getWarnings() throws SQLException {
  23.226 +		throw new SQLException("Not supported yet.");
  23.227 +	}
  23.228 +
  23.229 +	@Override
  23.230 +	public void clearWarnings() throws SQLException {
  23.231 +		throw new SQLException("Not supported yet.");
  23.232 +	}
  23.233 +
  23.234 +	@Override
  23.235 +	public String getCursorName() throws SQLException {
  23.236 +		throw new SQLException("Not supported yet.");
  23.237 +	}
  23.238 +
  23.239 +	@Override
  23.240 +	public java.sql.ResultSetMetaData getMetaData() throws SQLException {
  23.241 +		throw new SQLException("Not supported yet.");
  23.242 +	}
  23.243 +
  23.244 +	@Override
  23.245 +	public Object getObject(int columnIndex) throws SQLException {
  23.246 +		throw new SQLException("Not supported yet.");
  23.247 +	}
  23.248 +
  23.249 +	@Override
  23.250 +	public Object getObject(String columnLabel) throws SQLException {
  23.251 +		throw new SQLException("Not supported yet.");
  23.252 +	}
  23.253 +
  23.254 +	@Override
  23.255 +	public int findColumn(String columnLabel) throws SQLException {
  23.256 +		throw new SQLException("Not supported yet.");
  23.257 +	}
  23.258 +
  23.259 +	@Override
  23.260 +	public Reader getCharacterStream(int columnIndex) throws SQLException {
  23.261 +		throw new SQLException("Not supported yet.");
  23.262 +	}
  23.263 +
  23.264 +	@Override
  23.265 +	public Reader getCharacterStream(String columnLabel) throws SQLException {
  23.266 +		throw new SQLException("Not supported yet.");
  23.267 +	}
  23.268 +
  23.269 +	@Override
  23.270 +	public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
  23.271 +		throw new SQLException("Not supported yet.");
  23.272 +	}
  23.273 +
  23.274 +	@Override
  23.275 +	public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
  23.276 +		throw new SQLException("Not supported yet.");
  23.277 +	}
  23.278 +
  23.279 +	@Override
  23.280 +	public boolean isBeforeFirst() throws SQLException {
  23.281 +		throw new SQLException("Not supported yet.");
  23.282 +	}
  23.283 +
  23.284 +	@Override
  23.285 +	public boolean isAfterLast() throws SQLException {
  23.286 +		throw new SQLException("Not supported yet.");
  23.287 +	}
  23.288 +
  23.289 +	@Override
  23.290 +	public boolean isFirst() throws SQLException {
  23.291 +		throw new SQLException("Not supported yet.");
  23.292 +	}
  23.293 +
  23.294 +	@Override
  23.295 +	public boolean isLast() throws SQLException {
  23.296 +		throw new SQLException("Not supported yet.");
  23.297 +	}
  23.298 +
  23.299 +	@Override
  23.300 +	public void beforeFirst() throws SQLException {
  23.301 +		throw new SQLException("Not supported yet.");
  23.302 +	}
  23.303 +
  23.304 +	@Override
  23.305 +	public void afterLast() throws SQLException {
  23.306 +		throw new SQLException("Not supported yet.");
  23.307 +	}
  23.308 +
  23.309 +	@Override
  23.310 +	public boolean first() throws SQLException {
  23.311 +		throw new SQLException("Not supported yet.");
  23.312 +	}
  23.313 +
  23.314 +	@Override
  23.315 +	public boolean last() throws SQLException {
  23.316 +		throw new SQLException("Not supported yet.");
  23.317 +	}
  23.318 +
  23.319 +	@Override
  23.320 +	public int getRow() throws SQLException {
  23.321 +		throw new SQLException("Not supported yet.");
  23.322 +	}
  23.323 +
  23.324 +	@Override
  23.325 +	public boolean absolute(int row) throws SQLException {
  23.326 +		throw new SQLException("Not supported yet.");
  23.327 +	}
  23.328 +
  23.329 +	@Override
  23.330 +	public boolean relative(int rows) throws SQLException {
  23.331 +		throw new SQLException("Not supported yet.");
  23.332 +	}
  23.333 +
  23.334 +	@Override
  23.335 +	public boolean previous() throws SQLException {
  23.336 +		throw new SQLException("Not supported yet.");
  23.337 +	}
  23.338 +
  23.339 +	@Override
  23.340 +	public void setFetchDirection(int direction) throws SQLException {
  23.341 +		throw new SQLException("Not supported yet.");
  23.342 +	}
  23.343 +
  23.344 +	@Override
  23.345 +	public int getFetchDirection() throws SQLException {
  23.346 +		throw new SQLException("Not supported yet.");
  23.347 +	}
  23.348 +
  23.349 +	@Override
  23.350 +	public void setFetchSize(int rows) throws SQLException {
  23.351 +		throw new SQLException("Not supported yet.");
  23.352 +	}
  23.353 +
  23.354 +	@Override
  23.355 +	public int getFetchSize() throws SQLException {
  23.356 +		throw new SQLException("Not supported yet.");
  23.357 +	}
  23.358 +
  23.359 +	@Override
  23.360 +	public int getType() throws SQLException {
  23.361 +		throw new SQLException("Not supported yet.");
  23.362 +	}
  23.363 +
  23.364 +	@Override
  23.365 +	public int getConcurrency() throws SQLException {
  23.366 +		throw new SQLException("Not supported yet.");
  23.367 +	}
  23.368 +
  23.369 +	@Override
  23.370 +	public boolean rowUpdated() throws SQLException {
  23.371 +		throw new SQLException("Not supported yet.");
  23.372 +	}
  23.373 +
  23.374 +	@Override
  23.375 +	public boolean rowInserted() throws SQLException {
  23.376 +		throw new SQLException("Not supported yet.");
  23.377 +	}
  23.378 +
  23.379 +	@Override
  23.380 +	public boolean rowDeleted() throws SQLException {
  23.381 +		throw new SQLException("Not supported yet.");
  23.382 +	}
  23.383 +
  23.384 +	@Override
  23.385 +	public void updateNull(int columnIndex) throws SQLException {
  23.386 +		throw new SQLException("Not supported yet.");
  23.387 +	}
  23.388 +
  23.389 +	@Override
  23.390 +	public void updateBoolean(int columnIndex, boolean x) throws SQLException {
  23.391 +		throw new SQLException("Not supported yet.");
  23.392 +	}
  23.393 +
  23.394 +	@Override
  23.395 +	public void updateByte(int columnIndex, byte x) throws SQLException {
  23.396 +		throw new SQLException("Not supported yet.");
  23.397 +	}
  23.398 +
  23.399 +	@Override
  23.400 +	public void updateShort(int columnIndex, short x) throws SQLException {
  23.401 +		throw new SQLException("Not supported yet.");
  23.402 +	}
  23.403 +
  23.404 +	@Override
  23.405 +	public void updateInt(int columnIndex, int x) throws SQLException {
  23.406 +		throw new SQLException("Not supported yet.");
  23.407 +	}
  23.408 +
  23.409 +	@Override
  23.410 +	public void updateLong(int columnIndex, long x) throws SQLException {
  23.411 +		throw new SQLException("Not supported yet.");
  23.412 +	}
  23.413 +
  23.414 +	@Override
  23.415 +	public void updateFloat(int columnIndex, float x) throws SQLException {
  23.416 +		throw new SQLException("Not supported yet.");
  23.417 +	}
  23.418 +
  23.419 +	@Override
  23.420 +	public void updateDouble(int columnIndex, double x) throws SQLException {
  23.421 +		throw new SQLException("Not supported yet.");
  23.422 +	}
  23.423 +
  23.424 +	@Override
  23.425 +	public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
  23.426 +		throw new SQLException("Not supported yet.");
  23.427 +	}
  23.428 +
  23.429 +	@Override
  23.430 +	public void updateString(int columnIndex, String x) throws SQLException {
  23.431 +		throw new SQLException("Not supported yet.");
  23.432 +	}
  23.433 +
  23.434 +	@Override
  23.435 +	public void updateBytes(int columnIndex, byte[] x) throws SQLException {
  23.436 +		throw new SQLException("Not supported yet.");
  23.437 +	}
  23.438 +
  23.439 +	@Override
  23.440 +	public void updateDate(int columnIndex, Date x) throws SQLException {
  23.441 +		throw new SQLException("Not supported yet.");
  23.442 +	}
  23.443 +
  23.444 +	@Override
  23.445 +	public void updateTime(int columnIndex, Time x) throws SQLException {
  23.446 +		throw new SQLException("Not supported yet.");
  23.447 +	}
  23.448 +
  23.449 +	@Override
  23.450 +	public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
  23.451 +		throw new SQLException("Not supported yet.");
  23.452 +	}
  23.453 +
  23.454 +	@Override
  23.455 +	public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
  23.456 +		throw new SQLException("Not supported yet.");
  23.457 +	}
  23.458 +
  23.459 +	@Override
  23.460 +	public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
  23.461 +		throw new SQLException("Not supported yet.");
  23.462 +	}
  23.463 +
  23.464 +	@Override
  23.465 +	public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
  23.466 +		throw new SQLException("Not supported yet.");
  23.467 +	}
  23.468 +
  23.469 +	@Override
  23.470 +	public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
  23.471 +		throw new SQLException("Not supported yet.");
  23.472 +	}
  23.473 +
  23.474 +	@Override
  23.475 +	public void updateObject(int columnIndex, Object x) throws SQLException {
  23.476 +		throw new SQLException("Not supported yet.");
  23.477 +	}
  23.478 +
  23.479 +	@Override
  23.480 +	public void updateNull(String columnLabel) throws SQLException {
  23.481 +		throw new SQLException("Not supported yet.");
  23.482 +	}
  23.483 +
  23.484 +	@Override
  23.485 +	public void updateBoolean(String columnLabel, boolean x) throws SQLException {
  23.486 +		throw new SQLException("Not supported yet.");
  23.487 +	}
  23.488 +
  23.489 +	@Override
  23.490 +	public void updateByte(String columnLabel, byte x) throws SQLException {
  23.491 +		throw new SQLException("Not supported yet.");
  23.492 +	}
  23.493 +
  23.494 +	@Override
  23.495 +	public void updateShort(String columnLabel, short x) throws SQLException {
  23.496 +		throw new SQLException("Not supported yet.");
  23.497 +	}
  23.498 +
  23.499 +	@Override
  23.500 +	public void updateInt(String columnLabel, int x) throws SQLException {
  23.501 +		throw new SQLException("Not supported yet.");
  23.502 +	}
  23.503 +
  23.504 +	@Override
  23.505 +	public void updateLong(String columnLabel, long x) throws SQLException {
  23.506 +		throw new SQLException("Not supported yet.");
  23.507 +	}
  23.508 +
  23.509 +	@Override
  23.510 +	public void updateFloat(String columnLabel, float x) throws SQLException {
  23.511 +		throw new SQLException("Not supported yet.");
  23.512 +	}
  23.513 +
  23.514 +	@Override
  23.515 +	public void updateDouble(String columnLabel, double x) throws SQLException {
  23.516 +		throw new SQLException("Not supported yet.");
  23.517 +	}
  23.518 +
  23.519 +	@Override
  23.520 +	public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
  23.521 +		throw new SQLException("Not supported yet.");
  23.522 +	}
  23.523 +
  23.524 +	@Override
  23.525 +	public void updateString(String columnLabel, String x) throws SQLException {
  23.526 +		throw new SQLException("Not supported yet.");
  23.527 +	}
  23.528 +
  23.529 +	@Override
  23.530 +	public void updateBytes(String columnLabel, byte[] x) throws SQLException {
  23.531 +		throw new SQLException("Not supported yet.");
  23.532 +	}
  23.533 +
  23.534 +	@Override
  23.535 +	public void updateDate(String columnLabel, Date x) throws SQLException {
  23.536 +		throw new SQLException("Not supported yet.");
  23.537 +	}
  23.538 +
  23.539 +	@Override
  23.540 +	public void updateTime(String columnLabel, Time x) throws SQLException {
  23.541 +		throw new SQLException("Not supported yet.");
  23.542 +	}
  23.543 +
  23.544 +	@Override
  23.545 +	public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
  23.546 +		throw new SQLException("Not supported yet.");
  23.547 +	}
  23.548 +
  23.549 +	@Override
  23.550 +	public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
  23.551 +		throw new SQLException("Not supported yet.");
  23.552 +	}
  23.553 +
  23.554 +	@Override
  23.555 +	public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
  23.556 +		throw new SQLException("Not supported yet.");
  23.557 +	}
  23.558 +
  23.559 +	@Override
  23.560 +	public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
  23.561 +		throw new SQLException("Not supported yet.");
  23.562 +	}
  23.563 +
  23.564 +	@Override
  23.565 +	public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
  23.566 +		throw new SQLException("Not supported yet.");
  23.567 +	}
  23.568 +
  23.569 +	@Override
  23.570 +	public void updateObject(String columnLabel, Object x) throws SQLException {
  23.571 +		throw new SQLException("Not supported yet.");
  23.572 +	}
  23.573 +
  23.574 +	@Override
  23.575 +	public void insertRow() throws SQLException {
  23.576 +		throw new SQLException("Not supported yet.");
  23.577 +	}
  23.578 +
  23.579 +	@Override
  23.580 +	public void updateRow() throws SQLException {
  23.581 +		throw new SQLException("Not supported yet.");
  23.582 +	}
  23.583 +
  23.584 +	@Override
  23.585 +	public void deleteRow() throws SQLException {
  23.586 +		throw new SQLException("Not supported yet.");
  23.587 +	}
  23.588 +
  23.589 +	@Override
  23.590 +	public void refreshRow() throws SQLException {
  23.591 +		throw new SQLException("Not supported yet.");
  23.592 +	}
  23.593 +
  23.594 +	@Override
  23.595 +	public void cancelRowUpdates() throws SQLException {
  23.596 +		throw new SQLException("Not supported yet.");
  23.597 +	}
  23.598 +
  23.599 +	@Override
  23.600 +	public void moveToInsertRow() throws SQLException {
  23.601 +		throw new SQLException("Not supported yet.");
  23.602 +	}
  23.603 +
  23.604 +	@Override
  23.605 +	public void moveToCurrentRow() throws SQLException {
  23.606 +		throw new SQLException("Not supported yet.");
  23.607 +	}
  23.608 +
  23.609 +	@Override
  23.610 +	public Statement getStatement() throws SQLException {
  23.611 +		throw new SQLException("Not supported yet.");
  23.612 +	}
  23.613 +
  23.614 +	@Override
  23.615 +	public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
  23.616 +		throw new SQLException("Not supported yet.");
  23.617 +	}
  23.618 +
  23.619 +	@Override
  23.620 +	public Ref getRef(int columnIndex) throws SQLException {
  23.621 +		throw new SQLException("Not supported yet.");
  23.622 +	}
  23.623 +
  23.624 +	@Override
  23.625 +	public Blob getBlob(int columnIndex) throws SQLException {
  23.626 +		throw new SQLException("Not supported yet.");
  23.627 +	}
  23.628 +
  23.629 +	@Override
  23.630 +	public Clob getClob(int columnIndex) throws SQLException {
  23.631 +		throw new SQLException("Not supported yet.");
  23.632 +	}
  23.633 +
  23.634 +	@Override
  23.635 +	public Array getArray(int columnIndex) throws SQLException {
  23.636 +		throw new SQLException("Not supported yet.");
  23.637 +	}
  23.638 +
  23.639 +	@Override
  23.640 +	public Object getObject(String columnLabel, Map<String, Class<?>> map) throws SQLException {
  23.641 +		throw new SQLException("Not supported yet.");
  23.642 +	}
  23.643 +
  23.644 +	@Override
  23.645 +	public Ref getRef(String columnLabel) throws SQLException {
  23.646 +		throw new SQLException("Not supported yet.");
  23.647 +	}
  23.648 +
  23.649 +	@Override
  23.650 +	public Blob getBlob(String columnLabel) throws SQLException {
  23.651 +		throw new SQLException("Not supported yet.");
  23.652 +	}
  23.653 +
  23.654 +	@Override
  23.655 +	public Clob getClob(String columnLabel) throws SQLException {
  23.656 +		throw new SQLException("Not supported yet.");
  23.657 +	}
  23.658 +
  23.659 +	@Override
  23.660 +	public Array getArray(String columnLabel) throws SQLException {
  23.661 +		throw new SQLException("Not supported yet.");
  23.662 +	}
  23.663 +
  23.664 +	@Override
  23.665 +	public Date getDate(int columnIndex, Calendar cal) throws SQLException {
  23.666 +		throw new SQLException("Not supported yet.");
  23.667 +	}
  23.668 +
  23.669 +	@Override
  23.670 +	public Date getDate(String columnLabel, Calendar cal) throws SQLException {
  23.671 +		throw new SQLException("Not supported yet.");
  23.672 +	}
  23.673 +
  23.674 +	@Override
  23.675 +	public Time getTime(int columnIndex, Calendar cal) throws SQLException {
  23.676 +		throw new SQLException("Not supported yet.");
  23.677 +	}
  23.678 +
  23.679 +	@Override
  23.680 +	public Time getTime(String columnLabel, Calendar cal) throws SQLException {
  23.681 +		throw new SQLException("Not supported yet.");
  23.682 +	}
  23.683 +
  23.684 +	@Override
  23.685 +	public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
  23.686 +		throw new SQLException("Not supported yet.");
  23.687 +	}
  23.688 +
  23.689 +	@Override
  23.690 +	public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException {
  23.691 +		throw new SQLException("Not supported yet.");
  23.692 +	}
  23.693 +
  23.694 +	@Override
  23.695 +	public URL getURL(int columnIndex) throws SQLException {
  23.696 +		throw new SQLException("Not supported yet.");
  23.697 +	}
  23.698 +
  23.699 +	@Override
  23.700 +	public URL getURL(String columnLabel) throws SQLException {
  23.701 +		throw new SQLException("Not supported yet.");
  23.702 +	}
  23.703 +
  23.704 +	@Override
  23.705 +	public void updateRef(int columnIndex, Ref x) throws SQLException {
  23.706 +		throw new SQLException("Not supported yet.");
  23.707 +	}
  23.708 +
  23.709 +	@Override
  23.710 +	public void updateRef(String columnLabel, Ref x) throws SQLException {
  23.711 +		throw new SQLException("Not supported yet.");
  23.712 +	}
  23.713 +
  23.714 +	@Override
  23.715 +	public void updateBlob(int columnIndex, Blob x) throws SQLException {
  23.716 +		throw new SQLException("Not supported yet.");
  23.717 +	}
  23.718 +
  23.719 +	@Override
  23.720 +	public void updateBlob(String columnLabel, Blob x) throws SQLException {
  23.721 +		throw new SQLException("Not supported yet.");
  23.722 +	}
  23.723 +
  23.724 +	@Override
  23.725 +	public void updateClob(int columnIndex, Clob x) throws SQLException {
  23.726 +		throw new SQLException("Not supported yet.");
  23.727 +	}
  23.728 +
  23.729 +	@Override
  23.730 +	public void updateClob(String columnLabel, Clob x) throws SQLException {
  23.731 +		throw new SQLException("Not supported yet.");
  23.732 +	}
  23.733 +
  23.734 +	@Override
  23.735 +	public void updateArray(int columnIndex, Array x) throws SQLException {
  23.736 +		throw new SQLException("Not supported yet.");
  23.737 +	}
  23.738 +
  23.739 +	@Override
  23.740 +	public void updateArray(String columnLabel, Array x) throws SQLException {
  23.741 +		throw new SQLException("Not supported yet.");
  23.742 +	}
  23.743 +
  23.744 +	@Override
  23.745 +	public RowId getRowId(int columnIndex) throws SQLException {
  23.746 +		throw new SQLException("Not supported yet.");
  23.747 +	}
  23.748 +
  23.749 +	@Override
  23.750 +	public RowId getRowId(String columnLabel) throws SQLException {
  23.751 +		throw new SQLException("Not supported yet.");
  23.752 +	}
  23.753 +
  23.754 +	@Override
  23.755 +	public void updateRowId(int columnIndex, RowId x) throws SQLException {
  23.756 +		throw new SQLException("Not supported yet.");
  23.757 +	}
  23.758 +
  23.759 +	@Override
  23.760 +	public void updateRowId(String columnLabel, RowId x) throws SQLException {
  23.761 +		throw new SQLException("Not supported yet.");
  23.762 +	}
  23.763 +
  23.764 +	@Override
  23.765 +	public int getHoldability() throws SQLException {
  23.766 +		throw new SQLException("Not supported yet.");
  23.767 +	}
  23.768 +
  23.769 +	@Override
  23.770 +	public boolean isClosed() throws SQLException {
  23.771 +		throw new SQLException("Not supported yet.");
  23.772 +	}
  23.773 +
  23.774 +	@Override
  23.775 +	public void updateNString(int columnIndex, String nString) throws SQLException {
  23.776 +		throw new SQLException("Not supported yet.");
  23.777 +	}
  23.778 +
  23.779 +	@Override
  23.780 +	public void updateNString(String columnLabel, String nString) throws SQLException {
  23.781 +		throw new SQLException("Not supported yet.");
  23.782 +	}
  23.783 +
  23.784 +	@Override
  23.785 +	public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
  23.786 +		throw new SQLException("Not supported yet.");
  23.787 +	}
  23.788 +
  23.789 +	@Override
  23.790 +	public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
  23.791 +		throw new SQLException("Not supported yet.");
  23.792 +	}
  23.793 +
  23.794 +	@Override
  23.795 +	public NClob getNClob(int columnIndex) throws SQLException {
  23.796 +		throw new SQLException("Not supported yet.");
  23.797 +	}
  23.798 +
  23.799 +	@Override
  23.800 +	public NClob getNClob(String columnLabel) throws SQLException {
  23.801 +		throw new SQLException("Not supported yet.");
  23.802 +	}
  23.803 +
  23.804 +	@Override
  23.805 +	public SQLXML getSQLXML(int columnIndex) throws SQLException {
  23.806 +		throw new SQLException("Not supported yet.");
  23.807 +	}
  23.808 +
  23.809 +	@Override
  23.810 +	public SQLXML getSQLXML(String columnLabel) throws SQLException {
  23.811 +		throw new SQLException("Not supported yet.");
  23.812 +	}
  23.813 +
  23.814 +	@Override
  23.815 +	public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
  23.816 +		throw new SQLException("Not supported yet.");
  23.817 +	}
  23.818 +
  23.819 +	@Override
  23.820 +	public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
  23.821 +		throw new SQLException("Not supported yet.");
  23.822 +	}
  23.823 +
  23.824 +	@Override
  23.825 +	public String getNString(int columnIndex) throws SQLException {
  23.826 +		throw new SQLException("Not supported yet.");
  23.827 +	}
  23.828 +
  23.829 +	@Override
  23.830 +	public String getNString(String columnLabel) throws SQLException {
  23.831 +		throw new SQLException("Not supported yet.");
  23.832 +	}
  23.833 +
  23.834 +	@Override
  23.835 +	public Reader getNCharacterStream(int columnIndex) throws SQLException {
  23.836 +		throw new SQLException("Not supported yet.");
  23.837 +	}
  23.838 +
  23.839 +	@Override
  23.840 +	public Reader getNCharacterStream(String columnLabel) throws SQLException {
  23.841 +		throw new SQLException("Not supported yet.");
  23.842 +	}
  23.843 +
  23.844 +	@Override
  23.845 +	public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
  23.846 +		throw new SQLException("Not supported yet.");
  23.847 +	}
  23.848 +
  23.849 +	@Override
  23.850 +	public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
  23.851 +		throw new SQLException("Not supported yet.");
  23.852 +	}
  23.853 +
  23.854 +	@Override
  23.855 +	public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
  23.856 +		throw new SQLException("Not supported yet.");
  23.857 +	}
  23.858 +
  23.859 +	@Override
  23.860 +	public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
  23.861 +		throw new SQLException("Not supported yet.");
  23.862 +	}
  23.863 +
  23.864 +	@Override
  23.865 +	public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
  23.866 +		throw new SQLException("Not supported yet.");
  23.867 +	}
  23.868 +
  23.869 +	@Override
  23.870 +	public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
  23.871 +		throw new SQLException("Not supported yet.");
  23.872 +	}
  23.873 +
  23.874 +	@Override
  23.875 +	public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
  23.876 +		throw new SQLException("Not supported yet.");
  23.877 +	}
  23.878 +
  23.879 +	@Override
  23.880 +	public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
  23.881 +		throw new SQLException("Not supported yet.");
  23.882 +	}
  23.883 +
  23.884 +	@Override
  23.885 +	public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
  23.886 +		throw new SQLException("Not supported yet.");
  23.887 +	}
  23.888 +
  23.889 +	@Override
  23.890 +	public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
  23.891 +		throw new SQLException("Not supported yet.");
  23.892 +	}
  23.893 +
  23.894 +	@Override
  23.895 +	public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
  23.896 +		throw new SQLException("Not supported yet.");
  23.897 +	}
  23.898 +
  23.899 +	@Override
  23.900 +	public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
  23.901 +		throw new SQLException("Not supported yet.");
  23.902 +	}
  23.903 +
  23.904 +	@Override
  23.905 +	public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
  23.906 +		throw new SQLException("Not supported yet.");
  23.907 +	}
  23.908 +
  23.909 +	@Override
  23.910 +	public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
  23.911 +		throw new SQLException("Not supported yet.");
  23.912 +	}
  23.913 +
  23.914 +	@Override
  23.915 +	public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
  23.916 +		throw new SQLException("Not supported yet.");
  23.917 +	}
  23.918 +
  23.919 +	@Override
  23.920 +	public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
  23.921 +		throw new SQLException("Not supported yet.");
  23.922 +	}
  23.923 +
  23.924 +	@Override
  23.925 +	public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
  23.926 +		throw new SQLException("Not supported yet.");
  23.927 +	}
  23.928 +
  23.929 +	@Override
  23.930 +	public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
  23.931 +		throw new SQLException("Not supported yet.");
  23.932 +	}
  23.933 +
  23.934 +	@Override
  23.935 +	public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
  23.936 +		throw new SQLException("Not supported yet.");
  23.937 +	}
  23.938 +
  23.939 +	@Override
  23.940 +	public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
  23.941 +		throw new SQLException("Not supported yet.");
  23.942 +	}
  23.943 +
  23.944 +	@Override
  23.945 +	public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
  23.946 +		throw new SQLException("Not supported yet.");
  23.947 +	}
  23.948 +
  23.949 +	@Override
  23.950 +	public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
  23.951 +		throw new SQLException("Not supported yet.");
  23.952 +	}
  23.953 +
  23.954 +	@Override
  23.955 +	public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
  23.956 +		throw new SQLException("Not supported yet.");
  23.957 +	}
  23.958 +
  23.959 +	@Override
  23.960 +	public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
  23.961 +		throw new SQLException("Not supported yet.");
  23.962 +	}
  23.963 +
  23.964 +	@Override
  23.965 +	public void updateClob(int columnIndex, Reader reader) throws SQLException {
  23.966 +		throw new SQLException("Not supported yet.");
  23.967 +	}
  23.968 +
  23.969 +	@Override
  23.970 +	public void updateClob(String columnLabel, Reader reader) throws SQLException {
  23.971 +		throw new SQLException("Not supported yet.");
  23.972 +	}
  23.973 +
  23.974 +	@Override
  23.975 +	public void updateNClob(int columnIndex, Reader reader) throws SQLException {
  23.976 +		throw new SQLException("Not supported yet.");
  23.977 +	}
  23.978 +
  23.979 +	@Override
  23.980 +	public void updateNClob(String columnLabel, Reader reader) throws SQLException {
  23.981 +		throw new SQLException("Not supported yet.");
  23.982 +	}
  23.983 +
  23.984 +	@Override
  23.985 +	public <T> T getObject(int columnIndex, Class<T> type) throws SQLException {
  23.986 +		throw new SQLException("Not supported yet.");
  23.987 +	}
  23.988 +
  23.989 +	@Override
  23.990 +	public <T> T getObject(String columnLabel, Class<T> type) throws SQLException {
  23.991 +		throw new SQLException("Not supported yet.");
  23.992 +	}
  23.993 +
  23.994 +	@Override
  23.995 +	public <T> T unwrap(Class<T> iface) throws SQLException {
  23.996 +		throw new SQLException("Not supported yet.");
  23.997 +	}
  23.998 +
  23.999 +	@Override
 23.1000 +	public boolean isWrapperFor(Class<?> iface) throws SQLException {
 23.1001 +		throw new SQLException("Not supported yet.");
 23.1002 +	}
 23.1003 +}
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractResultSetMetaData.java	Mon Mar 04 17:06:42 2019 +0100
    24.3 @@ -0,0 +1,142 @@
    24.4 +/**
    24.5 + * SQL-DK
    24.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    24.7 + *
    24.8 + * This program is free software: you can redistribute it and/or modify
    24.9 + * it under the terms of the GNU General Public License as published by
   24.10 + * the Free Software Foundation, either version 3 of the License, or
   24.11 + * (at your option) any later version.
   24.12 + *
   24.13 + * This program is distributed in the hope that it will be useful,
   24.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   24.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   24.16 + * GNU General Public License for more details.
   24.17 + *
   24.18 + * You should have received a copy of the GNU General Public License
   24.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   24.20 + */
   24.21 +package info.globalcode.jdbc.loopback;
   24.22 +
   24.23 +import java.sql.SQLException;
   24.24 +
   24.25 +/**
   24.26 + *
   24.27 + * @author Ing. František Kučera (frantovo.cz)
   24.28 + */
   24.29 +public abstract class AbstractResultSetMetaData implements java.sql.ResultSetMetaData {
   24.30 +
   24.31 +	@Override
   24.32 +	public int getColumnCount() throws SQLException {
   24.33 +		throw new SQLException("Not supported yet.");
   24.34 +	}
   24.35 +
   24.36 +	@Override
   24.37 +	public boolean isAutoIncrement(int column) throws SQLException {
   24.38 +		throw new SQLException("Not supported yet.");
   24.39 +	}
   24.40 +
   24.41 +	@Override
   24.42 +	public boolean isCaseSensitive(int column) throws SQLException {
   24.43 +		throw new SQLException("Not supported yet.");
   24.44 +	}
   24.45 +
   24.46 +	@Override
   24.47 +	public boolean isSearchable(int column) throws SQLException {
   24.48 +		throw new SQLException("Not supported yet.");
   24.49 +	}
   24.50 +
   24.51 +	@Override
   24.52 +	public boolean isCurrency(int column) throws SQLException {
   24.53 +		throw new SQLException("Not supported yet.");
   24.54 +	}
   24.55 +
   24.56 +	@Override
   24.57 +	public int isNullable(int column) throws SQLException {
   24.58 +		throw new SQLException("Not supported yet.");
   24.59 +	}
   24.60 +
   24.61 +	@Override
   24.62 +	public boolean isSigned(int column) throws SQLException {
   24.63 +		throw new SQLException("Not supported yet.");
   24.64 +	}
   24.65 +
   24.66 +	@Override
   24.67 +	public int getColumnDisplaySize(int column) throws SQLException {
   24.68 +		throw new SQLException("Not supported yet.");
   24.69 +	}
   24.70 +
   24.71 +	@Override
   24.72 +	public String getColumnLabel(int column) throws SQLException {
   24.73 +		throw new SQLException("Not supported yet.");
   24.74 +	}
   24.75 +
   24.76 +	@Override
   24.77 +	public String getColumnName(int column) throws SQLException {
   24.78 +		throw new SQLException("Not supported yet.");
   24.79 +	}
   24.80 +
   24.81 +	@Override
   24.82 +	public String getSchemaName(int column) throws SQLException {
   24.83 +		throw new SQLException("Not supported yet.");
   24.84 +	}
   24.85 +
   24.86 +	@Override
   24.87 +	public int getPrecision(int column) throws SQLException {
   24.88 +		throw new SQLException("Not supported yet.");
   24.89 +	}
   24.90 +
   24.91 +	@Override
   24.92 +	public int getScale(int column) throws SQLException {
   24.93 +		throw new SQLException("Not supported yet.");
   24.94 +	}
   24.95 +
   24.96 +	@Override
   24.97 +	public String getTableName(int column) throws SQLException {
   24.98 +		throw new SQLException("Not supported yet.");
   24.99 +	}
  24.100 +
  24.101 +	@Override
  24.102 +	public String getCatalogName(int column) throws SQLException {
  24.103 +		throw new SQLException("Not supported yet.");
  24.104 +	}
  24.105 +
  24.106 +	@Override
  24.107 +	public int getColumnType(int column) throws SQLException {
  24.108 +		throw new SQLException("Not supported yet.");
  24.109 +	}
  24.110 +
  24.111 +	@Override
  24.112 +	public String getColumnTypeName(int column) throws SQLException {
  24.113 +		throw new SQLException("Not supported yet.");
  24.114 +	}
  24.115 +
  24.116 +	@Override
  24.117 +	public boolean isReadOnly(int column) throws SQLException {
  24.118 +		throw new SQLException("Not supported yet.");
  24.119 +	}
  24.120 +
  24.121 +	@Override
  24.122 +	public boolean isWritable(int column) throws SQLException {
  24.123 +		throw new SQLException("Not supported yet.");
  24.124 +	}
  24.125 +
  24.126 +	@Override
  24.127 +	public boolean isDefinitelyWritable(int column) throws SQLException {
  24.128 +		throw new SQLException("Not supported yet.");
  24.129 +	}
  24.130 +
  24.131 +	@Override
  24.132 +	public String getColumnClassName(int column) throws SQLException {
  24.133 +		throw new SQLException("Not supported yet.");
  24.134 +	}
  24.135 +
  24.136 +	@Override
  24.137 +	public <T> T unwrap(Class<T> iface) throws SQLException {
  24.138 +		throw new SQLException("Not supported yet.");
  24.139 +	}
  24.140 +
  24.141 +	@Override
  24.142 +	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  24.143 +		throw new SQLException("Not supported yet.");
  24.144 +	}
  24.145 +}
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/AbstractStatement.java	Mon Mar 04 17:06:42 2019 +0100
    25.3 @@ -0,0 +1,250 @@
    25.4 +/**
    25.5 + * SQL-DK
    25.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    25.7 + *
    25.8 + * This program is free software: you can redistribute it and/or modify
    25.9 + * it under the terms of the GNU General Public License as published by
   25.10 + * the Free Software Foundation, either version 3 of the License, or
   25.11 + * (at your option) any later version.
   25.12 + *
   25.13 + * This program is distributed in the hope that it will be useful,
   25.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   25.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   25.16 + * GNU General Public License for more details.
   25.17 + *
   25.18 + * You should have received a copy of the GNU General Public License
   25.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   25.20 + */
   25.21 +package info.globalcode.jdbc.loopback;
   25.22 +
   25.23 +import java.sql.Connection;
   25.24 +import java.sql.SQLException;
   25.25 +import java.sql.SQLWarning;
   25.26 +
   25.27 +/**
   25.28 + *
   25.29 + * @author Ing. František Kučera (frantovo.cz)
   25.30 + */
   25.31 +public abstract class AbstractStatement implements java.sql.Statement {
   25.32 +
   25.33 +	@Override
   25.34 +	public ResultSet executeQuery(String sql) throws SQLException {
   25.35 +		throw new SQLException("Not supported yet.");
   25.36 +	}
   25.37 +
   25.38 +	@Override
   25.39 +	public int executeUpdate(String sql) throws SQLException {
   25.40 +		throw new SQLException("Not supported yet.");
   25.41 +	}
   25.42 +
   25.43 +	@Override
   25.44 +	public void close() throws SQLException {
   25.45 +		throw new SQLException("Not supported yet.");
   25.46 +	}
   25.47 +
   25.48 +	@Override
   25.49 +	public int getMaxFieldSize() throws SQLException {
   25.50 +		throw new SQLException("Not supported yet.");
   25.51 +	}
   25.52 +
   25.53 +	@Override
   25.54 +	public void setMaxFieldSize(int max) throws SQLException {
   25.55 +		throw new SQLException("Not supported yet.");
   25.56 +	}
   25.57 +
   25.58 +	@Override
   25.59 +	public int getMaxRows() throws SQLException {
   25.60 +		throw new SQLException("Not supported yet.");
   25.61 +	}
   25.62 +
   25.63 +	@Override
   25.64 +	public void setMaxRows(int max) throws SQLException {
   25.65 +		throw new SQLException("Not supported yet.");
   25.66 +	}
   25.67 +
   25.68 +	@Override
   25.69 +	public void setEscapeProcessing(boolean enable) throws SQLException {
   25.70 +		throw new SQLException("Not supported yet.");
   25.71 +	}
   25.72 +
   25.73 +	@Override
   25.74 +	public int getQueryTimeout() throws SQLException {
   25.75 +		throw new SQLException("Not supported yet.");
   25.76 +	}
   25.77 +
   25.78 +	@Override
   25.79 +	public void setQueryTimeout(int seconds) throws SQLException {
   25.80 +		throw new SQLException("Not supported yet.");
   25.81 +	}
   25.82 +
   25.83 +	@Override
   25.84 +	public void cancel() throws SQLException {
   25.85 +		throw new SQLException("Not supported yet.");
   25.86 +	}
   25.87 +
   25.88 +	@Override
   25.89 +	public SQLWarning getWarnings() throws SQLException {
   25.90 +		throw new SQLException("Not supported yet.");
   25.91 +	}
   25.92 +
   25.93 +	@Override
   25.94 +	public void clearWarnings() throws SQLException {
   25.95 +		throw new SQLException("Not supported yet.");
   25.96 +	}
   25.97 +
   25.98 +	@Override
   25.99 +	public void setCursorName(String name) throws SQLException {
  25.100 +		throw new SQLException("Not supported yet.");
  25.101 +	}
  25.102 +
  25.103 +	@Override
  25.104 +	public boolean execute(String sql) throws SQLException {
  25.105 +		throw new SQLException("Not supported yet.");
  25.106 +	}
  25.107 +
  25.108 +	@Override
  25.109 +	public java.sql.ResultSet getResultSet() throws SQLException {
  25.110 +		throw new SQLException("Not supported yet.");
  25.111 +	}
  25.112 +
  25.113 +	@Override
  25.114 +	public int getUpdateCount() throws SQLException {
  25.115 +		throw new SQLException("Not supported yet.");
  25.116 +	}
  25.117 +
  25.118 +	@Override
  25.119 +	public boolean getMoreResults() throws SQLException {
  25.120 +		throw new SQLException("Not supported yet.");
  25.121 +	}
  25.122 +
  25.123 +	@Override
  25.124 +	public void setFetchDirection(int direction) throws SQLException {
  25.125 +		throw new SQLException("Not supported yet.");
  25.126 +	}
  25.127 +
  25.128 +	@Override
  25.129 +	public int getFetchDirection() throws SQLException {
  25.130 +		throw new SQLException("Not supported yet.");
  25.131 +	}
  25.132 +
  25.133 +	@Override
  25.134 +	public void setFetchSize(int rows) throws SQLException {
  25.135 +		throw new SQLException("Not supported yet.");
  25.136 +	}
  25.137 +
  25.138 +	@Override
  25.139 +	public int getFetchSize() throws SQLException {
  25.140 +		throw new SQLException("Not supported yet.");
  25.141 +	}
  25.142 +
  25.143 +	@Override
  25.144 +	public int getResultSetConcurrency() throws SQLException {
  25.145 +		throw new SQLException("Not supported yet.");
  25.146 +	}
  25.147 +
  25.148 +	@Override
  25.149 +	public int getResultSetType() throws SQLException {
  25.150 +		throw new SQLException("Not supported yet.");
  25.151 +	}
  25.152 +
  25.153 +	@Override
  25.154 +	public void addBatch(String sql) throws SQLException {
  25.155 +		throw new SQLException("Not supported yet.");
  25.156 +	}
  25.157 +
  25.158 +	@Override
  25.159 +	public void clearBatch() throws SQLException {
  25.160 +		throw new SQLException("Not supported yet.");
  25.161 +	}
  25.162 +
  25.163 +	@Override
  25.164 +	public int[] executeBatch() throws SQLException {
  25.165 +		throw new SQLException("Not supported yet.");
  25.166 +	}
  25.167 +
  25.168 +	@Override
  25.169 +	public Connection getConnection() throws SQLException {
  25.170 +		throw new SQLException("Not supported yet.");
  25.171 +	}
  25.172 +
  25.173 +	@Override
  25.174 +	public boolean getMoreResults(int current) throws SQLException {
  25.175 +		throw new SQLException("Not supported yet.");
  25.176 +	}
  25.177 +
  25.178 +	@Override
  25.179 +	public ResultSet getGeneratedKeys() throws SQLException {
  25.180 +		throw new SQLException("Not supported yet.");
  25.181 +	}
  25.182 +
  25.183 +	@Override
  25.184 +	public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
  25.185 +		throw new SQLException("Not supported yet.");
  25.186 +	}
  25.187 +
  25.188 +	@Override
  25.189 +	public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
  25.190 +		throw new SQLException("Not supported yet.");
  25.191 +	}
  25.192 +
  25.193 +	@Override
  25.194 +	public int executeUpdate(String sql, String[] columnNames) throws SQLException {
  25.195 +		throw new SQLException("Not supported yet.");
  25.196 +	}
  25.197 +
  25.198 +	@Override
  25.199 +	public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
  25.200 +		throw new SQLException("Not supported yet.");
  25.201 +	}
  25.202 +
  25.203 +	@Override
  25.204 +	public boolean execute(String sql, int[] columnIndexes) throws SQLException {
  25.205 +		throw new SQLException("Not supported yet.");
  25.206 +	}
  25.207 +
  25.208 +	@Override
  25.209 +	public boolean execute(String sql, String[] columnNames) throws SQLException {
  25.210 +		throw new SQLException("Not supported yet.");
  25.211 +	}
  25.212 +
  25.213 +	@Override
  25.214 +	public int getResultSetHoldability() throws SQLException {
  25.215 +		throw new SQLException("Not supported yet.");
  25.216 +	}
  25.217 +
  25.218 +	@Override
  25.219 +	public boolean isClosed() throws SQLException {
  25.220 +		throw new SQLException("Not supported yet.");
  25.221 +	}
  25.222 +
  25.223 +	@Override
  25.224 +	public void setPoolable(boolean poolable) throws SQLException {
  25.225 +		throw new SQLException("Not supported yet.");
  25.226 +	}
  25.227 +
  25.228 +	@Override
  25.229 +	public boolean isPoolable() throws SQLException {
  25.230 +		throw new SQLException("Not supported yet.");
  25.231 +	}
  25.232 +
  25.233 +	@Override
  25.234 +	public void closeOnCompletion() throws SQLException {
  25.235 +		throw new SQLException("Not supported yet.");
  25.236 +	}
  25.237 +
  25.238 +	@Override
  25.239 +	public boolean isCloseOnCompletion() throws SQLException {
  25.240 +		throw new SQLException("Not supported yet.");
  25.241 +	}
  25.242 +
  25.243 +	@Override
  25.244 +	public <T> T unwrap(Class<T> iface) throws SQLException {
  25.245 +		throw new SQLException("Not supported yet.");
  25.246 +	}
  25.247 +
  25.248 +	@Override
  25.249 +	public boolean isWrapperFor(Class<?> iface) throws SQLException {
  25.250 +		throw new SQLException("Not supported yet.");
  25.251 +	}
  25.252 +	
  25.253 +}
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/Connection.java	Mon Mar 04 17:06:42 2019 +0100
    26.3 @@ -0,0 +1,135 @@
    26.4 +/**
    26.5 + * SQL-DK
    26.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    26.7 + *
    26.8 + * This program is free software: you can redistribute it and/or modify
    26.9 + * it under the terms of the GNU General Public License as published by
   26.10 + * the Free Software Foundation, either version 3 of the License, or
   26.11 + * (at your option) any later version.
   26.12 + *
   26.13 + * This program is distributed in the hope that it will be useful,
   26.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   26.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   26.16 + * GNU General Public License for more details.
   26.17 + *
   26.18 + * You should have received a copy of the GNU General Public License
   26.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   26.20 + */
   26.21 +package info.globalcode.jdbc.loopback;
   26.22 +
   26.23 +import java.sql.SQLClientInfoException;
   26.24 +import java.sql.SQLException;
   26.25 +import java.sql.SQLWarning;
   26.26 +import java.sql.Savepoint;
   26.27 +import java.util.Map;
   26.28 +import java.util.Properties;
   26.29 +import java.util.concurrent.Executor;
   26.30 +
   26.31 +/**
   26.32 + *
   26.33 + * @author Ing. František Kučera (frantovo.cz)
   26.34 + */
   26.35 +public class Connection extends AbstractConnection {
   26.36 +
   26.37 +	private String url;
   26.38 +	private Properties info;
   26.39 +
   26.40 +	public Connection(String url, Properties info) {
   26.41 +		this.url = url;
   26.42 +		this.info = info;
   26.43 +	}
   26.44 +
   26.45 +	@Override
   26.46 +	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
   26.47 +		return new PreparedStatement();
   26.48 +	}
   26.49 +
   26.50 +	@Override
   26.51 +	public void setAutoCommit(boolean autoCommit) throws SQLException {
   26.52 +	}
   26.53 +
   26.54 +	@Override
   26.55 +	public boolean getAutoCommit() throws SQLException {
   26.56 +		return true;
   26.57 +	}
   26.58 +
   26.59 +	@Override
   26.60 +	public void commit() throws SQLException {
   26.61 +	}
   26.62 +
   26.63 +	@Override
   26.64 +	public void rollback() throws SQLException {
   26.65 +	}
   26.66 +
   26.67 +	@Override
   26.68 +	public void close() throws SQLException {
   26.69 +	}
   26.70 +
   26.71 +	@Override
   26.72 +	public boolean isClosed() throws SQLException {
   26.73 +		return false;
   26.74 +	}
   26.75 +
   26.76 +	@Override
   26.77 +	public void setReadOnly(boolean readOnly) throws SQLException {
   26.78 +	}
   26.79 +
   26.80 +	@Override
   26.81 +	public boolean isReadOnly() throws SQLException {
   26.82 +		return true;
   26.83 +	}
   26.84 +
   26.85 +	@Override
   26.86 +	public void setCatalog(String catalog) throws SQLException {
   26.87 +	}
   26.88 +
   26.89 +	@Override
   26.90 +	public void setTransactionIsolation(int level) throws SQLException {
   26.91 +	}
   26.92 +
   26.93 +	@Override
   26.94 +	public SQLWarning getWarnings() throws SQLException {
   26.95 +		return null;
   26.96 +	}
   26.97 +
   26.98 +	@Override
   26.99 +	public void clearWarnings() throws SQLException {
  26.100 +	}
  26.101 +
  26.102 +	@Override
  26.103 +	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
  26.104 +	}
  26.105 +
  26.106 +	@Override
  26.107 +	public void setHoldability(int holdability) throws SQLException {
  26.108 +	}
  26.109 +
  26.110 +	@Override
  26.111 +	public void rollback(Savepoint savepoint) throws SQLException {
  26.112 +	}
  26.113 +
  26.114 +	@Override
  26.115 +	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
  26.116 +	}
  26.117 +
  26.118 +	@Override
  26.119 +	public boolean isValid(int timeout) throws SQLException {
  26.120 +		return true;
  26.121 +	}
  26.122 +
  26.123 +	@Override
  26.124 +	public void setClientInfo(String name, String value) throws SQLClientInfoException {
  26.125 +	}
  26.126 +
  26.127 +	@Override
  26.128 +	public void setClientInfo(Properties properties) throws SQLClientInfoException {
  26.129 +	}
  26.130 +
  26.131 +	@Override
  26.132 +	public void abort(Executor executor) throws SQLException {
  26.133 +	}
  26.134 +
  26.135 +	@Override
  26.136 +	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
  26.137 +	}
  26.138 +}
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/Driver.java	Mon Mar 04 17:06:42 2019 +0100
    27.3 @@ -0,0 +1,84 @@
    27.4 +/**
    27.5 + * SQL-DK
    27.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    27.7 + *
    27.8 + * This program is free software: you can redistribute it and/or modify
    27.9 + * it under the terms of the GNU General Public License as published by
   27.10 + * the Free Software Foundation, either version 3 of the License, or
   27.11 + * (at your option) any later version.
   27.12 + *
   27.13 + * This program is distributed in the hope that it will be useful,
   27.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   27.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   27.16 + * GNU General Public License for more details.
   27.17 + *
   27.18 + * You should have received a copy of the GNU General Public License
   27.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   27.20 + */
   27.21 +package info.globalcode.jdbc.loopback;
   27.22 +
   27.23 +import java.sql.DriverManager;
   27.24 +import java.sql.DriverPropertyInfo;
   27.25 +import java.sql.SQLException;
   27.26 +import java.sql.SQLFeatureNotSupportedException;
   27.27 +import java.util.Properties;
   27.28 +import java.util.logging.Level;
   27.29 +import java.util.logging.Logger;
   27.30 +
   27.31 +/**
   27.32 + *
   27.33 + * @author Ing. František Kučera (frantovo.cz)
   27.34 + */
   27.35 +public class Driver implements java.sql.Driver {
   27.36 +
   27.37 +	private static final Logger log = Logger.getLogger(Driver.class.getName());
   27.38 +
   27.39 +	static {
   27.40 +		try {
   27.41 +			DriverManager.registerDriver(new Driver());
   27.42 +		} catch (SQLException e) {
   27.43 +			log.log(Level.SEVERE, "Unable to register JDBC driver", e);
   27.44 +		}
   27.45 +	}
   27.46 +
   27.47 +	@Override
   27.48 +	public Connection connect(String url, Properties info) throws SQLException {
   27.49 +		if (acceptsURL(url)) {
   27.50 +			return new Connection(url, info);
   27.51 +		} else {
   27.52 +			// The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL.
   27.53 +			return null;
   27.54 +		}
   27.55 +	}
   27.56 +
   27.57 +	@Override
   27.58 +	public boolean acceptsURL(String url) throws SQLException {
   27.59 +		return url != null && url.startsWith("jdbc:loopback://");
   27.60 +	}
   27.61 +
   27.62 +	@Override
   27.63 +	public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
   27.64 +		return new DriverPropertyInfo[0];
   27.65 +	}
   27.66 +
   27.67 +	@Override
   27.68 +	public int getMajorVersion() {
   27.69 +		return 0;
   27.70 +	}
   27.71 +
   27.72 +	@Override
   27.73 +	public int getMinorVersion() {
   27.74 +		return 1;
   27.75 +	}
   27.76 +
   27.77 +	@Override
   27.78 +	public boolean jdbcCompliant() {
   27.79 +		return false;
   27.80 +	}
   27.81 +
   27.82 +	@Override
   27.83 +	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
   27.84 +		throw new SQLFeatureNotSupportedException("Not supported yet.");
   27.85 +	}
   27.86 +
   27.87 +}
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ObjectParameter.java	Mon Mar 04 17:06:42 2019 +0100
    28.3 @@ -0,0 +1,41 @@
    28.4 +/**
    28.5 + * SQL-DK
    28.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    28.7 + *
    28.8 + * This program is free software: you can redistribute it and/or modify
    28.9 + * it under the terms of the GNU General Public License as published by
   28.10 + * the Free Software Foundation, either version 3 of the License, or
   28.11 + * (at your option) any later version.
   28.12 + *
   28.13 + * This program is distributed in the hope that it will be useful,
   28.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   28.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   28.16 + * GNU General Public License for more details.
   28.17 + *
   28.18 + * You should have received a copy of the GNU General Public License
   28.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   28.20 + */
   28.21 +package info.globalcode.jdbc.loopback;
   28.22 +
   28.23 +/**
   28.24 + *
   28.25 + * @author Ing. František Kučera (frantovo.cz)
   28.26 + */
   28.27 +public class ObjectParameter {
   28.28 +
   28.29 +	private final Object data;
   28.30 +	private final int targetSqlType;
   28.31 +
   28.32 +	public ObjectParameter(Object data, int targetSqlType) {
   28.33 +		this.data = data;
   28.34 +		this.targetSqlType = targetSqlType;
   28.35 +	}
   28.36 +
   28.37 +	public Object getData() {
   28.38 +		return data;
   28.39 +	}
   28.40 +
   28.41 +	public int getTargetSqlType() {
   28.42 +		return targetSqlType;
   28.43 +	}
   28.44 +}
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/PreparedStatement.java	Mon Mar 04 17:06:42 2019 +0100
    29.3 @@ -0,0 +1,107 @@
    29.4 +/**
    29.5 + * SQL-DK
    29.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    29.7 + *
    29.8 + * This program is free software: you can redistribute it and/or modify
    29.9 + * it under the terms of the GNU General Public License as published by
   29.10 + * the Free Software Foundation, either version 3 of the License, or
   29.11 + * (at your option) any later version.
   29.12 + *
   29.13 + * This program is distributed in the hope that it will be useful,
   29.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   29.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   29.16 + * GNU General Public License for more details.
   29.17 + *
   29.18 + * You should have received a copy of the GNU General Public License
   29.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   29.20 + */
   29.21 +package info.globalcode.jdbc.loopback;
   29.22 +
   29.23 +import java.sql.SQLException;
   29.24 +import java.sql.SQLWarning;
   29.25 +import java.sql.Types;
   29.26 +import java.util.ArrayList;
   29.27 +import java.util.HashMap;
   29.28 +import java.util.List;
   29.29 +import java.util.Map;
   29.30 +
   29.31 +/**
   29.32 + *
   29.33 + * @author Ing. František Kučera (frantovo.cz)
   29.34 + */
   29.35 +public class PreparedStatement extends AbstractPreparedStatement {
   29.36 +
   29.37 +	private final Map<Integer, ObjectParameter> parameters = new HashMap<>();
   29.38 +	private List<Object[]> table;
   29.39 +	private final ResultSetMetaData metadata = new ResultSetMetaData();
   29.40 +
   29.41 +	@Override
   29.42 +	public void setObject(int parameterNumber, Object data, int targetSqlType) throws SQLException {
   29.43 +		parameters.put(parameterNumber, new ObjectParameter(data, targetSqlType));
   29.44 +	}
   29.45 +
   29.46 +	@Override
   29.47 +	public boolean execute() throws SQLException {
   29.48 +
   29.49 +		if (parameters.size() < 1) {
   29.50 +			throw new SQLException("Missing first parameter (column count)");
   29.51 +		} else {
   29.52 +			int columnCount = Integer.valueOf(String.valueOf(parameters.get(1).getData()));
   29.53 +
   29.54 +			for (int i = 0; i < columnCount; i++) {
   29.55 +				String label = parameters.get(1 + i + 1).getData().toString();
   29.56 +				metadata.addColumn(new ResultSetMetaData.ColumnDescriptor(Types.VARCHAR, "VARCHAR", label, label));
   29.57 +			}
   29.58 +
   29.59 +			int cellIndex = 0;
   29.60 +
   29.61 +			table = new ArrayList<>();
   29.62 +			Object[] currentRow = null;
   29.63 +
   29.64 +			for (int parameterNumber = (1 + columnCount + 1); true; parameterNumber++) {
   29.65 +				ObjectParameter data = parameters.get(parameterNumber);
   29.66 +				if (data == null) {
   29.67 +					break;
   29.68 +				} else {
   29.69 +					int columnIndex = cellIndex % columnCount;
   29.70 +					cellIndex++;
   29.71 +					if (columnIndex == 0) {
   29.72 +						currentRow = new Object[columnCount];
   29.73 +						table.add(currentRow);
   29.74 +					}
   29.75 +					currentRow[columnIndex] = data.getData();
   29.76 +				}
   29.77 +			}
   29.78 +
   29.79 +			return true;
   29.80 +		}
   29.81 +	}
   29.82 +
   29.83 +	@Override
   29.84 +	public java.sql.ResultSet getResultSet() throws SQLException {
   29.85 +		return new ResultSet(metadata, table);
   29.86 +	}
   29.87 +
   29.88 +	@Override
   29.89 +	public int getUpdateCount() throws SQLException {
   29.90 +		return -1;
   29.91 +	}
   29.92 +
   29.93 +	@Override
   29.94 +	public boolean getMoreResults() throws SQLException {
   29.95 +		return false;
   29.96 +	}
   29.97 +
   29.98 +	@Override
   29.99 +	public void close() throws SQLException {
  29.100 +	}
  29.101 +
  29.102 +	@Override
  29.103 +	public SQLWarning getWarnings() throws SQLException {
  29.104 +		return null;
  29.105 +	}
  29.106 +
  29.107 +	@Override
  29.108 +	public void clearWarnings() throws SQLException {
  29.109 +	}
  29.110 +}
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ResultSet.java	Mon Mar 04 17:06:42 2019 +0100
    30.3 @@ -0,0 +1,67 @@
    30.4 +/**
    30.5 + * SQL-DK
    30.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    30.7 + *
    30.8 + * This program is free software: you can redistribute it and/or modify
    30.9 + * it under the terms of the GNU General Public License as published by
   30.10 + * the Free Software Foundation, either version 3 of the License, or
   30.11 + * (at your option) any later version.
   30.12 + *
   30.13 + * This program is distributed in the hope that it will be useful,
   30.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   30.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   30.16 + * GNU General Public License for more details.
   30.17 + *
   30.18 + * You should have received a copy of the GNU General Public License
   30.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   30.20 + */
   30.21 +package info.globalcode.jdbc.loopback;
   30.22 +
   30.23 +import java.sql.SQLException;
   30.24 +import java.util.Iterator;
   30.25 +import java.util.List;
   30.26 +
   30.27 +/**
   30.28 + *
   30.29 + * @author Ing. František Kučera (frantovo.cz)
   30.30 + */
   30.31 +public class ResultSet extends AbstractResultSet {
   30.32 +
   30.33 +	private final ResultSetMetaData metadata;
   30.34 +	private final Iterator<Object[]> data;
   30.35 +	private Object[] currentRow;
   30.36 +
   30.37 +	public ResultSet(ResultSetMetaData metadata, List<Object[]> table) {
   30.38 +		data = table.listIterator();
   30.39 +		this.metadata = metadata;
   30.40 +	}
   30.41 +
   30.42 +	@Override
   30.43 +	public boolean next() throws SQLException {
   30.44 +		if (data.hasNext()) {
   30.45 +			currentRow = data.next();
   30.46 +			return true;
   30.47 +		} else {
   30.48 +			return false;
   30.49 +		}
   30.50 +	}
   30.51 +
   30.52 +	@Override
   30.53 +	public Object getObject(int columnNumber) throws SQLException {
   30.54 +		return currentRow[columnNumber - 1];
   30.55 +	}
   30.56 +
   30.57 +	@Override
   30.58 +	public ResultSetMetaData getMetaData() throws SQLException {
   30.59 +		return metadata;
   30.60 +	}
   30.61 +
   30.62 +	@Override
   30.63 +	public void close() throws SQLException {
   30.64 +	}
   30.65 +
   30.66 +	@Override
   30.67 +	public boolean isClosed() throws SQLException {
   30.68 +		return false;
   30.69 +	}
   30.70 +}
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/java/jdbc-loopback-driver/src/main/java/info/globalcode/jdbc/loopback/ResultSetMetaData.java	Mon Mar 04 17:06:42 2019 +0100
    31.3 @@ -0,0 +1,75 @@
    31.4 +/**
    31.5 + * SQL-DK
    31.6 + * Copyright © 2014 František Kučera (frantovo.cz)
    31.7 + *
    31.8 + * This program is free software: you can redistribute it and/or modify
    31.9 + * it under the terms of the GNU General Public License as published by
   31.10 + * the Free Software Foundation, either version 3 of the License, or
   31.11 + * (at your option) any later version.
   31.12 + *
   31.13 + * This program is distributed in the hope that it will be useful,
   31.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
   31.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   31.16 + * GNU General Public License for more details.
   31.17 + *
   31.18 + * You should have received a copy of the GNU General Public License
   31.19 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
   31.20 + */
   31.21 +package info.globalcode.jdbc.loopback;
   31.22 +
   31.23 +import java.sql.SQLException;
   31.24 +import java.util.ArrayList;
   31.25 +import java.util.List;
   31.26 +
   31.27 +/**
   31.28 + *
   31.29 + * @author Ing. František Kučera (frantovo.cz)
   31.30 + */
   31.31 +public class ResultSetMetaData extends AbstractResultSetMetaData {
   31.32 +
   31.33 +	private List<ColumnDescriptor> columns = new ArrayList<>();
   31.34 +
   31.35 +	public void addColumn(ColumnDescriptor cd) {
   31.36 +		columns.add(cd);
   31.37 +	}
   31.38 +
   31.39 +	@Override
   31.40 +	public int getColumnCount() throws SQLException {
   31.41 +		return columns.size();
   31.42 +	}
   31.43 +
   31.44 +	@Override
   31.45 +	public String getColumnLabel(int column) throws SQLException {
   31.46 +		return columns.get(column - 1).label;
   31.47 +	}
   31.48 +
   31.49 +	@Override
   31.50 +	public String getColumnName(int column) throws SQLException {
   31.51 +		return columns.get(column - 1).name;
   31.52 +	}
   31.53 +
   31.54 +	@Override
   31.55 +	public int getColumnType(int column) throws SQLException {
   31.56 +		return columns.get(column - 1).type;
   31.57 +	}
   31.58 +
   31.59 +	@Override
   31.60 +	public String getColumnTypeName(int column) throws SQLException {
   31.61 +		return columns.get(column - 1).typeName;
   31.62 +	}
   31.63 +
   31.64 +	public static class ColumnDescriptor {
   31.65 +
   31.66 +		private final int type;
   31.67 +		private final String typeName;
   31.68 +		private final String label;
   31.69 +		private final String name;
   31.70 +
   31.71 +		public ColumnDescriptor(int type, String typeName, String label, String name) {
   31.72 +			this.type = type;
   31.73 +			this.typeName = typeName;
   31.74 +			this.label = label;
   31.75 +			this.name = name;
   31.76 +		}
   31.77 +	}
   31.78 +}
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/java/jdbc-loopback-driver/src/main/resources/META-INF/services/java.sql.Driver	Mon Mar 04 17:06:42 2019 +0100
    32.3 @@ -0,0 +1,1 @@
    32.4 +info.globalcode.jdbc.loopback.Driver