You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ab...@apache.org on 2014/10/10 05:07:29 UTC
[37/50] [abbrv] SQOOP-1498: Sqoop2: Repository Object refactoring
(objects prefixed with M)
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java
----------------------------------------------------------------------
diff --git a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java
index 47350ea..595b1c8 100644
--- a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java
+++ b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java
@@ -17,9 +17,14 @@
*/
package org.apache.sqoop.repository.derby;
+import java.sql.Connection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.sqoop.common.Direction;
import org.apache.sqoop.common.SqoopException;
-import org.apache.sqoop.model.MForm;
+import org.apache.sqoop.model.MConfig;
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.model.MMapInput;
import org.apache.sqoop.model.MStringInput;
@@ -38,18 +43,19 @@ import static org.junit.Assert.*;
public class TestJobHandling extends DerbyTestCase {
DerbyRepositoryHandler handler;
+ Connection derbyConnection;
@Before
public void setUp() throws Exception {
super.setUp();
+ derbyConnection = getDerbyDatabaseConnection();
handler = new DerbyRepositoryHandler();
// We always needs schema for this test case
createSchema();
- // We always needs connector and framework structures in place
- loadConnectorAndDriverConfig();
+ loadConnectorLinkConfig();
// We always needs connection metadata in place
loadLinks();
@@ -59,58 +65,53 @@ public class TestJobHandling extends DerbyTestCase {
public void testFindJob() throws Exception {
// Let's try to find non existing job
try {
- handler.findJob(1, getDerbyDatabaseConnection());
+ handler.findJob(1, derbyConnection);
fail();
} catch(SqoopException ex) {
assertEquals(DerbyRepoError.DERBYREPO_0030, ex.getErrorCode());
}
- // Load prepared connections into database
loadJobs();
- MJob jobImport = handler.findJob(1, getDerbyDatabaseConnection());
- assertNotNull(jobImport);
- assertEquals(1, jobImport.getPersistenceId());
- assertEquals("JA", jobImport.getName());
-
- List<MForm> forms;
-
- // Check connector parts
- forms = jobImport.getConnectorPart(Direction.FROM).getForms();
- assertEquals(2, forms.size());
- assertEquals("Value5", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value5", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
-
- forms = jobImport.getConnectorPart(Direction.TO).getForms();
- assertEquals(2, forms.size());
- assertEquals("Value9", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value9", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
-
- // Check framework part
- forms = jobImport.getFrameworkPart().getForms();
- assertEquals(2, forms.size());
- assertEquals("Value17", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value19", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
+ MJob firstJob = handler.findJob(1, derbyConnection);
+ assertNotNull(firstJob);
+ assertEquals(1, firstJob.getPersistenceId());
+ assertEquals("JA", firstJob.getName());
+
+ List<MConfig> configs;
+
+ configs = firstJob.getJobConfig(Direction.FROM).getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Value5", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value5", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
+
+ configs = firstJob.getJobConfig(Direction.TO).getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Value9", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value9", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
+
+ configs = firstJob.getDriverConfig().getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Value13", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value15", configs.get(1).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
}
@Test
public void testFindJobs() throws Exception {
List<MJob> list;
-
// Load empty list on empty repository
- list = handler.findJobs(getDerbyDatabaseConnection());
+ list = handler.findJobs(derbyConnection);
assertEquals(0, list.size());
-
loadJobs();
// Load all two connections on loaded repository
- list = handler.findJobs(getDerbyDatabaseConnection());
+ list = handler.findJobs(derbyConnection);
assertEquals(4, list.size());
assertEquals("JA", list.get(0).getName());
@@ -125,19 +126,19 @@ public class TestJobHandling extends DerbyTestCase {
@Test
public void testExistsJob() throws Exception {
// There shouldn't be anything on empty repository
- assertFalse(handler.existsJob(1, getDerbyDatabaseConnection()));
- assertFalse(handler.existsJob(2, getDerbyDatabaseConnection()));
- assertFalse(handler.existsJob(3, getDerbyDatabaseConnection()));
- assertFalse(handler.existsJob(4, getDerbyDatabaseConnection()));
- assertFalse(handler.existsJob(5, getDerbyDatabaseConnection()));
+ assertFalse(handler.existsJob(1, derbyConnection));
+ assertFalse(handler.existsJob(2, derbyConnection));
+ assertFalse(handler.existsJob(3, derbyConnection));
+ assertFalse(handler.existsJob(4, derbyConnection));
+ assertFalse(handler.existsJob(5, derbyConnection));
loadJobs();
- assertTrue(handler.existsJob(1, getDerbyDatabaseConnection()));
- assertTrue(handler.existsJob(2, getDerbyDatabaseConnection()));
- assertTrue(handler.existsJob(3, getDerbyDatabaseConnection()));
- assertTrue(handler.existsJob(4, getDerbyDatabaseConnection()));
- assertFalse(handler.existsJob(5, getDerbyDatabaseConnection()));
+ assertTrue(handler.existsJob(1, derbyConnection));
+ assertTrue(handler.existsJob(2, derbyConnection));
+ assertTrue(handler.existsJob(3, derbyConnection));
+ assertTrue(handler.existsJob(4, derbyConnection));
+ assertFalse(handler.existsJob(5, derbyConnection));
}
@Test
@@ -145,10 +146,10 @@ public class TestJobHandling extends DerbyTestCase {
loadJobs();
loadSubmissions();
- assertTrue(handler.inUseJob(1, getDerbyDatabaseConnection()));
- assertFalse(handler.inUseJob(2, getDerbyDatabaseConnection()));
- assertFalse(handler.inUseJob(3, getDerbyDatabaseConnection()));
- assertFalse(handler.inUseJob(4, getDerbyDatabaseConnection()));
+ assertTrue(handler.inUseJob(1, derbyConnection));
+ assertFalse(handler.inUseJob(2, derbyConnection));
+ assertFalse(handler.inUseJob(3, derbyConnection));
+ assertFalse(handler.inUseJob(4, derbyConnection));
}
@Test
@@ -158,34 +159,34 @@ public class TestJobHandling extends DerbyTestCase {
// Load some data
fillJob(job);
- handler.createJob(job, getDerbyDatabaseConnection());
+ handler.createJob(job, derbyConnection);
assertEquals(1, job.getPersistenceId());
assertCountForTable("SQOOP.SQ_JOB", 1);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 6);
- MJob retrieved = handler.findJob(1, getDerbyDatabaseConnection());
+ MJob retrieved = handler.findJob(1, derbyConnection);
assertEquals(1, retrieved.getPersistenceId());
- List<MForm> forms;
- forms = job.getConnectorPart(Direction.FROM).getForms();
- assertEquals("Value1", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- forms = job.getConnectorPart(Direction.TO).getForms();
- assertEquals("Value1", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
+ List<MConfig> configs;
+ configs = job.getJobConfig(Direction.FROM).getConfigs();
+ assertEquals("Value1", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ configs = job.getJobConfig(Direction.TO).getConfigs();
+ assertEquals("Value1", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
- forms = job.getFrameworkPart().getForms();
- assertEquals("Value13", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value15", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
+ configs = job.getDriverConfig().getConfigs();
+ assertEquals("Value13", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value15", configs.get(1).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
// Let's create second job
job = getJob();
fillJob(job);
- handler.createJob(job, getDerbyDatabaseConnection());
+ handler.createJob(job, derbyConnection);
assertEquals(2, job.getPersistenceId());
assertCountForTable("SQOOP.SQ_JOB", 2);
@@ -199,48 +200,49 @@ public class TestJobHandling extends DerbyTestCase {
assertCountForTable("SQOOP.SQ_JOB", 4);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 24);
- MJob job = handler.findJob(1, getDerbyDatabaseConnection());
+ MJob job = handler.findJob(1, derbyConnection);
+
+ List<MConfig> configs;
- List<MForm> forms;
+ configs = job.getJobConfig(Direction.FROM).getConfigs();
+ ((MStringInput)configs.get(0).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(0).getInputs().get(1)).setValue(null);
- forms = job.getConnectorPart(Direction.FROM).getForms();
- ((MStringInput)forms.get(0).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(0).getInputs().get(1)).setValue(null);
- forms = job.getConnectorPart(Direction.TO).getForms();
- ((MStringInput)forms.get(0).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(0).getInputs().get(1)).setValue(null);
+ configs = job.getJobConfig(Direction.TO).getConfigs();
+ ((MStringInput)configs.get(0).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(0).getInputs().get(1)).setValue(null);
- forms = job.getFrameworkPart().getForms();
- ((MStringInput)forms.get(0).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(0).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
- ((MStringInput)forms.get(1).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(1).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
+ configs = job.getDriverConfig().getConfigs();
+ ((MStringInput)configs.get(0).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(0).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
+ ((MStringInput)configs.get(1).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(1).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
job.setName("name");
- handler.updateJob(job, getDerbyDatabaseConnection());
+ handler.updateJob(job, derbyConnection);
assertEquals(1, job.getPersistenceId());
assertCountForTable("SQOOP.SQ_JOB", 4);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 26);
- MJob retrieved = handler.findJob(1, getDerbyDatabaseConnection());
+ MJob retrieved = handler.findJob(1, derbyConnection);
assertEquals("name", retrieved.getName());
- forms = job.getConnectorPart(Direction.FROM).getForms();
- assertEquals(2, forms.size());
- assertEquals("Updated", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- forms = job.getConnectorPart(Direction.TO).getForms();
- assertEquals(2, forms.size());
- assertEquals("Updated", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
-
- forms = retrieved.getFrameworkPart().getForms();
- assertEquals(2, forms.size());
- assertEquals("Updated", forms.get(0).getInputs().get(0).getValue());
- assertNotNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals(((Map)forms.get(0).getInputs().get(1).getValue()).size(), 0);
+ configs = job.getJobConfig(Direction.FROM).getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Updated", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ configs = job.getJobConfig(Direction.TO).getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Updated", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+
+ configs = retrieved.getDriverConfig().getConfigs();
+ assertEquals(2, configs.size());
+ assertEquals("Updated", configs.get(0).getInputs().get(0).getValue());
+ assertNotNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals(((Map)configs.get(0).getInputs().get(1).getValue()).size(), 0);
}
@Test
@@ -248,16 +250,16 @@ public class TestJobHandling extends DerbyTestCase {
loadJobs();
// disable job 1
- handler.enableJob(1, false, getDerbyDatabaseConnection());
+ handler.enableJob(1, false, derbyConnection);
- MJob retrieved = handler.findJob(1, getDerbyDatabaseConnection());
+ MJob retrieved = handler.findJob(1, derbyConnection);
assertNotNull(retrieved);
assertEquals(false, retrieved.getEnabled());
// enable job 1
- handler.enableJob(1, true, getDerbyDatabaseConnection());
+ handler.enableJob(1, true, derbyConnection);
- retrieved = handler.findJob(1, getDerbyDatabaseConnection());
+ retrieved = handler.findJob(1, derbyConnection);
assertNotNull(retrieved);
assertEquals(true, retrieved.getEnabled());
}
@@ -266,28 +268,28 @@ public class TestJobHandling extends DerbyTestCase {
public void testDeleteJob() throws Exception {
loadJobs();
- handler.deleteJob(1, getDerbyDatabaseConnection());
+ handler.deleteJob(1, derbyConnection);
assertCountForTable("SQOOP.SQ_JOB", 3);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 18);
- handler.deleteJob(2, getDerbyDatabaseConnection());
+ handler.deleteJob(2, derbyConnection);
assertCountForTable("SQOOP.SQ_JOB", 2);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 12);
- handler.deleteJob(3, getDerbyDatabaseConnection());
+ handler.deleteJob(3, derbyConnection);
assertCountForTable("SQOOP.SQ_JOB", 1);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 6);
- handler.deleteJob(4, getDerbyDatabaseConnection());
+ handler.deleteJob(4, derbyConnection);
assertCountForTable("SQOOP.SQ_JOB", 0);
assertCountForTable("SQOOP.SQ_JOB_INPUT", 0);
}
public MJob getJob() {
return new MJob(1, 1, 1, 1,
- handler.findConnector("A", getDerbyDatabaseConnection()).getJobForms(Direction.FROM),
- handler.findConnector("A", getDerbyDatabaseConnection()).getJobForms(Direction.TO),
- handler.findDriverConfig(getDerbyDatabaseConnection()).getJobForms()
+ handler.findConnector("A", derbyConnection).getFromConfig(),
+ handler.findConnector("A", derbyConnection).getToConfig(),
+ handler.findDriver(derbyConnection).getDriverConfig()
);
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java
----------------------------------------------------------------------
diff --git a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java
index 8dd1ce2..38e632a 100644
--- a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java
+++ b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java
@@ -17,9 +17,11 @@
*/
package org.apache.sqoop.repository.derby;
+import java.util.List;
+
import org.apache.sqoop.common.SqoopException;
+import org.apache.sqoop.model.MConfig;
import org.apache.sqoop.model.MLink;
-import org.apache.sqoop.model.MForm;
import org.apache.sqoop.model.MMapInput;
import org.apache.sqoop.model.MStringInput;
import org.junit.Before;
@@ -48,7 +50,7 @@ public class TestLinkHandling extends DerbyTestCase {
createSchema();
// We always needs connector and framework structures in place
- loadConnectorAndDriverConfig();
+ loadConnectorLinkConfig();
}
@Test
@@ -64,26 +66,19 @@ public class TestLinkHandling extends DerbyTestCase {
// Load prepared connections into database
loadLinks();
- MLink connA = handler.findLink(1, getDerbyDatabaseConnection());
- assertNotNull(connA);
- assertEquals(1, connA.getPersistenceId());
- assertEquals("CA", connA.getName());
-
- List<MForm> forms;
-
- // Check connector part
- forms = connA.getConnectorPart().getForms();
- assertEquals("Value1", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value3", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
-
- // Check framework part
- forms = connA.getFrameworkPart().getForms();
- assertEquals("Value13", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value15", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
+ MLink linkA = handler.findLink(1, getDerbyDatabaseConnection());
+ assertNotNull(linkA);
+ assertEquals(1, linkA.getPersistenceId());
+ assertEquals("CA", linkA.getName());
+
+ List<MConfig> configs;
+
+ // Check connector link config
+ configs = linkA.getConnectorLinkConfig().getConfigs();
+ assertEquals("Value1", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value3", configs.get(1).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
}
@Test
@@ -128,24 +123,18 @@ public class TestLinkHandling extends DerbyTestCase {
handler.createLink(link, getDerbyDatabaseConnection());
assertEquals(1, link.getPersistenceId());
- assertCountForTable("SQOOP.SQ_CONNECTION", 1);
- assertCountForTable("SQOOP.SQ_CONNECTION_INPUT", 4);
+ assertCountForTable("SQOOP.SQ_LINK", 1);
+ assertCountForTable("SQOOP.SQ_LINK_INPUT", 2);
MLink retrieved = handler.findLink(1, getDerbyDatabaseConnection());
assertEquals(1, retrieved.getPersistenceId());
- List<MForm> forms;
- forms = link.getConnectorPart().getForms();
- assertEquals("Value1", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value2", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
-
- forms = link.getFrameworkPart().getForms();
- assertEquals("Value13", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Value15", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
+ List<MConfig> configs;
+ configs = link.getConnectorLinkConfig().getConfigs();
+ assertEquals("Value1", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Value2", configs.get(1).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
// Let's create second link
link = getLink();
@@ -154,8 +143,8 @@ public class TestLinkHandling extends DerbyTestCase {
handler.createLink(link, getDerbyDatabaseConnection());
assertEquals(2, link.getPersistenceId());
- assertCountForTable("SQOOP.SQ_CONNECTION", 2);
- assertCountForTable("SQOOP.SQ_CONNECTION_INPUT", 8);
+ assertCountForTable("SQOOP.SQ_LINK", 2);
+ assertCountForTable("SQOOP.SQ_LINK_INPUT", 4);
}
@Test
@@ -175,44 +164,30 @@ public class TestLinkHandling extends DerbyTestCase {
MLink link = handler.findLink(1, getDerbyDatabaseConnection());
- List<MForm> forms;
-
- forms = link.getConnectorPart().getForms();
- ((MStringInput)forms.get(0).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(0).getInputs().get(1)).setValue(null);
- ((MStringInput)forms.get(1).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(1).getInputs().get(1)).setValue(null);
+ List<MConfig> configs;
- forms = link.getFrameworkPart().getForms();
- ((MStringInput)forms.get(0).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(0).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
- ((MStringInput)forms.get(1).getInputs().get(0)).setValue("Updated");
- ((MMapInput)forms.get(1).getInputs().get(1)).setValue(new HashMap<String, String>()); // inject new map value
+ configs = link.getConnectorLinkConfig().getConfigs();
+ ((MStringInput)configs.get(0).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(0).getInputs().get(1)).setValue(null);
+ ((MStringInput)configs.get(1).getInputs().get(0)).setValue("Updated");
+ ((MMapInput)configs.get(1).getInputs().get(1)).setValue(null);
link.setName("name");
handler.updateLink(link, getDerbyDatabaseConnection());
assertEquals(1, link.getPersistenceId());
- assertCountForTable("SQOOP.SQ_CONNECTION", 2);
- assertCountForTable("SQOOP.SQ_CONNECTION_INPUT", 10);
+ assertCountForTable("SQOOP.SQ_LINK", 2);
+ assertCountForTable("SQOOP.SQ_LINK_INPUT", 6);
MLink retrieved = handler.findLink(1, getDerbyDatabaseConnection());
assertEquals("name", link.getName());
- forms = retrieved.getConnectorPart().getForms();
- assertEquals("Updated", forms.get(0).getInputs().get(0).getValue());
- assertNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals("Updated", forms.get(1).getInputs().get(0).getValue());
- assertNull(forms.get(1).getInputs().get(1).getValue());
-
- forms = retrieved.getFrameworkPart().getForms();
- assertEquals("Updated", forms.get(0).getInputs().get(0).getValue());
- assertNotNull(forms.get(0).getInputs().get(1).getValue());
- assertEquals(((Map)forms.get(0).getInputs().get(1).getValue()).size(), 0);
- assertEquals("Updated", forms.get(1).getInputs().get(0).getValue());
- assertNotNull(forms.get(1).getInputs().get(1).getValue());
- assertEquals(((Map)forms.get(1).getInputs().get(1).getValue()).size(), 0);
+ configs = retrieved.getConnectorLinkConfig().getConfigs();
+ assertEquals("Updated", configs.get(0).getInputs().get(0).getValue());
+ assertNull(configs.get(0).getInputs().get(1).getValue());
+ assertEquals("Updated", configs.get(1).getInputs().get(0).getValue());
+ assertNull(configs.get(1).getInputs().get(1).getValue());
}
@Test
@@ -239,18 +214,15 @@ public class TestLinkHandling extends DerbyTestCase {
loadLinks();
handler.deleteLink(1, getDerbyDatabaseConnection());
- assertCountForTable("SQOOP.SQ_CONNECTION", 1);
- assertCountForTable("SQOOP.SQ_CONNECTION_INPUT", 4);
+ assertCountForTable("SQOOP.SQ_LINK", 1);
+ assertCountForTable("SQOOP.SQ_LINK_INPUT", 4);
handler.deleteLink(2, getDerbyDatabaseConnection());
- assertCountForTable("SQOOP.SQ_CONNECTION", 0);
- assertCountForTable("SQOOP.SQ_CONNECTION_INPUT", 0);
+ assertCountForTable("SQOOP.SQ_LINK", 0);
+ assertCountForTable("SQOOP.SQ_LINK_INPUT", 0);
}
public MLink getLink() {
- return new MLink(1,
- handler.findConnector("A", getDerbyDatabaseConnection()).getConnectionForms(),
- handler.findDriverConfig(getDerbyDatabaseConnection()).getConnectionForms()
- );
+ return new MLink(1, handler.findConnector("A", getDerbyDatabaseConnection()).getLinkConfig());
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java
----------------------------------------------------------------------
diff --git a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java
index cf0944d..8402d8c 100644
--- a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java
+++ b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java
@@ -48,7 +48,7 @@ public class TestSubmissionHandling extends DerbyTestCase {
createSchema();
// We always needs connector and framework structures in place
- loadConnectorAndDriverConfig();
+ loadConnectorLinkConfig();
// We also always needs connection metadata in place
loadLinks();
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
index d1b6b9a..7109ae5 100644
--- a/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
@@ -87,7 +87,7 @@ public class ConnectorRequestHandler implements RequestHandler {
connectors = new LinkedList<MConnector>();
bundles = new HashMap<Long, ResourceBundle>();
- connectors.add(ConnectorManager.getInstance().getConnectorMetadata(id));
+ connectors.add(ConnectorManager.getInstance().getConnectorConfig(id));
bundles.put(id, ConnectorManager.getInstance().getResourceBundle(id, locale));
AuditLoggerManager.getInstance()
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/server/src/main/java/org/apache/sqoop/handler/DriverConfigRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/DriverConfigRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/DriverConfigRequestHandler.java
index c0d363e..aa773a9 100644
--- a/server/src/main/java/org/apache/sqoop/handler/DriverConfigRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/DriverConfigRequestHandler.java
@@ -20,7 +20,7 @@ package org.apache.sqoop.handler;
import org.apache.log4j.Logger;
import org.apache.sqoop.audit.AuditLoggerManager;
import org.apache.sqoop.driver.Driver;
-import org.apache.sqoop.json.DriverConfigBean;
+import org.apache.sqoop.json.DriverBean;
import org.apache.sqoop.json.JsonBean;
import org.apache.sqoop.server.RequestContext;
import org.apache.sqoop.server.RequestHandler;
@@ -40,11 +40,10 @@ public class DriverConfigRequestHandler implements RequestHandler {
@Override
public JsonBean handleEvent(RequestContext ctx) {
- AuditLoggerManager.getInstance()
- .logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
- "get", "framework", "");
+ AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
+ ctx.getRequest().getRemoteAddr(), "get", "driverConfig", "");
- return new DriverConfigBean(Driver.getInstance().getDriverConfig(),
- Driver.getInstance().getBundle(ctx.getAcceptLanguageHeader()));
+ return new DriverBean(Driver.getInstance().getDriver(), Driver.getInstance()
+ .getBundle(ctx.getAcceptLanguageHeader()));
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
index b61d3f5..462579c 100644
--- a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
@@ -17,6 +17,10 @@
*/
package org.apache.sqoop.handler;
+import java.io.IOException;
+import java.util.List;
+import java.util.Locale;
+
import org.apache.log4j.Logger;
import org.apache.sqoop.audit.AuditLoggerManager;
import org.apache.sqoop.common.Direction;
@@ -27,25 +31,24 @@ import org.apache.sqoop.driver.Driver;
import org.apache.sqoop.json.JobBean;
import org.apache.sqoop.json.JsonBean;
import org.apache.sqoop.json.ValidationResultBean;
-import org.apache.sqoop.model.FormUtils;
+import org.apache.sqoop.json.util.ConfigSerialization;
+import org.apache.sqoop.model.ConfigUtils;
+import org.apache.sqoop.model.MDriverConfig;
+import org.apache.sqoop.model.MFromConfig;
import org.apache.sqoop.model.MJob;
-import org.apache.sqoop.model.MJobForms;
+import org.apache.sqoop.model.MToConfig;
import org.apache.sqoop.repository.Repository;
import org.apache.sqoop.repository.RepositoryManager;
import org.apache.sqoop.server.RequestContext;
import org.apache.sqoop.server.RequestHandler;
import org.apache.sqoop.server.common.ServerError;
import org.apache.sqoop.utils.ClassUtils;
+import org.apache.sqoop.validation.ConfigValidationResult;
+import org.apache.sqoop.validation.ConfigValidationRunner;
import org.apache.sqoop.validation.Status;
-import org.apache.sqoop.validation.ValidationResult;
-import org.apache.sqoop.validation.ValidationRunner;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
-import java.io.IOException;
-import java.util.List;
-import java.util.Locale;
-
/**
* Job request handler is supporting following resources:
*
@@ -109,7 +112,7 @@ public class JobRequestHandler implements RequestHandler {
}
/**
- * Delete job from metadata repository.
+ * Delete job from repository.
*
* @param ctx Context object
* @return Empty bean
@@ -129,18 +132,14 @@ public class JobRequestHandler implements RequestHandler {
}
/**
- * Update or create job metadata in repository.
+ * Update or create job in repository.
*
* @param ctx Context object
* @return Validation bean object
*/
private JsonBean createUpdateJob(RequestContext ctx, boolean update) {
-// Check that given ID equals with sent ID, otherwise report an error UPDATE
-// String sxid = ctx.getLastURLElement();
-// long xid = Long.valueOf(sxid);
String username = ctx.getUserName();
-
JobBean bean = new JobBean();
try {
@@ -157,30 +156,29 @@ public class JobRequestHandler implements RequestHandler {
if(jobs.size() != 1) {
throw new SqoopException(ServerError.SERVER_0003,
- "Expected one job metadata but got " + jobs.size());
+ "Expected one job but got " + jobs.size());
}
// Job object
MJob job = jobs.get(0);
// Verify that user is not trying to spoof us
- MJobForms fromConnectorForms = ConnectorManager.getInstance()
- .getConnectorMetadata(job.getConnectorId(Direction.FROM))
- .getJobForms(Direction.FROM);
- MJobForms toConnectorForms = ConnectorManager.getInstance()
- .getConnectorMetadata(job.getConnectorId(Direction.TO))
- .getJobForms(Direction.TO);
- MJobForms frameworkForms = Driver.getInstance().getDriverConfig()
- .getJobForms();
-
- if(!fromConnectorForms.equals(job.getConnectorPart(Direction.FROM))
- || !frameworkForms.equals(job.getFrameworkPart())
- || !toConnectorForms.equals(job.getConnectorPart(Direction.TO))) {
+ MFromConfig fromConfig = ConnectorManager.getInstance()
+ .getConnectorConfig(job.getConnectorId(Direction.FROM))
+ .getFromConfig();
+ MToConfig toConfig = ConnectorManager.getInstance()
+ .getConnectorConfig(job.getConnectorId(Direction.TO))
+ .getToConfig();
+ MDriverConfig driverConfig = Driver.getInstance().getDriver().getDriverConfig();
+
+ if(!fromConfig.equals(job.getJobConfig(Direction.FROM))
+ || !driverConfig.equals(job.getDriverConfig())
+ || !toConfig.equals(job.getJobConfig(Direction.TO))) {
throw new SqoopException(ServerError.SERVER_0003,
- "Detected incorrect form structure");
+ "Detected incorrect config structure");
}
- // Responsible connector for this session
+ // Corresponding connectors for this
SqoopConnector fromConnector = ConnectorManager.getInstance().getConnector(job.getConnectorId(Direction.FROM));
SqoopConnector toConnector = ConnectorManager.getInstance().getConnector(job.getConnectorId(Direction.TO));
@@ -194,25 +192,27 @@ public class JobRequestHandler implements RequestHandler {
+ " does not support TO direction.");
}
- // We need translate forms to configuration objects
- Object fromConnectorConfig = ClassUtils.instantiate(fromConnector.getJobConfigurationClass(Direction.FROM));
- Object frameworkConfig = ClassUtils.instantiate(Driver.getInstance().getJobConfigurationClass());
- Object toConnectorConfig = ClassUtils.instantiate(toConnector.getJobConfigurationClass(Direction.TO));
+ // We need translate configs
+ Object fromConfigObject = ClassUtils.instantiate(fromConnector.getJobConfigurationClass(Direction.FROM));
+ Object toConfigObject = ClassUtils.instantiate(toConnector.getJobConfigurationClass(Direction.TO));
+
+ Object driverConfigObject = ClassUtils.instantiate(Driver.getInstance().getDriverConfigurationGroupClass());
+
+ ConfigUtils.fromConfigs(job.getJobConfig(Direction.FROM).getConfigs(), fromConfigObject);
+ ConfigUtils.fromConfigs(job.getJobConfig(Direction.TO).getConfigs(), toConfigObject);
+ ConfigUtils.fromConfigs(job.getDriverConfig().getConfigs(), driverConfigObject);
- FormUtils.fromForms(job.getConnectorPart(Direction.FROM).getForms(), fromConnectorConfig);
- FormUtils.fromForms(job.getFrameworkPart().getForms(), frameworkConfig);
- FormUtils.fromForms(job.getConnectorPart(Direction.TO).getForms(), toConnectorConfig);
+ // Validate all configs
+ ConfigValidationRunner validationRunner = new ConfigValidationRunner();
+ ConfigValidationResult fromConfigvalidator = validationRunner.validate(fromConfigObject);
+ ConfigValidationResult toConfigValidator = validationRunner.validate(toConfigObject);
+ ConfigValidationResult driverConfigValidator = validationRunner.validate(driverConfigObject);
- // Validate all parts
- ValidationRunner validationRunner = new ValidationRunner();
- ValidationResult fromConnectorValidation = validationRunner.validate(fromConnectorConfig);
- ValidationResult frameworkValidation = validationRunner.validate(frameworkConfig);
- ValidationResult toConnectorValidation = validationRunner.validate(toConnectorConfig);
- Status finalStatus = Status.getWorstStatus(fromConnectorValidation.getStatus(), frameworkValidation.getStatus(), toConnectorValidation.getStatus());
+ Status finalStatus = Status.getWorstStatus(fromConfigvalidator.getStatus(), toConfigValidator.getStatus(), driverConfigValidator.getStatus());
// Return back validations in all cases
- ValidationResultBean outputBean = new ValidationResultBean(fromConnectorValidation, frameworkValidation, toConnectorValidation);
+ ValidationResultBean validationResultBean = new ValidationResultBean(fromConfigvalidator, toConfigValidator);
// If we're good enough let's perform the action
if(finalStatus.canProceed()) {
@@ -227,7 +227,7 @@ public class JobRequestHandler implements RequestHandler {
job.setCreationUser(username);
job.setLastUpdateUser(username);
RepositoryManager.getInstance().getRepository().createJob(job);
- outputBean.setId(job.getPersistenceId());
+ validationResultBean.setId(job.getPersistenceId());
AuditLoggerManager.getInstance()
.logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
@@ -236,7 +236,7 @@ public class JobRequestHandler implements RequestHandler {
}
- return outputBean;
+ return validationResultBean;
}
private JsonBean getJobs(RequestContext ctx) {
@@ -250,7 +250,7 @@ public class JobRequestHandler implements RequestHandler {
Locale locale = ctx.getAcceptLanguageHeader();
Repository repository = RepositoryManager.getInstance().getRepository();
- if (sjid.equals("all")) {
+ if (sjid.equals(ConfigSerialization.ALL)) {
List<MJob> jobs = repository.findJobs();
bean = new JobBean(jobs);
@@ -269,11 +269,8 @@ public class JobRequestHandler implements RequestHandler {
MJob job = repository.findJob(jid);
// @TODO(Abe): From/To
-
long connectorId = job.getConnectorId(Direction.FROM);
-
bean = new JobBean(job);
-
bean.addConnectorConfigBundle(connectorId,
ConnectorManager.getInstance().getResourceBundle(connectorId, locale));
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java
index 23fc9f1..80e65b8 100644
--- a/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java
@@ -17,18 +17,21 @@
*/
package org.apache.sqoop.handler;
+import java.io.IOException;
+import java.util.List;
+import java.util.Locale;
+
import org.apache.log4j.Logger;
import org.apache.sqoop.audit.AuditLoggerManager;
import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.connector.ConnectorManager;
import org.apache.sqoop.connector.spi.SqoopConnector;
-import org.apache.sqoop.driver.Driver;
-import org.apache.sqoop.json.LinkBean;
import org.apache.sqoop.json.JsonBean;
+import org.apache.sqoop.json.LinkBean;
import org.apache.sqoop.json.ValidationResultBean;
-import org.apache.sqoop.model.FormUtils;
+import org.apache.sqoop.model.ConfigUtils;
import org.apache.sqoop.model.MLink;
-import org.apache.sqoop.model.MConnectionForms;
+import org.apache.sqoop.model.MLinkConfig;
import org.apache.sqoop.repository.Repository;
import org.apache.sqoop.repository.RepositoryManager;
import org.apache.sqoop.server.RequestContext;
@@ -36,41 +39,37 @@ import org.apache.sqoop.server.RequestHandler;
import org.apache.sqoop.server.common.ServerError;
import org.apache.sqoop.utils.ClassUtils;
import org.apache.sqoop.validation.Status;
-import org.apache.sqoop.validation.ValidationResult;
-import org.apache.sqoop.validation.ValidationRunner;
+import org.apache.sqoop.validation.ConfigValidationResult;
+import org.apache.sqoop.validation.ConfigValidationRunner;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
-import java.io.IOException;
-import java.util.List;
-import java.util.Locale;
-
/**
* Connection request handler is supporting following resources:
*
- * GET /v1/connection/:xid
- * Return details about one particular connection with id :xid or about all of
+ * GET /v1/link/:xid
+ * Return details about one particular link with id :xid or about all of
* them if :xid equals to "all".
*
- * POST /v1/connection
- * Create new connection
+ * POST /v1/link
+ * Create new link
*
- * PUT /v1/connection/:xid
- * Update connection with id :xid.
+ * PUT /v1/link/:xid
+ * Update link with id :xid.
*
- * PUT /v1/connection/:xid/enable
- * Enable connection with id :xid
+ * PUT /v1/link/:xid/enable
+ * Enable link with id :xid
*
- * PUT /v1/connection/:xid/disable
- * Disable connection with id :xid
+ * PUT /v1/link/:xid/disable
+ * Disable link with id :xid
*
- * DELETE /v1/connection/:xid
- * Remove connection with id :xid
+ * DELETE /v1/link/:xid
+ * Remove link with id :xid
*
* Planned resources:
*
- * GET /v1/connection
- * Get brief list of all connections present in the system.
+ * GET /v1/link
+ * Get brief list of all links present in the system.
*
*/
public class LinkRequestHandler implements RequestHandler {
@@ -89,37 +88,37 @@ public class LinkRequestHandler implements RequestHandler {
public JsonBean handleEvent(RequestContext ctx) {
switch (ctx.getMethod()) {
case GET:
- return getConnections(ctx);
+ return getLink(ctx);
case POST:
- return createUpdateConnection(ctx, false);
+ return createUpdateLink(ctx, false);
case PUT:
if (ctx.getLastURLElement().equals(ENABLE)) {
- return enableConnection(ctx, true);
+ return enableLink(ctx, true);
} else if (ctx.getLastURLElement().equals(DISABLE)) {
- return enableConnection(ctx, false);
+ return enableLink(ctx, false);
} else {
- return createUpdateConnection(ctx, true);
+ return createUpdateLink(ctx, true);
}
case DELETE:
- return deleteConnection(ctx);
+ return deleteLink(ctx);
}
return null;
}
/**
- * Delete connection from metadata repository.
+ * Delete link from thes repository.
*
* @param ctx Context object
* @return Empty bean
*/
- private JsonBean deleteConnection(RequestContext ctx) {
+ private JsonBean deleteLink(RequestContext ctx) {
String sxid = ctx.getLastURLElement();
long xid = Long.valueOf(sxid);
AuditLoggerManager.getInstance()
.logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
- "delete", "connection", sxid);
+ "delete", "link", sxid);
Repository repository = RepositoryManager.getInstance().getRepository();
repository.deleteLink(xid);
@@ -128,20 +127,15 @@ public class LinkRequestHandler implements RequestHandler {
}
/**
- * Update or create connection metadata in repository.
+ * Update or create link in repository.
*
* @param ctx Context object
* @return Validation bean object
*/
- private JsonBean createUpdateConnection(RequestContext ctx, boolean update) {
-// Check that given ID equals with sent ID, otherwise report an error UPDATE
-// String sxid = ctx.getLastURLElement();
-// long xid = Long.valueOf(sxid);
+ private JsonBean createUpdateLink(RequestContext ctx, boolean update) {
String username = ctx.getUserName();
-
LinkBean bean = new LinkBean();
-
try {
JSONObject json =
(JSONObject) JSONValue.parse(ctx.getRequest().getReader());
@@ -152,93 +146,86 @@ public class LinkRequestHandler implements RequestHandler {
"Can't read request content", e);
}
- // Get connection object
- List<MLink> connections = bean.getLinks();
+ // Get link object
+ List<MLink> links = bean.getLinks();
- if(connections.size() != 1) {
+ if(links.size() != 1) {
throw new SqoopException(ServerError.SERVER_0003,
- "Expected one connection metadata but got " + connections.size());
+ "Expected one link but got " + links.size());
}
- MLink connection = connections.get(0);
+ MLink link = links.get(0);
// Verify that user is not trying to spoof us
- MConnectionForms connectorForms =
- ConnectorManager.getInstance().getConnectorMetadata(connection.getConnectorId())
- .getConnectionForms();
- MConnectionForms frameworkForms = Driver.getInstance().getDriverConfig()
- .getConnectionForms();
-
- if(!connectorForms.equals(connection.getConnectorPart())
- || !frameworkForms.equals(connection.getFrameworkPart())) {
+ MLinkConfig linkConfig =
+ ConnectorManager.getInstance().getConnectorConfig(link.getConnectorId())
+ .getLinkConfig();
+ if(!linkConfig.equals(link.getConnectorLinkConfig())) {
throw new SqoopException(ServerError.SERVER_0003,
- "Detected incorrect form structure");
+ "Detected incorrect config structure");
}
// Responsible connector for this session
- SqoopConnector connector = ConnectorManager.getInstance().getConnector(connection.getConnectorId());
+ SqoopConnector connector = ConnectorManager.getInstance().getConnector(link.getConnectorId());
- // We need translate forms to configuration objects
- Object connectorConfig = ClassUtils.instantiate(connector.getLinkConfigurationClass());
- Object frameworkConfig = ClassUtils.instantiate(Driver.getInstance().getLinkConfigurationClass());
+ // We need translate configs
+ Object connectorLinkConfig = ClassUtils.instantiate(connector.getLinkConfigurationClass());
- FormUtils.fromForms(connection.getConnectorPart().getForms(), connectorConfig);
- FormUtils.fromForms(connection.getFrameworkPart().getForms(), frameworkConfig);
+ ConfigUtils.fromConfigs(link.getConnectorLinkConfig().getConfigs(), connectorLinkConfig);
// Validate both parts
- ValidationRunner validationRunner = new ValidationRunner();
- ValidationResult connectorValidation = validationRunner.validate(connectorConfig);
- ValidationResult frameworkValidation = validationRunner.validate(frameworkConfig);
+ ConfigValidationRunner validationRunner = new ConfigValidationRunner();
+ ConfigValidationResult connectorLinkValidation = validationRunner.validate(connectorLinkConfig);
- Status finalStatus = Status.getWorstStatus(connectorValidation.getStatus(), frameworkValidation.getStatus());
+ Status finalStatus = Status.getWorstStatus(connectorLinkValidation.getStatus());
// Return back validations in all cases
- ValidationResultBean outputBean = new ValidationResultBean(connectorValidation, frameworkValidation);
+ ValidationResultBean outputBean = new ValidationResultBean(connectorLinkValidation);
// If we're good enough let's perform the action
if(finalStatus.canProceed()) {
if(update) {
AuditLoggerManager.getInstance()
.logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
- "update", "connection", String.valueOf(connection.getPersistenceId()));
+ "update", "link", String.valueOf(link.getPersistenceId()));
- connection.setLastUpdateUser(username);
- RepositoryManager.getInstance().getRepository().updateLink(connection);
+ link.setLastUpdateUser(username);
+ RepositoryManager.getInstance().getRepository().updateLink(link);
} else {
- connection.setCreationUser(username);
- connection.setLastUpdateUser(username);
- RepositoryManager.getInstance().getRepository().createLink(connection);
- outputBean.setId(connection.getPersistenceId());
+ link.setCreationUser(username);
+ link.setLastUpdateUser(username);
+ RepositoryManager.getInstance().getRepository().createLink(link);
+ outputBean.setId(link.getPersistenceId());
AuditLoggerManager.getInstance()
.logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
- "create", "connection", String.valueOf(connection.getPersistenceId()));
+ "create", "link", String.valueOf(link.getPersistenceId()));
}
}
return outputBean;
}
- private JsonBean getConnections(RequestContext ctx) {
+ private JsonBean getLink(RequestContext ctx) {
String sxid = ctx.getLastURLElement();
LinkBean bean;
AuditLoggerManager.getInstance()
.logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
- "get", "connection", sxid);
+ "get", "link", sxid);
Locale locale = ctx.getAcceptLanguageHeader();
Repository repository = RepositoryManager.getInstance().getRepository();
if (sxid.equals("all")) {
- List<MLink> connections = repository.findLinks();
- bean = new LinkBean(connections);
+ List<MLink> links = repository.findLinks();
+ bean = new LinkBean(links);
// Add associated resources into the bean
- for( MLink connection : connections) {
- long connectorId = connection.getConnectorId();
- if(!bean.hasConnectorBundle(connectorId)) {
+ for( MLink link : links) {
+ long connectorId = link.getConnectorId();
+ if(!bean.hasConnectorConfigBundle(connectorId)) {
bean.addConnectorConfigBundle(connectorId,
ConnectorManager.getInstance().getResourceBundle(connectorId, locale));
}
@@ -246,21 +233,18 @@ public class LinkRequestHandler implements RequestHandler {
} else {
long xid = Long.valueOf(sxid);
- MLink connection = repository.findLink(xid);
- long connectorId = connection.getConnectorId();
+ MLink link = repository.findLink(xid);
+ long connectorId = link.getConnectorId();
- bean = new LinkBean(connection);
+ bean = new LinkBean(link);
bean.addConnectorConfigBundle(connectorId,
ConnectorManager.getInstance().getResourceBundle(connectorId, locale));
}
-
- // Sent framework resource bundle in all cases
- bean.setDriverConfigBundle(Driver.getInstance().getBundle(locale));
return bean;
}
- private JsonBean enableConnection(RequestContext ctx, boolean enabled) {
+ private JsonBean enableLink(RequestContext ctx, boolean enabled) {
String[] elements = ctx.getUrlElements();
String sLinkId = elements[elements.length - 2];
long linkId = Long.valueOf(sLinkId);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/CloneJobFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/CloneJobFunction.java b/shell/src/main/java/org/apache/sqoop/shell/CloneJobFunction.java
index 97d8e6f..8188831 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/CloneJobFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/CloneJobFunction.java
@@ -24,8 +24,8 @@ import org.apache.sqoop.common.Direction;
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.model.MPersistableEntity;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.FormOptions;
-import org.apache.sqoop.shell.utils.JobDynamicFormOptions;
+import org.apache.sqoop.shell.utils.ConfigOptions;
+import org.apache.sqoop.shell.utils.JobDynamicConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -33,7 +33,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
*
@@ -63,11 +63,11 @@ public class CloneJobFunction extends SqoopFunction {
MJob job = client.getJob(jobId);
job.setPersistenceId(MPersistableEntity.PERSISTANCE_ID_DEFAULT);
- ResourceBundle fromConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle fromConnectorBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.FROM));
- ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
- ResourceBundle toConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle toConnectorBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.TO));
+ ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
Status status = Status.FINE;
@@ -84,7 +84,7 @@ public class CloneJobFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillJob(reader, job, fromConnectorBundle, driverConfigBundle, toConnectorBundle)) {
+ if(!fillJobWithBundle(reader, job, fromConnectorBundle, toConnectorBundle, driverConfigBundle)) {
return null;
}
@@ -92,9 +92,9 @@ public class CloneJobFunction extends SqoopFunction {
status = client.saveJob(job);
} while(!status.canProceed());
} else {
- JobDynamicFormOptions options = new JobDynamicFormOptions();
+ JobDynamicConfigOptions options = new JobDynamicConfigOptions();
options.prepareOptions(job);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
if (fillJob(line, job)) {
status = client.saveJob(job);
if (!status.canProceed()) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/CloneLinkFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/CloneLinkFunction.java b/shell/src/main/java/org/apache/sqoop/shell/CloneLinkFunction.java
index d9babe0..c1a4f55 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/CloneLinkFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/CloneLinkFunction.java
@@ -23,8 +23,8 @@ import org.apache.commons.cli.OptionBuilder;
import org.apache.sqoop.model.MLink;
import org.apache.sqoop.model.MPersistableEntity;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.LinkDynamicFormOptions;
-import org.apache.sqoop.shell.utils.FormOptions;
+import org.apache.sqoop.shell.utils.LinkDynamicConfigOptions;
+import org.apache.sqoop.shell.utils.ConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -32,7 +32,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
*
@@ -67,8 +67,7 @@ public class CloneLinkFunction extends SqoopFunction {
Status status = Status.FINE;
- ResourceBundle connectorConfigBundle = client.getConnectorConfigResourceBundle(connection.getConnectorId());
- ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
+ ResourceBundle linkConfigBundle = client.getConnectorConfigBundle(connection.getConnectorId());
if (isInteractive) {
printlnResource(Constants.RES_PROMPT_UPDATE_LINK_CONFIG);
@@ -80,17 +79,17 @@ public class CloneLinkFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillLink(reader, connection, connectorConfigBundle, driverConfigBundle)) {
+ if(!fillLinkWithBundle(reader, connection, linkConfigBundle)) {
return null;
}
status = client.saveLink(connection);
} while(!status.canProceed());
} else {
- LinkDynamicFormOptions options = new LinkDynamicFormOptions();
+ LinkDynamicConfigOptions options = new LinkDynamicConfigOptions();
options.prepareOptions(connection);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
- if (fillConnection(line, connection)) {
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
+ if (fillLink(line, connection)) {
status = client.saveLink(connection);
if (!status.canProceed()) {
printLinkValidationMessages(connection);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/CreateJobFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/CreateJobFunction.java b/shell/src/main/java/org/apache/sqoop/shell/CreateJobFunction.java
index ccfed31..0d3d2b5 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/CreateJobFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/CreateJobFunction.java
@@ -23,9 +23,9 @@ import org.apache.commons.cli.OptionBuilder;
import org.apache.sqoop.common.Direction;
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.FormDisplayer;
-import org.apache.sqoop.shell.utils.FormOptions;
-import org.apache.sqoop.shell.utils.JobDynamicFormOptions;
+import org.apache.sqoop.shell.utils.ConfigDisplayer;
+import org.apache.sqoop.shell.utils.ConfigOptions;
+import org.apache.sqoop.shell.utils.JobDynamicConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -33,7 +33,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
* Handles creation of new job objects.
@@ -67,16 +67,16 @@ public class CreateJobFunction extends SqoopFunction {
isInteractive);
}
- private Status createJob(Long fromConnectionId, Long toConnectionId, List<String> args, boolean isInteractive) throws IOException {
- printlnResource(Constants.RES_CREATE_CREATING_JOB, fromConnectionId, toConnectionId);
+ private Status createJob(Long fromLinkId, Long toLinkId, List<String> args, boolean isInteractive) throws IOException {
+ printlnResource(Constants.RES_CREATE_CREATING_JOB, fromLinkId, toLinkId);
ConsoleReader reader = new ConsoleReader();
- MJob job = client.createJob(fromConnectionId, toConnectionId);
+ MJob job = client.createJob(fromLinkId, toLinkId);
// @TODO(Abe): From/To.
- ResourceBundle fromConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle fromConfigBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.FROM));
- ResourceBundle toConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle toConfigBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.TO));
ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
@@ -92,7 +92,7 @@ public class CreateJobFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillJob(reader, job, fromConnectorBundle, driverConfigBundle, toConnectorBundle)) {
+ if(!fillJobWithBundle(reader, job, fromConfigBundle, toConfigBundle, driverConfigBundle)) {
return null;
}
@@ -100,9 +100,9 @@ public class CreateJobFunction extends SqoopFunction {
status = client.saveJob(job);
} while(!status.canProceed());
} else {
- JobDynamicFormOptions options = new JobDynamicFormOptions();
+ JobDynamicConfigOptions options = new JobDynamicConfigOptions();
options.prepareOptions(job);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
if (fillJob(line, job)) {
status = client.saveJob(job);
if (!status.canProceed()) {
@@ -115,7 +115,7 @@ public class CreateJobFunction extends SqoopFunction {
}
}
- FormDisplayer.displayFormWarning(job);
+ ConfigDisplayer.displayConfigWarning(job);
printlnResource(Constants.RES_CREATE_JOB_SUCCESSFUL, status.name(), job.getPersistenceId());
return status;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/CreateLinkFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/CreateLinkFunction.java b/shell/src/main/java/org/apache/sqoop/shell/CreateLinkFunction.java
index 33d60c8..ce9988f 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/CreateLinkFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/CreateLinkFunction.java
@@ -22,9 +22,9 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.OptionBuilder;
import org.apache.sqoop.model.MLink;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.LinkDynamicFormOptions;
-import org.apache.sqoop.shell.utils.FormDisplayer;
-import org.apache.sqoop.shell.utils.FormOptions;
+import org.apache.sqoop.shell.utils.LinkDynamicConfigOptions;
+import org.apache.sqoop.shell.utils.ConfigDisplayer;
+import org.apache.sqoop.shell.utils.ConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -32,7 +32,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
*
@@ -62,11 +62,9 @@ public class CreateLinkFunction extends SqoopFunction {
MLink link = client.createLink(connectorId);
- ResourceBundle connectorConfigBundle = client.getConnectorConfigResourceBundle(connectorId);
- ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
+ ResourceBundle connectorConfigBundle = client.getConnectorConfigBundle(connectorId);
Status status = Status.FINE;
-
if (isInteractive) {
printlnResource(Constants.RES_PROMPT_FILL_LINK_CONFIG);
@@ -77,7 +75,7 @@ public class CreateLinkFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillLink(reader, link, connectorConfigBundle, driverConfigBundle)) {
+ if(!fillLinkWithBundle(reader, link, connectorConfigBundle)) {
return null;
}
@@ -85,10 +83,10 @@ public class CreateLinkFunction extends SqoopFunction {
status = client.saveLink(link);
} while(!status.canProceed());
} else {
- LinkDynamicFormOptions options = new LinkDynamicFormOptions();
+ LinkDynamicConfigOptions options = new LinkDynamicConfigOptions();
options.prepareOptions(link);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
- if (fillConnection(line, link)) {
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
+ if (fillLink(line, link)) {
status = client.saveLink(link);
if (!status.canProceed()) {
printLinkValidationMessages(link);
@@ -100,7 +98,7 @@ public class CreateLinkFunction extends SqoopFunction {
}
}
- FormDisplayer.displayFormWarning(link);
+ ConfigDisplayer.displayConfigWarning(link);
printlnResource(Constants.RES_CREATE_LINK_SUCCESSFUL, status.name(), link.getPersistenceId());
return status;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowCommand.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowCommand.java b/shell/src/main/java/org/apache/sqoop/shell/ShowCommand.java
index 28bc752..329b4d6 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/ShowCommand.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/ShowCommand.java
@@ -31,7 +31,7 @@ public class ShowCommand extends SqoopCommand {
.put(Constants.FN_SERVER, ShowServerFunction.class)
.put(Constants.FN_VERSION, ShowVersionFunction.class)
.put(Constants.FN_CONNECTOR, ShowConnectorFunction.class)
- .put(Constants.FN_DRIVER_CONFIG, ShowDriverConfigFunction.class)
+ .put(Constants.FN_DRIVER_CONFIG, ShowDriverFunction.class)
.put(Constants.FN_LINK, ShowLinkFunction.class)
.put(Constants.FN_JOB, ShowJobFunction.class)
.put(Constants.FN_SUBMISSION, ShowSubmissionFunction.class)
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowConnectorFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowConnectorFunction.java b/shell/src/main/java/org/apache/sqoop/shell/ShowConnectorFunction.java
index 2ba75b4..09fb195 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/ShowConnectorFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/ShowConnectorFunction.java
@@ -31,7 +31,7 @@ import org.apache.sqoop.shell.utils.TableDisplayer;
import org.apache.sqoop.validation.Status;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormDisplayer.*;
+import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
@SuppressWarnings("serial")
public class ShowConnectorFunction extends SqoopFunction {
@@ -115,7 +115,7 @@ public class ShowConnectorFunction extends SqoopFunction {
connector.getVersion(),
getSupportedDirections(connector)
);
- displayFormMetadataDetails(connector, client.getConnectorConfigResourceBundle(connector.getPersistenceId()));
+ displayConnectorConfigDetails(connector, client.getConnectorConfigBundle(connector.getPersistenceId()));
}
/**
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowDriverConfigFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowDriverConfigFunction.java b/shell/src/main/java/org/apache/sqoop/shell/ShowDriverConfigFunction.java
deleted file mode 100644
index e6e1004..0000000
--- a/shell/src/main/java/org/apache/sqoop/shell/ShowDriverConfigFunction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sqoop.shell;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.sqoop.model.MDriverConfig;
-import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.validation.Status;
-
-import java.util.ResourceBundle;
-
-import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormDisplayer.*;
-
-/**
- *
- */
-@SuppressWarnings("serial")
-public class ShowDriverConfigFunction extends SqoopFunction {
- public ShowDriverConfigFunction() {
- }
-
- @Override
- public boolean validateArgs(CommandLine line) {
- if (line.getArgs().length != 0) {
- printlnResource(Constants.RES_SHOW_DRIVER_CONFIG_USAGE);
- return false;
- }
- return true;
- }
-
- @Override
- public Object executeFunction(CommandLine line, boolean isInteractive) {
- showFramework();
- return Status.FINE;
- }
-
- private void showFramework() {
- MDriverConfig framework = client.getDriverConfig();
- ResourceBundle bundle = client.getDriverConfigBundle();
-
- printlnResource(Constants.RES_SHOW_PROMPT_DRIVER_CONFIG_OPTS, framework.getPersistenceId());
- displayFormMetadataDetails(framework, bundle);
- }
-}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowDriverFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowDriverFunction.java b/shell/src/main/java/org/apache/sqoop/shell/ShowDriverFunction.java
new file mode 100644
index 0000000..080792b
--- /dev/null
+++ b/shell/src/main/java/org/apache/sqoop/shell/ShowDriverFunction.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sqoop.shell;
+
+import static org.apache.sqoop.shell.ShellEnvironment.client;
+import static org.apache.sqoop.shell.ShellEnvironment.printlnResource;
+import static org.apache.sqoop.shell.utils.ConfigDisplayer.displayDriverConfigDetails;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.sqoop.shell.core.Constants;
+import org.apache.sqoop.validation.Status;
+
+/**
+ *
+ */
+@SuppressWarnings("serial")
+public class ShowDriverFunction extends SqoopFunction {
+ public ShowDriverFunction() {
+ }
+
+ @Override
+ public boolean validateArgs(CommandLine line) {
+ if (line.getArgs().length != 0) {
+ printlnResource(Constants.RES_SHOW_DRIVER_CONFIG_USAGE);
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Object executeFunction(CommandLine line, boolean isInteractive) {
+ showDriver();
+ return Status.FINE;
+ }
+
+ private void showDriver() {
+ printlnResource(Constants.RES_SHOW_PROMPT_DRIVER_CONFIG_OPTS, client.getDriver().getPersistenceId());
+ displayDriverConfigDetails(client.getDriverConfig(), client.getDriverConfigBundle());
+ }
+}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowJobFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowJobFunction.java b/shell/src/main/java/org/apache/sqoop/shell/ShowJobFunction.java
index e3f1f47..0640283 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/ShowJobFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/ShowJobFunction.java
@@ -30,7 +30,7 @@ import java.util.LinkedList;
import java.util.List;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormDisplayer.*;
+import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
/**
*
@@ -124,12 +124,11 @@ public class ShowJobFunction extends SqoopFunction {
job.getLinkId(Direction.FROM),
job.getConnectorId(Direction.FROM));
- // Display connector part
- displayForms(job.getConnectorPart(Direction.FROM).getForms(),
- client.getConnectorConfigResourceBundle(job.getConnectorId(Direction.FROM)));
- displayForms(job.getFrameworkPart().getForms(),
+ displayConfig(job.getJobConfig(Direction.FROM).getConfigs(),
+ client.getConnectorConfigBundle(job.getConnectorId(Direction.FROM)));
+ displayConfig(job.getDriverConfig().getConfigs(),
client.getDriverConfigBundle());
- displayForms(job.getConnectorPart(Direction.TO).getForms(),
- client.getConnectorConfigResourceBundle(job.getConnectorId(Direction.TO)));
+ displayConfig(job.getJobConfig(Direction.TO).getConfigs(),
+ client.getConnectorConfigBundle(job.getConnectorId(Direction.TO)));
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/ShowLinkFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/ShowLinkFunction.java b/shell/src/main/java/org/apache/sqoop/shell/ShowLinkFunction.java
index f500b9e..f4eae33 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/ShowLinkFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/ShowLinkFunction.java
@@ -29,7 +29,7 @@ import java.util.LinkedList;
import java.util.List;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormDisplayer.*;
+import static org.apache.sqoop.shell.utils.ConfigDisplayer.*;
/**
*
@@ -103,26 +103,24 @@ public class ShowLinkFunction extends SqoopFunction {
displayLink(link);
}
- private void displayLink(MLink connection) {
+ private void displayLink(MLink link) {
DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
printlnResource(Constants.RES_SHOW_PROMPT_LINK_INFO,
- connection.getPersistenceId(),
- connection.getName(),
- connection.getEnabled(),
- connection.getCreationUser(),
- formatter.format(connection.getCreationDate()),
- connection.getLastUpdateUser(),
- formatter.format(connection.getLastUpdateDate())
+ link.getPersistenceId(),
+ link.getName(),
+ link.getEnabled(),
+ link.getCreationUser(),
+ formatter.format(link.getCreationDate()),
+ link.getLastUpdateUser(),
+ formatter.format(link.getLastUpdateDate())
);
- long connectorId = connection.getConnectorId();
+ long connectorId = link.getConnectorId();
printlnResource(Constants.RES_SHOW_PROMPT_LINK_CID_INFO, connectorId);
- // Display connector part
- displayForms(connection.getConnectorPart().getForms(),
- client.getConnectorConfigResourceBundle(connectorId));
- displayForms(connection.getFrameworkPart().getForms(),
- client.getDriverConfigBundle());
+ // Display link config
+ displayConfig(link.getConnectorLinkConfig().getConfigs(),
+ client.getConnectorConfigBundle(connectorId));
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/SqoopFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/SqoopFunction.java b/shell/src/main/java/org/apache/sqoop/shell/SqoopFunction.java
index 5d69c2a..0845d8e 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/SqoopFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/SqoopFunction.java
@@ -25,7 +25,7 @@ import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.shell.core.ShellError;
-import org.apache.sqoop.shell.utils.FormOptions;
+import org.apache.sqoop.shell.utils.ConfigOptions;
import static org.apache.sqoop.shell.ShellEnvironment.*;
@@ -44,7 +44,7 @@ abstract public class SqoopFunction extends Options {
}
public Object execute(List<String> args) {
- CommandLine line = FormOptions.parseOptions(this, 1, args, true);
+ CommandLine line = ConfigOptions.parseOptions(this, 1, args, true);
try {
if (validateArgs(line)) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/UpdateJobFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/UpdateJobFunction.java b/shell/src/main/java/org/apache/sqoop/shell/UpdateJobFunction.java
index 96d1fd8..dd075d7 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/UpdateJobFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/UpdateJobFunction.java
@@ -23,9 +23,9 @@ import org.apache.commons.cli.OptionBuilder;
import org.apache.sqoop.common.Direction;
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.FormDisplayer;
-import org.apache.sqoop.shell.utils.FormOptions;
-import org.apache.sqoop.shell.utils.JobDynamicFormOptions;
+import org.apache.sqoop.shell.utils.ConfigDisplayer;
+import org.apache.sqoop.shell.utils.ConfigOptions;
+import org.apache.sqoop.shell.utils.JobDynamicConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -33,7 +33,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
*
@@ -57,18 +57,19 @@ public class UpdateJobFunction extends SqoopFunction {
}
private Status updateJob(Long jobId, List<String> args, boolean isInteractive) throws IOException {
- printlnResource(Constants.RES_UPDATE_UPDATING_JOB, jobId);
+ printlnResource(Constants.RES_SQOOP_UPDATING_JOB, jobId);
ConsoleReader reader = new ConsoleReader();
MJob job = client.getJob(jobId);
- ResourceBundle fromConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle fromConnectorBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.FROM));
- ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
- ResourceBundle toConnectorBundle = client.getConnectorConfigResourceBundle(
+ ResourceBundle toConnectorBundle = client.getConnectorConfigBundle(
job.getConnectorId(Direction.TO));
+ ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
+
Status status = Status.FINE;
if (isInteractive) {
@@ -81,7 +82,7 @@ public class UpdateJobFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillJob(reader, job, fromConnectorBundle, driverConfigBundle, toConnectorBundle)) {
+ if(!fillJobWithBundle(reader, job, fromConnectorBundle, toConnectorBundle, driverConfigBundle)) {
return status;
}
@@ -89,9 +90,9 @@ public class UpdateJobFunction extends SqoopFunction {
status = client.updateJob(job);
} while(!status.canProceed());
} else {
- JobDynamicFormOptions options = new JobDynamicFormOptions();
+ JobDynamicConfigOptions options = new JobDynamicConfigOptions();
options.prepareOptions(job);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
if (fillJob(line, job)) {
status = client.updateJob(job);
if (!status.canProceed()) {
@@ -104,7 +105,7 @@ public class UpdateJobFunction extends SqoopFunction {
}
}
- FormDisplayer.displayFormWarning(job);
+ ConfigDisplayer.displayConfigWarning(job);
printlnResource(Constants.RES_UPDATE_JOB_SUCCESSFUL, status.name());
return status;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/UpdateLinkFunction.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/UpdateLinkFunction.java b/shell/src/main/java/org/apache/sqoop/shell/UpdateLinkFunction.java
index 30bb63e..d5ead38 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/UpdateLinkFunction.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/UpdateLinkFunction.java
@@ -22,9 +22,9 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.OptionBuilder;
import org.apache.sqoop.model.MLink;
import org.apache.sqoop.shell.core.Constants;
-import org.apache.sqoop.shell.utils.LinkDynamicFormOptions;
-import org.apache.sqoop.shell.utils.FormDisplayer;
-import org.apache.sqoop.shell.utils.FormOptions;
+import org.apache.sqoop.shell.utils.LinkDynamicConfigOptions;
+import org.apache.sqoop.shell.utils.ConfigDisplayer;
+import org.apache.sqoop.shell.utils.ConfigOptions;
import org.apache.sqoop.validation.Status;
import java.io.IOException;
@@ -32,7 +32,7 @@ import java.util.List;
import java.util.ResourceBundle;
import static org.apache.sqoop.shell.ShellEnvironment.*;
-import static org.apache.sqoop.shell.utils.FormFiller.*;
+import static org.apache.sqoop.shell.utils.ConfigFiller.*;
/**
*
@@ -56,14 +56,13 @@ public class UpdateLinkFunction extends SqoopFunction {
}
private Status updateLink(Long linkId, List<String> args, boolean isInteractive) throws IOException {
- printlnResource(Constants.RES_UPDATE_UPDATING_LINK, linkId);
+ printlnResource(Constants.RES_SQOOP_UPDATING_LINK, linkId);
ConsoleReader reader = new ConsoleReader();
MLink link = client.getLink(linkId);
- ResourceBundle connectorConfigBundle = client.getConnectorConfigResourceBundle(link.getConnectorId());
- ResourceBundle driverConfigBundle = client.getDriverConfigBundle();
+ ResourceBundle connectorLinkConfigBundle = client.getConnectorConfigBundle(link.getConnectorId());
Status status = Status.FINE;
@@ -77,7 +76,7 @@ public class UpdateLinkFunction extends SqoopFunction {
}
// Fill in data from user
- if(!fillLink(reader, link, connectorConfigBundle, driverConfigBundle)) {
+ if(!fillLinkWithBundle(reader, link, connectorLinkConfigBundle)) {
return null;
}
@@ -85,10 +84,10 @@ public class UpdateLinkFunction extends SqoopFunction {
status = client.updateLink(link);
} while(!status.canProceed());
} else {
- LinkDynamicFormOptions options = new LinkDynamicFormOptions();
+ LinkDynamicConfigOptions options = new LinkDynamicConfigOptions();
options.prepareOptions(link);
- CommandLine line = FormOptions.parseOptions(options, 0, args, false);
- if (fillConnection(line, link)) {
+ CommandLine line = ConfigOptions.parseOptions(options, 0, args, false);
+ if (fillLink(line, link)) {
status = client.updateLink(link);
if (!status.canProceed()) {
printLinkValidationMessages(link);
@@ -99,7 +98,7 @@ public class UpdateLinkFunction extends SqoopFunction {
return null;
}
}
- FormDisplayer.displayFormWarning(link);
+ ConfigDisplayer.displayConfigWarning(link);
printlnResource(Constants.RES_UPDATE_LINK_SUCCESSFUL, status.name());
return status;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/8362c73c/shell/src/main/java/org/apache/sqoop/shell/core/Constants.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/sqoop/shell/core/Constants.java b/shell/src/main/java/org/apache/sqoop/shell/core/Constants.java
index 4d3838c..a1bc5d5 100644
--- a/shell/src/main/java/org/apache/sqoop/shell/core/Constants.java
+++ b/shell/src/main/java/org/apache/sqoop/shell/core/Constants.java
@@ -1,7 +1,7 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
+ * distributed with this work for additional inconfigation
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
@@ -316,11 +316,11 @@ public class Constants {
public static final String RES_SQOOP_PROMPT_SHELL_LOADEDRC =
"sqoop.prompt_shell_loadedrc";
- public static final String RES_UPDATE_UPDATING_LINK =
+ public static final String RES_SQOOP_UPDATING_LINK =
"update.link";
public static final String RES_UPDATE_LINK_SUCCESSFUL =
"update.link_successful";
- public static final String RES_UPDATE_UPDATING_JOB =
+ public static final String RES_SQOOP_UPDATING_JOB =
"update.job";
public static final String RES_UPDATE_JOB_SUCCESSFUL =
"update.job_successful";
@@ -352,35 +352,35 @@ public class Constants {
public static final String RES_TABLE_HEADER_ENABLED =
"table.header.enabled";
- public static final String RES_FORMDISPLAYER_CONNECTION =
- "formdisplayer.link";
- public static final String RES_FORMDISPLAYER_JOB =
- "formdisplayer.job";
- public static final String RES_FORMDISPLAYER_FORM =
- "formdisplayer.form";
- public static final String RES_FORMDISPLAYER_NAME =
- "formdisplayer.name";
- public static final String RES_FORMDISPLAYER_LABEL =
- "formdisplayer.label";
- public static final String RES_FORMDISPLAYER_HELP =
- "formdisplayer.help";
- public static final String RES_FORMDISPLAYER_INPUT =
- "formdisplayer.input";
- public static final String RES_FORMDISPLAYER_TYPE =
- "formdisplayer.type";
- public static final String RES_FORMDISPLAYER_SENSITIVE =
- "formdisplayer.sensitive";
- public static final String RES_FORMDISPLAYER_SIZE =
- "formdisplayer.size";
- public static final String RES_FORMDISPLAYER_POSSIBLE_VALUES =
- "formdisplayer.possible_values";
- public static final String RES_FORMDISPLAYER_UNSUPPORTED_DATATYPE =
- "formdisplayer.unsupported_datatype";
- public static final String RES_FORMDISPLAYER_INPUT_SENSITIVE =
- "formdisplayer.input_sensitive";
-
- public static final String RES_FORMDISPLAYER_FORM_WARNING =
- "formdisplayer.warning_message";
+ public static final String RES_CONFIG_DISPLAYER_LINK =
+ "config.displayer.link";
+ public static final String RES_CONFIG_DISPLAYER_JOB =
+ "config.displayer.job";
+ public static final String RES_CONFIG_DISPLAYER_CONFIG =
+ "config.displayer.config";
+ public static final String RES_CONFIG_DISPLAYER_NAME =
+ "config.displayer.name";
+ public static final String RES_CONFIG_DISPLAYER_LABEL =
+ "config.displayer.label";
+ public static final String RES_CONFIG_DISPLAYER_HELP =
+ "config.displayer.help";
+ public static final String RES_CONFIG_DISPLAYER_INPUT =
+ "config.displayer.input";
+ public static final String RES_CONFIG_DISPLAYER_TYPE =
+ "config.displayer.type";
+ public static final String RES_CONFIG_DISPLAYER_SENSITIVE =
+ "config.displayer.sensitive";
+ public static final String RES_CONFIG_DISPLAYER_SIZE =
+ "config.displayer.size";
+ public static final String RES_CONFIG_DISPLAYER_POSSIBLE_VALUES =
+ "config.displayer.possible_values";
+ public static final String RES_CONFIG_DISPLAYER_UNSUPPORTED_DATATYPE =
+ "config.displayer.unsupported_datatype";
+ public static final String RES_CONFIG_DISPLAYER_INPUT_SENSITIVE =
+ "config.displayer.input_sensitive";
+
+ public static final String RES_CONFIG_DISPLAYER_FORM_WARNING =
+ "config.displayer.warning_message";
public static final String RES_SUBMISSION_SUBMISSION_DETAIL =
"submission.submission_detail";