Updated Branches:
  refs/heads/sqoop2 f980e90fc -> 575a86531

SQOOP-1059. Sqoop2: Remove ad hoc modle cloning methods in common module.

(Jarek Jarcec Cecho via Hari Shreedharan)


Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/575a8653
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/575a8653
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/575a8653

Branch: refs/heads/sqoop2
Commit: 575a86531dc5b79da7056f5c4acd9a0ee91eea99
Parents: f980e90
Author: Hari Shreedharan <hshreedha...@apache.org>
Authored: Sun Jun 23 21:41:01 2013 -0700
Committer: Hari Shreedharan <hshreedha...@apache.org>
Committed: Sun Jun 23 21:41:01 2013 -0700

----------------------------------------------------------------------
 .../org/apache/sqoop/repository/Repository.java | 49 ++------------------
 1 file changed, 4 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/575a8653/core/src/main/java/org/apache/sqoop/repository/Repository.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/sqoop/repository/Repository.java 
b/core/src/main/java/org/apache/sqoop/repository/Repository.java
index a2911c5..306bd90 100644
--- a/core/src/main/java/org/apache/sqoop/repository/Repository.java
+++ b/core/src/main/java/org/apache/sqoop/repository/Repository.java
@@ -394,8 +394,7 @@ public abstract class Repository {
         // Make a new copy of the forms from the connector,
         // else the values will get set in the forms in the connector for
         // each connection.
-        List<MForm> forms = cloneForms(newConnector.getConnectionForms()
-          .getForms());
+        List<MForm> forms = 
newConnector.getConnectionForms().clone(false).getForms();
         MConnectionForms newConnectionForms = new MConnectionForms(forms);
         upgrader.upgrade(connection.getConnectorPart(), newConnectionForms);
         MConnection newConnection = new MConnection(connectorID,
@@ -407,8 +406,7 @@ public abstract class Repository {
         // Make a new copy of the forms from the connector,
         // else the values will get set in the forms in the connector for
         // each connection.
-        List<MForm> forms = cloneForms(newConnector.getJobForms(job.getType())
-          .getForms());
+        List<MForm> forms = 
newConnector.getJobForms(job.getType()).clone(false).getForms();
         MJobForms newJobForms = new MJobForms(job.getType(), forms);
         upgrader.upgrade(job.getConnectorPart(), newJobForms);
         MJob newJob = new MJob(connectorID, job.getConnectionId(),
@@ -449,8 +447,7 @@ public abstract class Repository {
         // Make a new copy of the forms from the connector,
         // else the values will get set in the forms in the connector for
         // each connection.
-        List<MForm> forms = cloneForms(framework.getConnectionForms()
-          .getForms());
+        List<MForm> forms = 
framework.getConnectionForms().clone(false).getForms();
         MConnectionForms newConnectionForms = new MConnectionForms(forms);
         upgrader.upgrade(connection.getFrameworkPart(), newConnectionForms);
         MConnection newConnection = new 
MConnection(connection.getConnectorId(),
@@ -462,8 +459,7 @@ public abstract class Repository {
         // Make a new copy of the forms from the framework,
         // else the values will get set in the forms in the connector for
         // each connection.
-        List<MForm> forms = cloneForms(framework.getJobForms(job.getType())
-          .getForms());
+        List<MForm> forms = 
framework.getJobForms(job.getType()).clone(false).getForms();
         MJobForms newJobForms = new MJobForms(job.getType(), forms);
         upgrader.upgrade(job.getFrameworkPart(), newJobForms);
         MJob newJob = new MJob(job.getConnectorId(), job.getConnectionId(),
@@ -484,41 +480,4 @@ public abstract class Repository {
       LOG.info("Framework metadata upgrade finished");
     }
   }
-
-  /**
-   * Clones the forms, but does not set the actual data,
-   * validation message etc in the inputs, but only the persistence id of the
-   * inputs.
-   * @param mForms MForms which must be cloned
-   * @return Cloned MForms
-   * @throws Exception
-   */
-  private List<MForm> cloneForms(List<MForm> mForms) throws Exception {
-    List<MForm> forms = new ArrayList<MForm>();
-    for(MForm mForm : mForms) {
-      List<MInput<?>> inputs = new ArrayList<MInput<?>>();
-      for (MInput<?> input : mForm.getInputs()) {
-        MInput newInput;
-        if(input instanceof MEnumInput) {
-          newInput = new MEnumInput(input.getName(), input.isSensitive(),
-            ((MEnumInput) input).getValues());
-        } else if (input instanceof MMapInput) {
-          newInput = new MMapInput(input.getName(), input.isSensitive());
-        } else if (input instanceof MBooleanInput) {
-          newInput = new MBooleanInput(input.getName(), input.isSensitive());
-        } else if(input instanceof MStringInput) {
-          newInput = new MStringInput(input.getName(), input.isSensitive(),
-            ((MStringInput) input).getMaxLength());
-        } else if (input instanceof MIntegerInput) {
-          newInput = new MIntegerInput(input.getName(), input.isSensitive());
-        } else {
-          throw new SqoopException(ModelError.MODEL_003);
-        }
-        newInput.setPersistenceId(input.getPersistenceId());
-        inputs.add(newInput);
-      }
-      forms.add(new MForm(mForm.getName(), inputs));
-    }
-    return forms;
-  }
 }

Reply via email to