mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-18 09:05:21 +00:00
cleaned up JdbcMocks in test sources and moved it to hibernate-testing
This commit is contained in:
parent
039382e8be
commit
701f59b132
@ -11,8 +11,8 @@
|
|||||||
import java.lang.reflect.Proxy;
|
import java.lang.reflect.Proxy;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DatabaseMetaData;
|
import java.sql.DatabaseMetaData;
|
||||||
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import javax.sql.rowset.RowSetProvider;
|
|
||||||
|
|
||||||
import org.hibernate.engine.jdbc.env.spi.AnsiSqlKeywords;
|
import org.hibernate.engine.jdbc.env.spi.AnsiSqlKeywords;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
@ -298,7 +298,7 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( "getTypeInfo".equals( methodName ) ) {
|
if ( "getTypeInfo".equals( methodName ) ) {
|
||||||
return RowSetProvider.newFactory().createCachedRowSet();
|
return EmptyResultSetHandler.makeProxy();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( "storesLowerCaseIdentifiers".equals( methodName ) ) {
|
if ( "storesLowerCaseIdentifiers".equals( methodName ) ) {
|
||||||
@ -335,4 +335,30 @@ private static boolean canThrowSQLException(Method method) {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class EmptyResultSetHandler implements InvocationHandler {
|
||||||
|
public static ResultSet makeProxy() {
|
||||||
|
final EmptyResultSetHandler handler = new EmptyResultSetHandler();
|
||||||
|
return (ResultSet) Proxy.newProxyInstance(
|
||||||
|
ClassLoader.getSystemClassLoader(),
|
||||||
|
new Class[] {ResultSet.class},
|
||||||
|
handler
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
|
||||||
|
if ( method.getName().equals( "next" ) ) {
|
||||||
|
return Boolean.FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( canThrowSQLException( method ) ) {
|
||||||
|
throw new SQLException();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user