Error building CloverETL connection plugin under Java 6

Hi guys,

I’ve just tried checking out CloverETL trunk and building it but encountered some problems.
Compiler says that org.jetel.connection.jdbc.specific.conn.DefaultConnection doesn’t define some abstract methods of java.sql.Connection interface.
It looks like java.sql.Connection was expanded in Java 6 and org.jetel.connection.jdbc.specific.conn.DefaultConnection should take care about these new methods.

I’ve added those new method definitions and now it compiles just fine. The diff is below. However I am not quite sure it will work fine with Java 5. Could you please check?

Or maybe I am doing something wrong. If so please let me know. I have JDK 1.6.0.13.

Regards,
Sergey

Index: DefaultConnection.java
===================================================================
-– DefaultConnection.java (revision 6335)
+++ DefaultConnection.java (working copy)
@@ -19,16 +19,23 @@
*/
package org.jetel.connection.jdbc.specific.conn;

+import java.sql.Array;
+import java.sql.Blob;
import java.sql.CallableStatement;
+import java.sql.Clob;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
+import java.sql.NClob;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
+import java.sql.SQLClientInfoException;
import java.sql.SQLException;
import java.sql.SQLWarning;
+import java.sql.SQLXML;
import java.sql.Savepoint;
import java.sql.Statement;
+import java.sql.Struct;
import java.util.Map;
import java.util.Properties;

@@ -527,4 +534,83 @@
}
}

+ @Override
+ public Array createArrayOf(String arg0, Object arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Blob createBlob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Clob createClob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public NClob createNClob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SQLXML createSQLXML() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Struct createStruct(String arg0, Object arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Properties getClientInfo() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getClientInfo(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isValid(int arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void setClientInfo(Properties arg0) throws SQLClientInfoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setClientInfo(String arg0, String arg1)
+ throws SQLClientInfoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean isWrapperFor(Class<?> arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public T unwrap(Class arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}

CloverETL engine (as of 2.7) can be compiled only on Java 1.5 (using its javac). It will run just fine on 1.6 JVM or newer, but because of some incompatibilities introduced by Java 1.6 as opposed to 1.5 the newer compiler complains.
Your modifications probably solved some of the issues.