[#1895] Decouple Executor from Configuration. Use composition rather
than inheritance - Step 1: Let executor delegate to Configuration
This commit is contained in:
parent
e506d9de65
commit
e8d7602102
@ -35,7 +35,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
import org.jooq.impl.Executor;
|
||||
import org.jooq.impl.Factory;
|
||||
|
||||
/**
|
||||
* An intermediate type for the construction of a relational division. This type
|
||||
@ -61,7 +61,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep and(String sql);
|
||||
@ -75,7 +75,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep and(String sql, Object... bindings);
|
||||
@ -89,7 +89,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep and(String sql, QueryPart... parts);
|
||||
@ -131,7 +131,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep or(String sql);
|
||||
@ -145,7 +145,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep or(String sql, Object... bindings);
|
||||
@ -159,7 +159,7 @@ public interface DivideByOnConditionStep extends DivideByReturningStep {
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
DivideByOnConditionStep or(String sql, QueryPart... parts);
|
||||
|
||||
@ -36,14 +36,14 @@
|
||||
package org.jooq;
|
||||
|
||||
import org.jooq.exception.DataTypeException;
|
||||
import org.jooq.impl.Executor;
|
||||
import org.jooq.impl.Factory;
|
||||
import org.jooq.tools.Convert;
|
||||
|
||||
/**
|
||||
* A named parameter and/or bind value.
|
||||
*
|
||||
* @author Lukas Eder
|
||||
* @see Executor#param(String, Object)
|
||||
* @see Factory#param(String, Object)
|
||||
*/
|
||||
public interface Param<T> extends Field<T> {
|
||||
|
||||
|
||||
@ -35,7 +35,8 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
import org.jooq.impl.Executor;
|
||||
import org.jooq.impl.Factory;
|
||||
|
||||
|
||||
/**
|
||||
* This type is used for the {@link Select}'s DSL API when selecting specific
|
||||
@ -74,7 +75,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> and(String sql);
|
||||
@ -88,7 +89,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> and(String sql, Object... bindings);
|
||||
@ -102,7 +103,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> and(String sql, QueryPart... parts);
|
||||
@ -144,7 +145,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> or(String sql);
|
||||
@ -158,7 +159,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> or(String sql, Object... bindings);
|
||||
@ -172,7 +173,7 @@ public interface SimpleSelectConditionStep<R extends Record> extends SimpleSelec
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> or(String sql, QueryPart... parts);
|
||||
|
||||
@ -37,7 +37,7 @@ package org.jooq;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.jooq.impl.Executor;
|
||||
import org.jooq.impl.Factory;
|
||||
|
||||
/**
|
||||
* This type is used for the {@link Select}'s DSL API when selecting specific
|
||||
@ -80,7 +80,7 @@ public interface SimpleSelectWhereStep<R extends Record> extends SimpleSelectOrd
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> where(String sql);
|
||||
@ -93,7 +93,7 @@ public interface SimpleSelectWhereStep<R extends Record> extends SimpleSelectOrd
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> where(String sql, Object... bindings);
|
||||
@ -106,7 +106,7 @@ public interface SimpleSelectWhereStep<R extends Record> extends SimpleSelectOrd
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
SimpleSelectConditionStep<R> where(String sql, QueryPart... parts);
|
||||
|
||||
@ -35,7 +35,8 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
import org.jooq.impl.Executor;
|
||||
import org.jooq.impl.Factory;
|
||||
|
||||
|
||||
/**
|
||||
* This type is used for the {@link Update}'s DSL API.
|
||||
@ -70,7 +71,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> and(String sql);
|
||||
@ -84,7 +85,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> and(String sql, Object... bindings);
|
||||
@ -98,7 +99,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> and(String sql, QueryPart... parts);
|
||||
@ -140,7 +141,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String)
|
||||
* @see Factory#condition(String)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> or(String sql);
|
||||
@ -154,7 +155,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, Object...)
|
||||
* @see Factory#condition(String, Object...)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> or(String sql, Object... bindings);
|
||||
@ -168,7 +169,7 @@ public interface UpdateConditionStep<R extends Record> extends UpdateFinalStep<R
|
||||
* malicious SQL injection. Be sure to properly use bind variables and/or
|
||||
* escape literals when concatenated into SQL clauses!
|
||||
*
|
||||
* @see Executor#condition(String, QueryPart...)
|
||||
* @see Factory#condition(String, QueryPart...)
|
||||
*/
|
||||
@Support
|
||||
UpdateConditionStep<R> or(String sql, QueryPart... parts);
|
||||
|
||||
@ -157,19 +157,11 @@ public class Executor implements FactoryOperations {
|
||||
/**
|
||||
* Generated UID
|
||||
*/
|
||||
private static final long serialVersionUID = 2681360188806309513L;
|
||||
private static final JooqLogger log = JooqLogger.getLogger(Factory.class);
|
||||
private static final long serialVersionUID = 2681360188806309513L;
|
||||
private static final JooqLogger log = JooqLogger.getLogger(Factory.class);
|
||||
|
||||
private static final Executor[] DEFAULT_INSTANCES = new Executor[SQLDialect.values().length];
|
||||
|
||||
private transient Connection connection;
|
||||
private transient DataSource datasource;
|
||||
private final SQLDialect dialect;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private final org.jooq.SchemaMapping mapping;
|
||||
private final Settings settings;
|
||||
private final Map<String, Object> data;
|
||||
private static final Executor[] DEFAULT_INSTANCES = new Executor[SQLDialect.values().length];
|
||||
private final Configuration configuration;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX Constructors
|
||||
@ -305,121 +297,214 @@ public class Executor implements FactoryOperations {
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
private Executor(DataSource datasource, Connection connection, SQLDialect dialect, Settings settings, org.jooq.SchemaMapping mapping, Map<String, Object> data) {
|
||||
this.connection = connection;
|
||||
this.datasource = datasource;
|
||||
this.dialect = dialect;
|
||||
this.settings = settings != null ? settings : SettingsTools.defaultSettings();
|
||||
this.mapping = mapping != null ? mapping : new org.jooq.SchemaMapping(this.settings);
|
||||
this.data = data != null ? data : new HashMap<String, Object>();
|
||||
this(new ExecutorConfiguration(datasource, connection, dialect, settings, mapping, data));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an executor from a custom configuration
|
||||
*
|
||||
* @param configuration The configuration
|
||||
*/
|
||||
public Executor(Configuration configuration) {
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX Configuration API
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final SQLDialect getDialect() {
|
||||
return dialect;
|
||||
return configuration.getDialect();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final DataSource getDataSource() {
|
||||
return datasource;
|
||||
return configuration.getDataSource();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void setDataSource(DataSource datasource) {
|
||||
this.datasource = datasource;
|
||||
public final void setDataSource(DataSource datasource) {
|
||||
configuration.setDataSource(datasource);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Connection getConnection() {
|
||||
|
||||
// SQL-builder only Factory
|
||||
if (connection == null && datasource == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// [#1424] DataSource-enabled Factory with no Connection yet
|
||||
else if (connection == null && datasource != null) {
|
||||
return new DataSourceConnection(datasource, null, settings);
|
||||
}
|
||||
|
||||
// Factory clone
|
||||
else if (connection.getClass() == DataSourceConnection.class) {
|
||||
return connection;
|
||||
}
|
||||
|
||||
// Factory clone
|
||||
else if (connection.getClass() == ConnectionProxy.class) {
|
||||
return connection;
|
||||
}
|
||||
|
||||
// [#1424] Connection-based Factory
|
||||
else {
|
||||
return new DataSourceConnection(null, new ConnectionProxy(connection, settings), settings);
|
||||
}
|
||||
return configuration.getConnection();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final void setConnection(Connection connection) {
|
||||
this.connection = connection;
|
||||
configuration.setConnection(connection);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public final org.jooq.SchemaMapping getSchemaMapping() {
|
||||
return mapping;
|
||||
return configuration.getSchemaMapping();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Settings getSettings() {
|
||||
return settings;
|
||||
return configuration.getSettings();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Map<String, Object> getData() {
|
||||
return data;
|
||||
return configuration.getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Object getData(String key) {
|
||||
return data.get(key);
|
||||
return configuration.getData(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Object setData(String key, Object value) {
|
||||
return data.put(key, value);
|
||||
return configuration.setData(key, value);
|
||||
}
|
||||
|
||||
private static class ExecutorConfiguration implements Configuration {
|
||||
|
||||
/**
|
||||
* Serial version UID
|
||||
*/
|
||||
private static final long serialVersionUID = 8193158984283234708L;
|
||||
|
||||
private transient Connection connection;
|
||||
private transient DataSource datasource;
|
||||
private final SQLDialect dialect;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private final org.jooq.SchemaMapping mapping;
|
||||
private final Settings settings;
|
||||
private final Map<String, Object> data;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
ExecutorConfiguration(DataSource datasource, Connection connection, SQLDialect dialect, Settings settings, org.jooq.SchemaMapping mapping, Map<String, Object> data) {
|
||||
this.connection = connection;
|
||||
this.datasource = datasource;
|
||||
this.dialect = dialect;
|
||||
this.settings = settings != null ? settings : SettingsTools.defaultSettings();
|
||||
this.mapping = mapping != null ? mapping : new org.jooq.SchemaMapping(this.settings);
|
||||
this.data = data != null ? data : new HashMap<String, Object>();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final SQLDialect getDialect() {
|
||||
return dialect;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final DataSource getDataSource() {
|
||||
return datasource;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void setDataSource(DataSource datasource) {
|
||||
this.datasource = datasource;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Connection getConnection() {
|
||||
|
||||
// SQL-builder only Factory
|
||||
if (connection == null && datasource == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// [#1424] DataSource-enabled Factory with no Connection yet
|
||||
else if (connection == null && datasource != null) {
|
||||
return new DataSourceConnection(datasource, null, settings);
|
||||
}
|
||||
|
||||
// Factory clone
|
||||
else if (connection.getClass() == DataSourceConnection.class) {
|
||||
return connection;
|
||||
}
|
||||
|
||||
// Factory clone
|
||||
else if (connection.getClass() == ConnectionProxy.class) {
|
||||
return connection;
|
||||
}
|
||||
|
||||
// [#1424] Connection-based Factory
|
||||
else {
|
||||
return new DataSourceConnection(null, new ConnectionProxy(connection, settings), settings);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final void setConnection(Connection connection) {
|
||||
this.connection = connection;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public final org.jooq.SchemaMapping getSchemaMapping() {
|
||||
return mapping;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Settings getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Map<String, Object> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Object getData(String key) {
|
||||
return data.get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public final Object setData(String key, Object value) {
|
||||
return data.put(key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringWriter writer = new StringWriter();
|
||||
JAXB.marshal(settings, writer);
|
||||
|
||||
return "ExecutorConfiguration [\n\tconnected=" + (connection != null) +
|
||||
",\n\tdialect=" + dialect +
|
||||
",\n\tdata=" + data +
|
||||
",\n\tsettings=\n\t\t" + writer.toString().trim().replace("\n", "\n\t\t") +
|
||||
"\n]"; }
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
@ -1260,7 +1345,7 @@ public class Executor implements FactoryOperations {
|
||||
try {
|
||||
String schemaName = render(schema);
|
||||
|
||||
switch (dialect) {
|
||||
switch (getDialect()) {
|
||||
case DB2:
|
||||
case DERBY:
|
||||
case H2:
|
||||
@ -1294,8 +1379,8 @@ public class Executor implements FactoryOperations {
|
||||
}
|
||||
}
|
||||
finally {
|
||||
getRenderMapping(settings).setDefaultSchema(schema.getName());
|
||||
mapping.use(schema);
|
||||
getRenderMapping(getSettings()).setDefaultSchema(schema.getName());
|
||||
getSchemaMapping().use(schema);
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -1470,14 +1555,7 @@ public class Executor implements FactoryOperations {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringWriter writer = new StringWriter();
|
||||
JAXB.marshal(settings, writer);
|
||||
|
||||
return "Factory [\n\tconnected=" + (connection != null) +
|
||||
",\n\tdialect=" + dialect +
|
||||
",\n\tdata=" + data +
|
||||
",\n\tsettings=\n\t\t" + writer.toString().trim().replace("\n", "\n\t\t") +
|
||||
"\n]";
|
||||
return configuration.toString();
|
||||
}
|
||||
|
||||
static {
|
||||
@ -1503,19 +1581,12 @@ public class Executor implements FactoryOperations {
|
||||
/**
|
||||
* Get a default <code>Factory</code> with a {@link Connection}
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
final static Executor getNewFactory(Configuration configuration) {
|
||||
if (configuration == null) {
|
||||
return getNewFactory(DefaultConfiguration.DEFAULT_CONFIGURATION);
|
||||
}
|
||||
else {
|
||||
return new Executor(
|
||||
configuration.getDataSource(),
|
||||
configuration.getConnection(),
|
||||
configuration.getDialect(),
|
||||
configuration.getSettings(),
|
||||
configuration.getSchemaMapping(),
|
||||
configuration.getData());
|
||||
return new Executor(configuration);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user