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/11 03:35:03 UTC

git commit: SQOOP-1575: Sqoop2: Validations: Migrate HDFS connector to new validators

Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 d7e049043 -> b345b4654


SQOOP-1575: Sqoop2: Validations: Migrate HDFS connector to new validators

(Jarek Jarcec Cecho Via Abraham Elmahrek)


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

Branch: refs/heads/sqoop2
Commit: b345b4654651c08a24e58c4fe232a700cc3fbc32
Parents: d7e0490
Author: Abraham Elmahrek <ab...@elmahrek.com>
Authored: Fri Oct 10 16:50:37 2014 -0700
Committer: Abraham Elmahrek <ab...@elmahrek.com>
Committed: Fri Oct 10 16:50:55 2014 -0700

----------------------------------------------------------------------
 .../hdfs/configuration/FromJobConfig.java       |  4 +++-
 .../hdfs/configuration/ToJobConfig.java         | 24 ++++++++++++++++++--
 2 files changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/b345b465/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/FromJobConfig.java
----------------------------------------------------------------------
diff --git a/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/FromJobConfig.java b/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/FromJobConfig.java
index 037fe59..509d772 100644
--- a/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/FromJobConfig.java
+++ b/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/FromJobConfig.java
@@ -19,6 +19,8 @@ package org.apache.sqoop.connector.hdfs.configuration;
 
 import org.apache.sqoop.model.ConfigClass;
 import org.apache.sqoop.model.Input;
+import org.apache.sqoop.model.Validator;
+import org.apache.sqoop.validation.validators.NotEmpty;
 
 /**
  *
@@ -26,5 +28,5 @@ import org.apache.sqoop.model.Input;
 @ConfigClass
 public class FromJobConfig {
 
-  @Input(size = 255) public String inputDirectory;
+  @Input(size = 255, validators = { @Validator(NotEmpty.class) }) public String inputDirectory;
 }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/b345b465/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/ToJobConfig.java
----------------------------------------------------------------------
diff --git a/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/ToJobConfig.java b/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/ToJobConfig.java
index 2dfd738..7fb1f74 100644
--- a/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/ToJobConfig.java
+++ b/connector/connector-hdfs/src/main/java/org/apache/sqoop/connector/hdfs/configuration/ToJobConfig.java
@@ -19,11 +19,15 @@ package org.apache.sqoop.connector.hdfs.configuration;
 
 import org.apache.sqoop.model.ConfigClass;
 import org.apache.sqoop.model.Input;
+import org.apache.sqoop.model.Validator;
+import org.apache.sqoop.validation.Status;
+import org.apache.sqoop.validation.validators.AbstractValidator;
+import org.apache.sqoop.validation.validators.NotEmpty;
 
 /**
  *
  */
-@ConfigClass
+@ConfigClass(validators = { @Validator(ToJobConfig.ToJobConfigValidator.class)})
 public class ToJobConfig {
 
   @Input public ToFormat outputFormat;
@@ -32,5 +36,21 @@ public class ToJobConfig {
 
   @Input(size = 255) public String customCompression;
 
-  @Input(size = 255) public String outputDirectory;
+  @Input(size = 255, validators = { @Validator(NotEmpty.class)}) public String outputDirectory;
+
+  public static class ToJobConfigValidator extends AbstractValidator<ToJobConfig> {
+    @Override
+    public void validate(ToJobConfig conf) {
+      if(conf.customCompression != null &&
+         conf.customCompression.trim().length() > 0 &&
+         conf.compression != ToCompression.CUSTOM) {
+        addMessage(Status.UNACCEPTABLE, "Custom compression codec should be blank as " + conf.compression + " is being used");
+      }
+
+      if(conf.compression == ToCompression.CUSTOM &&
+         (conf.customCompression == null || conf.customCompression.trim().length() == 0)) {
+        addMessage(Status.UNACCEPTABLE, "Custom compression field is blank.");
+      }
+    }
+  }
 }