From 0ab7c05e114d40903abe982ff9f2d59f1452d2f1 Mon Sep 17 00:00:00 2001 From: Jarek Jarcec Cecho Date: Wed, 16 Dec 2015 20:26:15 +0100 Subject: [PATCH] SQOOP-2735: Sqoop2: Use job name in MSubmission (Colin Ma via Jarek Jarcec Cecho) --- .../org/apache/sqoop/json/SubmissionBean.java | 13 ++------ .../org/apache/sqoop/model/MSubmission.java | 30 +++++++++---------- .../apache/sqoop/json/TestSubmissionBean.java | 12 ++++---- .../org/apache/sqoop/driver/JobManager.java | 21 +++---------- .../apache/sqoop/driver/TestJobManager.java | 12 ++++---- .../common/CommonRepositoryHandler.java | 23 ++++++++++++-- ...positoryInsertUpdateDeleteSelectQuery.java | 24 +++++++++++++-- .../derby/TestSubmissionHandling.java | 8 ++--- .../repository/mysql/MySqlTestCase.java | 2 +- .../mysql/TestSubmissionHandling.java | 8 ++--- .../postgresql/PostgresqlTestCase.java | 2 +- .../postgresql/TestSubmissionHandling.java | 8 ++--- .../authorization/AuthorizationEngine.java | 3 +- .../sqoop/handler/JobRequestHandler.java | 2 +- .../sqoop/shell/ShowSubmissionFunction.java | 4 +-- .../apache/sqoop/shell/core/Constants.java | 8 ++--- .../shell/utils/SubmissionDisplayer.java | 4 +-- .../main/resources/shell-resource.properties | 4 +-- .../apache/sqoop/shell/TestShowCommand.java | 12 ++++---- 19 files changed, 106 insertions(+), 94 deletions(-) diff --git a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java index e6b300d2..40406885 100644 --- a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java +++ b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java @@ -44,9 +44,7 @@ public class SubmissionBean implements JsonBean { private static final String SUBMISSION = "submission"; - @Deprecated - private static final String JOB = "job"; - private static final String JOB_ID = "job-id"; + private static final String JOB_NAME = "job-name"; private static final String CREATION_USER = "creation-user"; private static final String CREATION_DATE = "creation-date"; private static final String LAST_UPDATE_USER = "last-udpate-user"; @@ -104,8 +102,7 @@ protected JSONArray extractSubmissions() { private JSONObject extractSubmission(MSubmission submission) { JSONObject object = new JSONObject(); - object.put(JOB, submission.getJobId()); - object.put(JOB_ID, submission.getJobId()); + object.put(JOB_NAME, submission.getJobName()); object.put(STATUS, submission.getStatus().name()); object.put(PROGRESS, submission.getProgress()); @@ -176,11 +173,7 @@ protected void restoreSubmissions(JSONArray array) { private MSubmission restoreSubmission(Object obj) { JSONObject object = (JSONObject) obj; MSubmission submission = new MSubmission(); - Long jobId = JSONUtils.getLong(object, JOB_ID); - if (jobId == null) { - jobId = JSONUtils.getLong(object, JOB); - } - submission.setJobId(jobId); + submission.setJobName(JSONUtils.getString(object, JOB_NAME)); submission.setStatus(SubmissionStatus.valueOf(JSONUtils.getString(object, STATUS))); submission.setProgress(JSONUtils.getDouble(object, PROGRESS)); diff --git a/common/src/main/java/org/apache/sqoop/model/MSubmission.java b/common/src/main/java/org/apache/sqoop/model/MSubmission.java index 11110ae9..44250c39 100644 --- a/common/src/main/java/org/apache/sqoop/model/MSubmission.java +++ b/common/src/main/java/org/apache/sqoop/model/MSubmission.java @@ -37,11 +37,11 @@ public class MSubmission extends MAccountableEntity { /** - * Job id that this submission object belongs. + * Job name that this submission object belongs. * * This property is required and will be always present. */ - private long jobId; + private String jobName; /** * Last known submission status. @@ -122,36 +122,36 @@ public MSubmission() { progress = -1; } - public MSubmission(long jobId, Date creationDate, SubmissionStatus status) { + public MSubmission(String jobName, Date creationDate, SubmissionStatus status) { this(); - this.jobId = jobId; + this.jobName = jobName; this.status = status; setCreationDate(creationDate); } - public MSubmission(long jobId) { - this(jobId, new Date(), SubmissionStatus.BOOTING); + public MSubmission(String jobName) { + this(jobName, new Date(), SubmissionStatus.BOOTING); } - public MSubmission(long jobId, Date creationDate, SubmissionStatus status, + public MSubmission(String jobName, Date creationDate, SubmissionStatus status, String externalId) { - this(jobId, creationDate, status); + this(jobName, creationDate, status); this.externalJobId = externalId; } - public MSubmission(long jobId, Date creationDate, SubmissionStatus status, + public MSubmission(String jobName, Date creationDate, SubmissionStatus status, String externalId, String externalLink, Counters counters){ - this(jobId, creationDate, status, externalId); + this(jobName, creationDate, status, externalId); this.externalLink = externalLink; this.counters = counters; } - public void setJobId(long jobId) { - this.jobId = jobId; + public String getJobName() { + return jobName; } - public long getJobId() { - return jobId; + public void setJobName(String jobName) { + this.jobName = jobName; } public void setStatus(SubmissionStatus status) { @@ -247,7 +247,7 @@ public void setToSchema(Schema toSchema) { @Override public String toString() { - return "MSubmission [jobId=" + jobId + ", status=" + status + ", externalId=" + externalJobId + return "MSubmission [jobName=" + jobName + ", status=" + status + ", externalId=" + externalJobId + ", progress=" + progress + ", counters=" + counters + ", externalLink=" + externalLink + ", error=" + error + ", fromSchema=" + fromSchema + ", toSchema=" + toSchema + "]"; } diff --git a/common/src/test/java/org/apache/sqoop/json/TestSubmissionBean.java b/common/src/test/java/org/apache/sqoop/json/TestSubmissionBean.java index 1fc2ae23..204c1de1 100644 --- a/common/src/test/java/org/apache/sqoop/json/TestSubmissionBean.java +++ b/common/src/test/java/org/apache/sqoop/json/TestSubmissionBean.java @@ -54,24 +54,24 @@ public void testTransferUnknown() { @Test public void testTransferJobId() { MSubmission source = new MSubmission(); - source.setJobId(666); + source.setJobName("jobName1"); MSubmission target = transfer(source); - assertEquals(666, target.getJobId()); + assertEquals("jobName1", target.getJobName()); List sources = new ArrayList(); MSubmission sourcex = new MSubmission(); - sourcex.setJobId(777); + sourcex.setJobName("jobName2"); sources.add(sourcex); MSubmission sourcey = new MSubmission(); - sourcey.setJobId(888); + sourcey.setJobName("jobName3"); sources.add(sourcey); List targets = transfer(sources); assertNotNull(targets.get(0)); - assertEquals(777, targets.get(0).getJobId()); + assertEquals("jobName2", targets.get(0).getJobName()); assertNotNull(targets.get(1)); - assertEquals(888, targets.get(1).getJobId()); + assertEquals("jobName3", targets.get(1).getJobName()); } @Test diff --git a/core/src/main/java/org/apache/sqoop/driver/JobManager.java b/core/src/main/java/org/apache/sqoop/driver/JobManager.java index 4f4b9d30..d3a750ea 100644 --- a/core/src/main/java/org/apache/sqoop/driver/JobManager.java +++ b/core/src/main/java/org/apache/sqoop/driver/JobManager.java @@ -311,7 +311,7 @@ public MSubmission start(String jobName, HttpEventContext ctx) { if (!job.getEnabled()) { throw new SqoopException(DriverError.DRIVER_0009, "Job: " + jobName); } - MSubmission mSubmission = createJobSubmission(ctx, job.getPersistenceId()); + MSubmission mSubmission = createJobSubmission(ctx, job.getName()); JobRequest jobRequest = createJobRequest(mSubmission, job); // Bootstrap job to execute in the configured execution engine prepareJob(jobRequest); @@ -463,8 +463,8 @@ private void addJobJars(JobRequest jobRequest) { } } - MSubmission createJobSubmission(HttpEventContext ctx, long jobId) { - MSubmission summary = new MSubmission(jobId); + MSubmission createJobSubmission(HttpEventContext ctx, String jobName) { + MSubmission summary = new MSubmission(jobName); summary.setCreationUser(ctx.getUsername()); summary.setLastUpdateUser(ctx.getUsername()); return summary; @@ -496,19 +496,6 @@ MLink getLink(String linkName) { return link; } - // TODO: this method should be removed when MSubmission link job with jobName - MJob getJob(long jobId) { - MJob job = RepositoryManager.getInstance().getRepository().findJob(jobId); - if (job == null) { - throw new SqoopException(DriverError.DRIVER_0004, "Unknown job id: " + jobId); - } - - if (!job.getEnabled()) { - throw new SqoopException(DriverError.DRIVER_0009, "Job: " + job.getName()); - } - return job; - } - MJob getJob(String jobName) { MJob job = RepositoryManager.getInstance().getRepository().findJob(jobName); if (job == null) { @@ -580,7 +567,7 @@ void prepareJob(JobRequest request) { void invokeDestroyerOnJobSuccess(MSubmission submission) { try { - MJob job = getJob(submission.getJobId()); + MJob job = getJob(submission.getJobName()); SqoopConnector fromConnector = getSqoopConnector(job.getFromConnectorName()); SqoopConnector toConnector = getSqoopConnector(job.getToConnectorName()); diff --git a/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java b/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java index 8da759e7..ee88ddc5 100644 --- a/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java +++ b/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java @@ -74,7 +74,7 @@ public void testCreateJobSubmission() { HttpEventContext testCtx = new HttpEventContext(); testCtx.setUsername("testUser"); - MSubmission jobSubmission = jobManager.createJobSubmission(testCtx, 1234L); + MSubmission jobSubmission = jobManager.createJobSubmission(testCtx, "jobName"); assertEquals(jobSubmission.getCreationUser(), "testUser"); assertEquals(jobSubmission.getLastUpdateUser(), "testUser"); } @@ -173,17 +173,15 @@ public void testDisabledJob() { @Test public void testUnknownJob() { - long testJobId = 555l; - SqoopException exception = new SqoopException(DriverError.DRIVER_0004, "Unknown job id: " - + testJobId); + SqoopException exception = new SqoopException(DriverError.DRIVER_0004, "Unknown job name: testJobName"); when(repositoryManagerMock.getRepository()).thenReturn(jdbcRepoMock); - when(jdbcRepoMock.findJob(testJobId)).thenReturn(null); + when(jdbcRepoMock.findJob("testJobName")).thenReturn(null); try { - jobManager.getJob(testJobId); + jobManager.getJob("testJobName"); } catch (SqoopException ex) { assertEquals(ex.getMessage(), exception.getMessage()); verify(repositoryManagerMock, times(1)).getRepository(); - verify(jdbcRepoMock, times(1)).findJob(testJobId); + verify(jdbcRepoMock, times(1)).findJob("testJobName"); } } diff --git a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java index 13d8242f..efbd5331 100644 --- a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java +++ b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java @@ -636,7 +636,23 @@ public Long findLinkIdByName(String linkName, Connection conn) { } } catch (SQLException ex) { logException(ex); - throw new SqoopException(CommonRepositoryError.COMMON_0036, ex); + throw new SqoopException(CommonRepositoryError.COMMON_0000, ex); + } + } + + public Long findJobIdByName(String jobName, Connection conn) { + try (PreparedStatement stmt = conn.prepareStatement(crudQueries.getStmtSelectJobIdByName())) { + stmt.setString(1,jobName); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + return rs.getLong(1); + } else { + throw new SqoopException(CommonRepositoryError.COMMON_0028); + } + } + } catch (SQLException ex) { + logException(ex); + throw new SqoopException(CommonRepositoryError.COMMON_0000, ex); } } @@ -888,9 +904,10 @@ public List findJobs(Connection conn) { @Override public void createSubmission(MSubmission submission, Connection conn) { int result; + Long jobId = findJobIdByName(submission.getJobName(), conn); try (PreparedStatement stmt = conn.prepareStatement(crudQueries.getStmtInsertSubmission(), Statement.RETURN_GENERATED_KEYS)) { - stmt.setLong(1, submission.getJobId()); + stmt.setLong(1, jobId); stmt.setString(2, submission.getStatus().name()); stmt.setString(3, submission.getCreationUser()); stmt.setTimestamp(4, new Timestamp(submission.getCreationDate().getTime())); @@ -1367,7 +1384,7 @@ private MSubmission loadSubmission(ResultSet rs, Connection conn) throws SQLExce MSubmission submission = new MSubmission(); submission.setPersistenceId(rs.getLong(1)); - submission.setJobId(rs.getLong(2)); + submission.setJobName(rs.getString(12)); submission.setStatus(SubmissionStatus.valueOf(rs.getString(3))); submission.setCreationUser(rs.getString(4)); submission.setCreationDate(rs.getTimestamp(5)); diff --git a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java index fa5a1c17..e1e23e27 100644 --- a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java +++ b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java @@ -536,8 +536,11 @@ public class CommonRepositoryInsertUpdateDeleteSelectQuery { + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_ID) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_LINK) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_SUMMARY) + ", " - + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + ", " + + CommonRepoUtils.escapeColumnName(COLUMN_SQB_NAME) + " FROM " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_SUBMISSION_NAME) + + " INNER JOIN " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_JOB_NAME) + + " ON " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_JOB) + " = " + CommonRepoUtils.escapeColumnName(COLUMN_SQB_ID) + " WHERE " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_STATUS) + " = ?"; // DML : Get all submissions @@ -553,8 +556,11 @@ public class CommonRepositoryInsertUpdateDeleteSelectQuery { + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_ID) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_LINK) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_SUMMARY) + ", " - + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + ", " + + CommonRepoUtils.escapeColumnName(COLUMN_SQB_NAME) + " FROM " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_SUBMISSION_NAME) + + " INNER JOIN " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_JOB_NAME) + + " ON " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_JOB) + " = " + CommonRepoUtils.escapeColumnName(COLUMN_SQB_ID) + " ORDER BY " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_UPDATE_DATE) + " DESC"; // DML: Get submissions for a job @@ -570,7 +576,8 @@ public class CommonRepositoryInsertUpdateDeleteSelectQuery { + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_ID) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_EXTERNAL_LINK) + ", " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_SUMMARY) + ", " - + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ERROR_DETAILS) + ", " + + CommonRepoUtils.escapeColumnName(COLUMN_SQB_NAME) + " FROM " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_SUBMISSION_NAME) + " INNER JOIN " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_JOB_NAME) + " ON " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_JOB) + " = " + CommonRepoUtils.escapeColumnName(COLUMN_SQB_ID) @@ -578,6 +585,13 @@ public class CommonRepositoryInsertUpdateDeleteSelectQuery { + " ORDER BY " + CommonRepoUtils.escapeColumnName(COLUMN_SQS_UPDATE_DATE) + "DESC ," + CommonRepoUtils.escapeColumnName(COLUMN_SQS_ID) + " DESC"; + // DML Select link id by name + private static final String STMT_SELECT_JOB_ID_BY_NAME = + "SELECT " + + CommonRepoUtils.escapeColumnName(COLUMN_SQB_ID) + + " FROM " + CommonRepoUtils.getTableName(SCHEMA_SQOOP, TABLE_SQ_JOB_NAME) + + " WHERE " + CommonRepoUtils.escapeColumnName(COLUMN_SQB_NAME) + " = ?"; + // DML: Select context type private static final String STMT_SELECT_CONTEXT_TYPE = "SELECT " @@ -811,6 +825,10 @@ public String getStmtSelectLinkSingleByName() { public String getStmtSelectLinkIdByName() {return STMT_SELECT_LINK_ID_BY_NAME;} + public String getStmtSelectJobIdByName() { + return STMT_SELECT_JOB_ID_BY_NAME; + } + public String getStmtSelectLinkAll() { return STMT_SELECT_LINK_ALL; } 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 621d4e19..e2c3eae1 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 @@ -117,7 +117,7 @@ public void testCreateSubmission() throws Exception { driverContext.setString("driver2", "value2"); MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName("JA0"); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(creationDate); submission.setLastUpdateDate(updateDate); @@ -141,7 +141,7 @@ public void testCreateSubmission() throws Exception { submission = submissions.get(0); - assertEquals(1, submission.getJobId()); + assertEquals("JA0", submission.getJobName()); assertEquals(SubmissionStatus.RUNNING, submission.getStatus()); assertEquals(creationDate.getTime(), submission.getCreationDate().getTime()); assertEquals(updateDate.getTime(), submission.getLastUpdateDate().getTime()); @@ -188,7 +188,7 @@ public void testCreateSubmission() throws Exception { assertEquals(submission.getDriverContext().getString("driver2"), "value2"); // Let's create second (simpler) connection - submission = new MSubmission(1, new Date(), SubmissionStatus.SUCCEEDED, "job-x"); + submission = new MSubmission("JA0", new Date(), SubmissionStatus.SUCCEEDED, "job-x"); handler.createSubmission(submission, getDerbyDatabaseConnection()); assertEquals(2, submission.getPersistenceId()); @@ -229,7 +229,7 @@ public void testCreateSubmissionExceptionDetailsMoreThanMaxLimit() throws Except + " it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happe" + "nsYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happens"; MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName("JA0"); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(new Date()); submission.setLastUpdateDate(new Date()); diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java index ede930fb..1d4ceb72 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java @@ -117,7 +117,7 @@ protected MJob getJob(String name, MConnector connectorA, protected MSubmission getSubmission(MJob job, SubmissionStatus submissionStatus) { - MSubmission submission = new MSubmission(job.getPersistenceId(), + MSubmission submission = new MSubmission(job.getName(), new Date(), submissionStatus); fillSubmission(submission); return submission; diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java index b4f34b61..b9a13920 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java @@ -157,7 +157,7 @@ public void testCreateSubmission() throws Exception { driverContext.setString("driver2", "value2"); MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName(JOB_A_NAME); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(creationDate); submission.setLastUpdateDate(updateDate); @@ -183,7 +183,7 @@ public void testCreateSubmission() throws Exception { submission = submissions.get(0); - assertEquals(1, submission.getJobId()); + assertEquals(JOB_A_NAME, submission.getJobName()); assertEquals(SubmissionStatus.RUNNING, submission.getStatus()); long exceptedData = creationDate.getTime(); long actualData = submission.getCreationDate().getTime(); @@ -240,7 +240,7 @@ public void testCreateSubmission() throws Exception { assertEquals(submission.getDriverContext().getString("driver2"), "value2"); // Let's create second (simpler) connection - submission = new MSubmission(1, new Date(), SubmissionStatus.SUCCEEDED, + submission = new MSubmission(JOB_A_NAME, new Date(), SubmissionStatus.SUCCEEDED, "job-x"); handler.createSubmission(submission, provider.getConnection()); @@ -285,7 +285,7 @@ public void testCreateSubmissionExceptionDetailsMoreThanMaxLimit() + " it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happe" + "nsYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happens"; MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName(JOB_A_NAME); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(new Date()); submission.setLastUpdateDate(new Date()); diff --git a/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/PostgresqlTestCase.java b/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/PostgresqlTestCase.java index 1bab5486..2311f8ba 100644 --- a/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/PostgresqlTestCase.java +++ b/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/PostgresqlTestCase.java @@ -106,7 +106,7 @@ protected MJob getJob(String name, MConnector connectorA, MConnector connectorB, } protected MSubmission getSubmission(MJob job, SubmissionStatus submissionStatus) { - MSubmission submission = new MSubmission(job.getPersistenceId(), new Date(), submissionStatus); + MSubmission submission = new MSubmission(job.getName(), new Date(), submissionStatus); fillSubmission(submission); return submission; } diff --git a/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/TestSubmissionHandling.java b/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/TestSubmissionHandling.java index cd3367e8..5a5c70ed 100644 --- a/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/TestSubmissionHandling.java +++ b/repository/repository-postgresql/src/test/java/org/apache/sqoop/integration/repository/postgresql/TestSubmissionHandling.java @@ -152,7 +152,7 @@ public void testCreateSubmission() throws Exception { driverContext.setString("driver2", "value2"); MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName(JOB_A_NAME); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(creationDate); submission.setLastUpdateDate(updateDate); @@ -177,7 +177,7 @@ public void testCreateSubmission() throws Exception { submission = submissions.get(0); - assertEquals(1, submission.getJobId()); + assertEquals(JOB_A_NAME, submission.getJobName()); assertEquals(SubmissionStatus.RUNNING, submission.getStatus()); assertEquals(creationDate, submission.getCreationDate()); assertEquals(updateDate, submission.getLastUpdateDate()); @@ -224,7 +224,7 @@ public void testCreateSubmission() throws Exception { assertEquals(submission.getDriverContext().getString("driver2"), "value2"); // Let's create second (simpler) connection - submission = new MSubmission(1, new Date(), SubmissionStatus.SUCCEEDED, "job-x"); + submission = new MSubmission(JOB_A_NAME, new Date(), SubmissionStatus.SUCCEEDED, "job-x"); handler.createSubmission(submission, provider.getConnection()); assertEquals(2, submission.getPersistenceId()); @@ -265,7 +265,7 @@ public void testCreateSubmissionExceptionDetailsMoreThanMaxLimit() throws Except + " it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happe" + "nsYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happensYeah it happens"; MSubmission submission = new MSubmission(); - submission.setJobId(1); + submission.setJobName(JOB_A_NAME); submission.setStatus(SubmissionStatus.RUNNING); submission.setCreationDate(new Date()); submission.setLastUpdateDate(new Date()); diff --git a/security/src/main/java/org/apache/sqoop/security/authorization/AuthorizationEngine.java b/security/src/main/java/org/apache/sqoop/security/authorization/AuthorizationEngine.java index e7b7dacf..091d1c4f 100644 --- a/security/src/main/java/org/apache/sqoop/security/authorization/AuthorizationEngine.java +++ b/security/src/main/java/org/apache/sqoop/security/authorization/AuthorizationEngine.java @@ -149,8 +149,7 @@ public static List filterSubmission(final String doUserName, List header = new LinkedList(); - header.add(resourceString(Constants.RES_TABLE_HEADER_JOB_ID)); + header.add(resourceString(Constants.RES_TABLE_HEADER_JOB_NAME)); header.add(resourceString(Constants.RES_TABLE_HEADER_EXTERNAL_ID)); header.add(resourceString(Constants.RES_TABLE_HEADER_STATUS)); header.add(resourceString(Constants.RES_TABLE_HEADER_DATE)); @@ -85,7 +85,7 @@ private void showSummary(String jArg) { List dates = new LinkedList(); for (MSubmission submission : submissions) { - jids.add(String.valueOf(submission.getJobId())); + jids.add(String.valueOf(submission.getJobName())); eids.add(String.valueOf(submission.getExternalJobId())); status.add(submission.getStatus().toString()); dates.add(submission.getLastUpdateDate().toString()); 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 c516ea71..9c57a2ec 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 @@ -369,8 +369,8 @@ public class Constants { "table.header.connector.from"; public static final String RES_TABLE_HEADER_TO_CONNECTOR = "table.header.connector.to"; - public static final String RES_TABLE_HEADER_JOB_ID = - "table.header.jid"; + public static final String RES_TABLE_HEADER_JOB_NAME = + "table.header.job.name"; public static final String RES_TABLE_HEADER_EXTERNAL_ID = "table.header.eid"; public static final String RES_TABLE_HEADER_STATUS = @@ -430,8 +430,8 @@ public class Constants { public static final String RES_SUBMISSION_SUBMISSION_DETAIL = "submission.submission_detail"; - public static final String RES_SUBMISSION_JOB_ID = - "submission.job_id"; + public static final String RES_SUBMISSION_JOB_NAME = + "submission.job_name"; public static final String RES_SUBMISSION_CREATION_USER = "submission.creation_user"; public static final String RES_SUBMISSION_CREATION_DATE = diff --git a/shell/src/main/java/org/apache/sqoop/shell/utils/SubmissionDisplayer.java b/shell/src/main/java/org/apache/sqoop/shell/utils/SubmissionDisplayer.java index 3a78371a..8be37153 100644 --- a/shell/src/main/java/org/apache/sqoop/shell/utils/SubmissionDisplayer.java +++ b/shell/src/main/java/org/apache/sqoop/shell/utils/SubmissionDisplayer.java @@ -43,8 +43,8 @@ public static void displayHeader(MSubmission submission) { SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT); println("@|bold "+ resourceString(Constants.RES_SUBMISSION_SUBMISSION_DETAIL) +"|@"); - print(resourceString(Constants.RES_SUBMISSION_JOB_ID)+": "); - println(submission.getJobId()); + print(resourceString(Constants.RES_SUBMISSION_JOB_NAME)+": "); + println(submission.getJobName()); print(resourceString(Constants.RES_SUBMISSION_SERVER_URL)+": "); println(getServerUrl()); diff --git a/shell/src/main/resources/shell-resource.properties b/shell/src/main/resources/shell-resource.properties index df3e7f10..630c31d7 100644 --- a/shell/src/main/resources/shell-resource.properties +++ b/shell/src/main/resources/shell-resource.properties @@ -216,7 +216,7 @@ table.header.supported_directions = Supported Directions table.header.connector.name = Connector Name table.header.connector.from = From Connector table.header.connector.to = To Connector -table.header.jid = Job Id +table.header.job.name = Job Name table.header.eid = External Id table.header.status = Status table.header.date = Last Update Date @@ -249,7 +249,7 @@ config.displayer.input_sensitive = This input is sensitive config.displayer.warning_message = There were warnings while create or update, but saved successfully. submission.submission_detail = Submission details -submission.job_id = Job ID +submission.job_name = Job Name submission.creation_user = Created by submission.creation_date = Creation date submission.update_user = Lastly updated by diff --git a/shell/src/test/java/org/apache/sqoop/shell/TestShowCommand.java b/shell/src/test/java/org/apache/sqoop/shell/TestShowCommand.java index 000f5181..8f8d3db1 100644 --- a/shell/src/test/java/org/apache/sqoop/shell/TestShowCommand.java +++ b/shell/src/test/java/org/apache/sqoop/shell/TestShowCommand.java @@ -278,12 +278,12 @@ public void testShowJob() { @Test public void testShowSubmission() { - when(client.getSubmissions()).thenReturn(Arrays.asList(new MSubmission(1L))); - when(client.getSubmissionsForJob(any(String.class))).thenReturn(Arrays.asList(new MSubmission(1L))); + when(client.getSubmissions()).thenReturn(Arrays.asList(new MSubmission("jobName"))); + when(client.getSubmissionsForJob(any(String.class))).thenReturn(Arrays.asList(new MSubmission("jobName"))); - // show submission -details -name jobName + // show submission -details -job jobName out.reset(); - Status status = (Status) showCmd.execute(Arrays.asList(Constants.FN_SUBMISSION, "-detail", "-name", "jobName")); + Status status = (Status) showCmd.execute(Arrays.asList(Constants.FN_SUBMISSION, "-detail", "-job", "jobName")); Assert.assertTrue(status != null && status == Status.OK); String str = new String(out.toByteArray()); Assert.assertTrue(str.contains("Submission details")); @@ -300,7 +300,7 @@ public void testShowSubmission() { status = (Status) showCmd.execute(Arrays.asList(Constants.FN_SUBMISSION, "-job", "jobName")); Assert.assertTrue(status != null && status == Status.OK); str = new String(out.toByteArray()); - Assert.assertTrue(str.contains("Job Id")); + Assert.assertTrue(str.contains("Job Name")); Assert.assertTrue(str.contains("External Id")); Assert.assertTrue(str.contains("Status")); Assert.assertTrue(str.contains("Last Update Date")); @@ -310,7 +310,7 @@ public void testShowSubmission() { status = (Status) showCmd.execute(Arrays.asList(Constants.FN_SUBMISSION)); Assert.assertTrue(status != null && status == Status.OK); str = new String(out.toByteArray()); - Assert.assertTrue(str.contains("Job Id")); + Assert.assertTrue(str.contains("Job Name")); Assert.assertTrue(str.contains("External Id")); Assert.assertTrue(str.contains("Status")); Assert.assertTrue(str.contains("Last Update Date"));