Repository: sqoop Updated Branches: refs/heads/sqoop2 9f05b4a5c -> ec5dfc42f
SQOOP-2306: Sqoop2: Use LinkConfiguration in Executor rather then LinkConfig (Jarek Jarcec Cecho via Abraham Elmahrek) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/ec5dfc42 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/ec5dfc42 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/ec5dfc42 Branch: refs/heads/sqoop2 Commit: ec5dfc42f9c18f3d2a563516330117ef27fd746a Parents: 9f05b4a Author: Abraham Elmahrek <[email protected]> Authored: Mon Apr 20 17:38:32 2015 -0700 Committer: Abraham Elmahrek <[email protected]> Committed: Mon Apr 20 17:38:32 2015 -0700 ---------------------------------------------------------------------- .../connector/jdbc/GenericJdbcExecutor.java | 32 +++++++++++--------- .../connector/jdbc/GenericJdbcExtractor.java | 2 +- .../jdbc/GenericJdbcFromInitializer.java | 4 +-- .../sqoop/connector/jdbc/GenericJdbcLoader.java | 2 +- .../connector/jdbc/GenericJdbcToDestroyer.java | 2 +- .../jdbc/GenericJdbcToInitializer.java | 4 +-- .../connector/jdbc/GenericJdbcExecutorTest.java | 11 ++++--- .../jdbc/GenericJdbcTestConstants.java | 8 ++--- .../sqoop/connector/jdbc/TestExtractor.java | 2 +- .../connector/jdbc/TestFromInitializer.java | 2 +- .../apache/sqoop/connector/jdbc/TestLoader.java | 2 +- .../sqoop/connector/jdbc/TestToInitializer.java | 2 +- 12 files changed, 38 insertions(+), 35 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutor.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutor.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutor.java index a5cd715..cab0917 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutor.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutor.java @@ -20,6 +20,7 @@ package org.apache.sqoop.connector.jdbc; import org.apache.log4j.Logger; import org.apache.sqoop.common.SqoopException; import org.apache.sqoop.connector.jdbc.configuration.LinkConfig; +import org.apache.sqoop.connector.jdbc.configuration.LinkConfiguration; import org.apache.sqoop.error.code.GenericJdbcConnectorError; import org.apache.sqoop.schema.Schema; import org.apache.sqoop.schema.type.Column; @@ -58,7 +59,7 @@ public class GenericJdbcExecutor { /** * User configured link with credentials and such */ - private LinkConfig linkConfig; + private LinkConfiguration link; /** * Internal connection object (we'll hold to it) @@ -70,23 +71,24 @@ public class GenericJdbcExecutor { */ private PreparedStatement preparedStatement; - public GenericJdbcExecutor(LinkConfig linkConfig) { - assert linkConfig != null; - assert linkConfig.connectionString != null; - + public GenericJdbcExecutor(LinkConfiguration linkConfig) { // Persist link configuration for future use - this.linkConfig = linkConfig; + this.link = linkConfig; + + assert link != null; + assert link.linkConfig != null; + assert link.linkConfig.connectionString != null; // Load/register the JDBC driver to JVM - Class driverClass = ClassUtils.loadClass(linkConfig.jdbcDriver); + Class driverClass = ClassUtils.loadClass(link.linkConfig.jdbcDriver); if(driverClass == null) { - throw new SqoopException(GenericJdbcConnectorError.GENERIC_JDBC_CONNECTOR_0000, linkConfig.jdbcDriver); + throw new SqoopException(GenericJdbcConnectorError.GENERIC_JDBC_CONNECTOR_0000, link.linkConfig.jdbcDriver); } // Properties that we will use for the connection Properties properties = new Properties(); - if(linkConfig.jdbcProperties != null) { - properties.putAll(linkConfig.jdbcProperties); + if(link.linkConfig.jdbcProperties != null) { + properties.putAll(link.linkConfig.jdbcProperties); } // Propagate username and password to the properties @@ -96,16 +98,16 @@ public class GenericJdbcExecutor { // * getConnection(url, properties) // As we have to use properties, we need to use the later // method and hence we have to persist the credentials there. - if(linkConfig.username != null) { - properties.put(JDBC_PROPERTY_USERNAME, linkConfig.username); + if(link.linkConfig.username != null) { + properties.put(JDBC_PROPERTY_USERNAME, link.linkConfig.username); } - if(linkConfig.password != null) { - properties.put(JDBC_PROPERTY_PASSWORD, linkConfig.password); + if(link.linkConfig.password != null) { + properties.put(JDBC_PROPERTY_PASSWORD, link.linkConfig.password); } // Finally create the connection try { - connection = DriverManager.getConnection(linkConfig.connectionString, properties); + connection = DriverManager.getConnection(link.linkConfig.connectionString, properties); } catch (SQLException e) { logSQLException(e); throw new SqoopException(GenericJdbcConnectorError.GENERIC_JDBC_CONNECTOR_0001, e); http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExtractor.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExtractor.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExtractor.java index 63046c0..62730fd 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExtractor.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcExtractor.java @@ -42,7 +42,7 @@ public class GenericJdbcExtractor extends Extractor<LinkConfiguration, FromJobCo private long rowsRead = 0; @Override public void extract(ExtractorContext context, LinkConfiguration linkConfig, FromJobConfiguration fromJobConfig, GenericJdbcPartition partition) { - GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig.linkConfig); + GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig); String query = context.getString(GenericJdbcConnectorConstants.CONNECTOR_JDBC_FROM_DATA_SQL); String conditions = partition.getConditions(); http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java index df517bd..20fabf6 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java @@ -47,7 +47,7 @@ public class GenericJdbcFromInitializer extends Initializer<LinkConfiguration, F @Override public void initialize(InitializerContext context, LinkConfiguration linkConfig, FromJobConfiguration fromJobConfig) { - executor = new GenericJdbcExecutor(linkConfig.linkConfig); + executor = new GenericJdbcExecutor(linkConfig); try { configurePartitionProperties(context.getContext(), linkConfig, fromJobConfig); @@ -68,7 +68,7 @@ public class GenericJdbcFromInitializer extends Initializer<LinkConfiguration, F @Override public Schema getSchema(InitializerContext context, LinkConfiguration linkConfig, FromJobConfiguration fromJobConfig) { - executor = new GenericJdbcExecutor(linkConfig.linkConfig); + executor = new GenericJdbcExecutor(linkConfig); String schemaName = fromJobConfig.fromJobConfig.tableName; if(schemaName == null) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcLoader.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcLoader.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcLoader.java index 22b726e..4e96644 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcLoader.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcLoader.java @@ -32,7 +32,7 @@ public class GenericJdbcLoader extends Loader<LinkConfiguration, ToJobConfigurat @Override public void load(LoaderContext context, LinkConfiguration linkConfig, ToJobConfiguration toJobConfig) throws Exception{ - GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig.linkConfig); + GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig); executor.setAutoCommit(false); String sql = context.getString(GenericJdbcConnectorConstants.CONNECTOR_JDBC_TO_DATA_SQL); executor.beginBatch(sql); http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java index b9f7e7f..b7ece25 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToDestroyer.java @@ -42,7 +42,7 @@ public class GenericJdbcToDestroyer extends Destroyer<LinkConfiguration, ToJobCo } private void moveDataToDestinationTable(LinkConfiguration linkConfig, boolean success, String stageTableName, String tableName) { - GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig.linkConfig); + GenericJdbcExecutor executor = new GenericJdbcExecutor(linkConfig); try { if(success) { LOG.info("Job completed, transferring data from stage fromTable to " + http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToInitializer.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToInitializer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToInitializer.java index c2515a5..4688de3 100644 --- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToInitializer.java +++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcToInitializer.java @@ -44,7 +44,7 @@ public class GenericJdbcToInitializer extends Initializer<LinkConfiguration, ToJ @Override public void initialize(InitializerContext context, LinkConfiguration linkConfig, ToJobConfiguration toJobConfig) { - executor = new GenericJdbcExecutor(linkConfig.linkConfig); + executor = new GenericJdbcExecutor(linkConfig); try { configureTableProperties(context.getContext(), linkConfig, toJobConfig); } finally { @@ -61,7 +61,7 @@ public class GenericJdbcToInitializer extends Initializer<LinkConfiguration, ToJ @Override public Schema getSchema(InitializerContext context, LinkConfiguration linkConfig, ToJobConfiguration toJobConfig) { - executor = new GenericJdbcExecutor(linkConfig.linkConfig); + executor = new GenericJdbcExecutor(linkConfig); String schemaName = toJobConfig.toJobConfig.tableName; http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutorTest.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutorTest.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutorTest.java index 01e77a3..91f97f1 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutorTest.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcExecutorTest.java @@ -19,6 +19,7 @@ package org.apache.sqoop.connector.jdbc; import org.apache.sqoop.common.SqoopException; import org.apache.sqoop.connector.jdbc.configuration.LinkConfig; +import org.apache.sqoop.connector.jdbc.configuration.LinkConfiguration; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -35,7 +36,7 @@ public class GenericJdbcExecutorTest { public GenericJdbcExecutorTest() { table = getClass().getSimpleName().toUpperCase(); emptyTable = table + "_EMPTY"; - executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIG); + executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIGURATION); } @BeforeMethod(alwaysRun = true) @@ -62,11 +63,11 @@ public class GenericJdbcExecutorTest { @Test(expectedExceptions = SqoopException.class) public void testUnknownDriver() { - LinkConfig linkConfig = new LinkConfig(); - linkConfig.jdbcDriver = "net.jarcec.driver.MyAwesomeDatabase"; - linkConfig.connectionString = "jdbc:awesome:"; + LinkConfiguration link = new LinkConfiguration(); + link.linkConfig.jdbcDriver = "net.jarcec.driver.MyAwesomeDatabase"; + link.linkConfig.connectionString = "jdbc:awesome:"; - new GenericJdbcExecutor(linkConfig); + new GenericJdbcExecutor(link); } @Test http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcTestConstants.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcTestConstants.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcTestConstants.java index 5a5e9ce..8a5dba4 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcTestConstants.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/GenericJdbcTestConstants.java @@ -17,7 +17,7 @@ */ package org.apache.sqoop.connector.jdbc; -import org.apache.sqoop.connector.jdbc.configuration.LinkConfig; +import org.apache.sqoop.connector.jdbc.configuration.LinkConfiguration; public class GenericJdbcTestConstants { @@ -34,9 +34,9 @@ public class GenericJdbcTestConstants { /** * Test link configuration */ - public static final LinkConfig LINK_CONFIG = new LinkConfig(); + public static final LinkConfiguration LINK_CONFIGURATION = new LinkConfiguration(); static { - LINK_CONFIG.jdbcDriver = DRIVER; - LINK_CONFIG.connectionString = URL; + LINK_CONFIGURATION.linkConfig.jdbcDriver = DRIVER; + LINK_CONFIGURATION.linkConfig.connectionString = URL; } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestExtractor.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestExtractor.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestExtractor.java index dd6bb27..9acc5c3 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestExtractor.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestExtractor.java @@ -59,7 +59,7 @@ public class TestExtractor { @BeforeMethod(alwaysRun = true) public void setUp() { - executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIG); + executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIGURATION); if (!executor.existTable(tableName)) { executor.executeUpdate("CREATE TABLE " http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java index c80fd32..5fc2a4a 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java @@ -61,7 +61,7 @@ public class TestFromInitializer { @BeforeMethod(alwaysRun = true) public void setUp() { - executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIG); + executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIGURATION); String fullTableName = executor.delimitIdentifier(schemaName) + "." + executor.delimitIdentifier(tableName); if (!executor.existTable(tableName)) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestLoader.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestLoader.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestLoader.java index 3a73691..d423a6a 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestLoader.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestLoader.java @@ -69,7 +69,7 @@ public class TestLoader { @BeforeMethod(alwaysRun = true) public void setUp() { - executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIG); + executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIGURATION); if (!executor.existTable(tableName)) { executor.executeUpdate("CREATE TABLE " http://git-wip-us.apache.org/repos/asf/sqoop/blob/ec5dfc42/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestToInitializer.java ---------------------------------------------------------------------- diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestToInitializer.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestToInitializer.java index 17bac77..04c5437 100644 --- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestToInitializer.java +++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestToInitializer.java @@ -59,7 +59,7 @@ public class TestToInitializer { @BeforeMethod(alwaysRun = true) public void setUp() { - executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIG); + executor = new GenericJdbcExecutor(GenericJdbcTestConstants.LINK_CONFIGURATION); String fullTableName = executor.delimitIdentifier(schemaName) + "." + executor.delimitIdentifier(tableName); if (!executor.existTable(tableName)) {
