Updated Branches: refs/heads/sqoop2 31d6f7276 -> 202ae0630
SQOOP-619 Display user persistent id of newly created connection and job objects (Jarek Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/202ae063 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/202ae063 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/202ae063 Branch: refs/heads/sqoop2 Commit: 202ae0630bf63a529a004a64f485487c9a682c85 Parents: 31d6f72 Author: Bilung Lee <[email protected]> Authored: Fri Oct 5 13:10:37 2012 -0700 Committer: Bilung Lee <[email protected]> Committed: Fri Oct 5 13:10:37 2012 -0700 ---------------------------------------------------------------------- .../client/shell/CloneConnectionFunction.java | 4 +- .../sqoop/client/shell/CloneJobFunction.java | 4 +- .../client/shell/CreateConnectionFunction.java | 3 +- .../sqoop/client/shell/CreateJobFunction.java | 3 +- .../java/org/apache/sqoop/json/ValidationBean.java | 23 +++++++++++++++ 5 files changed, 31 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/202ae063/client/src/main/java/org/apache/sqoop/client/shell/CloneConnectionFunction.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/sqoop/client/shell/CloneConnectionFunction.java b/client/src/main/java/org/apache/sqoop/client/shell/CloneConnectionFunction.java index 9716de6..c5fd992 100644 --- a/client/src/main/java/org/apache/sqoop/client/shell/CloneConnectionFunction.java +++ b/client/src/main/java/org/apache/sqoop/client/shell/CloneConnectionFunction.java @@ -119,8 +119,8 @@ public class CloneConnectionFunction extends SqoopFunction { status = createConnection(connection); } while(!status.canProceed()); - io.out.println("Connection was successfully updated with status " - + status.name()); + io.out.println("Connection was successfully created with validation status " + + status.name() + " and persistent id " + connection.getPersistenceId()); } private Status createConnection(MConnection connection) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/202ae063/client/src/main/java/org/apache/sqoop/client/shell/CloneJobFunction.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/sqoop/client/shell/CloneJobFunction.java b/client/src/main/java/org/apache/sqoop/client/shell/CloneJobFunction.java index 6c579d0..94df945 100644 --- a/client/src/main/java/org/apache/sqoop/client/shell/CloneJobFunction.java +++ b/client/src/main/java/org/apache/sqoop/client/shell/CloneJobFunction.java @@ -118,8 +118,8 @@ public class CloneJobFunction extends SqoopFunction { status = createJob(job); } while(!status.canProceed()); - io.out.println("Job was successfully updated with status " - + status.name()); + io.out.println("Job was successfully created with validation status " + + status.name() + " and persistent id " + job.getPersistenceId()); } private Status createJob(MJob job) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/202ae063/client/src/main/java/org/apache/sqoop/client/shell/CreateConnectionFunction.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/sqoop/client/shell/CreateConnectionFunction.java b/client/src/main/java/org/apache/sqoop/client/shell/CreateConnectionFunction.java index 904624c..4e5c916 100644 --- a/client/src/main/java/org/apache/sqoop/client/shell/CreateConnectionFunction.java +++ b/client/src/main/java/org/apache/sqoop/client/shell/CreateConnectionFunction.java @@ -127,7 +127,8 @@ public class CreateConnectionFunction extends SqoopFunction { } while(!status.canProceed()); io.out.println("New connection was successfully created with validation " - + "status " + status.name()); + + "status " + status.name() + " and persistent id " + + connection.getPersistenceId()); } private FrameworkBean getFrameworkBean() { http://git-wip-us.apache.org/repos/asf/sqoop/blob/202ae063/client/src/main/java/org/apache/sqoop/client/shell/CreateJobFunction.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/sqoop/client/shell/CreateJobFunction.java b/client/src/main/java/org/apache/sqoop/client/shell/CreateJobFunction.java index 1a8b901..0db93bf 100644 --- a/client/src/main/java/org/apache/sqoop/client/shell/CreateJobFunction.java +++ b/client/src/main/java/org/apache/sqoop/client/shell/CreateJobFunction.java @@ -153,7 +153,8 @@ public class CreateJobFunction extends SqoopFunction { } while(!status.canProceed()); io.out.println("New job was successfully created with validation " - + "status " + status.name()); + + "status " + status.name() + " and persistent id " + + job.getPersistenceId()); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/202ae063/common/src/main/java/org/apache/sqoop/json/ValidationBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ValidationBean.java b/common/src/main/java/org/apache/sqoop/json/ValidationBean.java index b56f6ed..6883a85 100644 --- a/common/src/main/java/org/apache/sqoop/json/ValidationBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ValidationBean.java @@ -21,6 +21,7 @@ import org.apache.sqoop.model.MConnection; import org.apache.sqoop.model.MForm; import org.apache.sqoop.model.MInput; import org.apache.sqoop.model.MJob; +import org.apache.sqoop.model.MPersistableEntity; import org.apache.sqoop.model.MValidatedElement; import org.apache.sqoop.validation.Status; import org.json.simple.JSONObject; @@ -36,6 +37,7 @@ public class ValidationBean implements JsonBean { private static final String STATUS = "status"; private static final String TYPE = "type"; + private static final String ID = "id"; private static final String CONNECTOR_PART = "connector"; private static final String FRAMEWORK_PART = "framework"; @@ -97,6 +99,17 @@ public class ValidationBean implements JsonBean { object.put(CONNECTOR_PART, extractForms(connectorPart)); object.put(FRAMEWORK_PART, extractForms(frameworkPart)); + // If we do have ID available, let's send it across network + long id = MPersistableEntity.PERSISTANCE_ID_DEFAULT; + if(connection != null) { + id = connection.getPersistenceId(); + } else if(job != null) { + id = job.getPersistenceId(); + } + if( id != MPersistableEntity.PERSISTANCE_ID_DEFAULT) { + object.put(ID, id); + } + return object; } @@ -141,6 +154,16 @@ public class ValidationBean implements JsonBean { restoreForms(connectorPart, job.getConnectorPart().getForms()); restoreForms(frameworkPart, job.getFrameworkPart().getForms()); } + + // Restore persistent id if available + if(jsonObject.containsKey(ID)) { + long id = (Long)jsonObject.get(ID); + if(connection != null) { + connection.setPersistenceId(id); + } else if(job != null) { + job.setPersistenceId(id); + } + } } private void restoreForms(JSONObject json, List<MForm> forms) {
