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 2015/03/19 19:54:52 UTC

sqoop git commit: SQOOP-2234: Sqoop2: Move DatasetURIValidator to Kite package as it's not generally usable validator

Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 9e8636981 -> 251471ffb


SQOOP-2234: Sqoop2: Move DatasetURIValidator to Kite package as it's not generally usable validator

(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/251471ff
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/251471ff
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/251471ff

Branch: refs/heads/sqoop2
Commit: 251471ffb8038d55484286e1e71524b4348ca666
Parents: 9e86369
Author: Abraham Elmahrek <ab...@apache.org>
Authored: Thu Mar 19 11:52:51 2015 -0700
Committer: Abraham Elmahrek <ab...@apache.org>
Committed: Thu Mar 19 11:52:51 2015 -0700

----------------------------------------------------------------------
 .../validators/DatasetURIValidator.java         | 49 ------------
 .../kite/configuration/FromJobConfig.java       |  2 +-
 .../kite/configuration/ToJobConfig.java         |  2 +-
 .../kite/validators/DatasetURIValidator.java    | 49 ++++++++++++
 .../validators/TestDatasetURIValidator.java     | 79 ++++++++++++++++++++
 5 files changed, 130 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/251471ff/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java b/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
deleted file mode 100644
index ad298ed..0000000
--- a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
+++ /dev/null
@@ -1,49 +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.validation.validators;
-
-import com.google.common.base.Strings;
-import org.apache.sqoop.classification.InterfaceAudience;
-import org.apache.sqoop.classification.InterfaceStability;
-import org.apache.sqoop.validation.Status;
-
-import java.util.regex.Pattern;
-
-/**
- * Ensure that given string represents a Kite dataset uri.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Unstable
-public class DatasetURIValidator extends AbstractValidator<String> {
-
-  private static final Pattern DATASET_URI_PATTERN = Pattern
-      .compile("^dataset:(hive|hdfs|file):.*$");
-
-  @Override
-  public void validate(String uri) {
-    if (Strings.isNullOrEmpty(uri)) {
-      addMessage(Status.ERROR, "Cannot be null nor empty");
-      return;
-    }
-
-    if (!DATASET_URI_PATTERN.matcher(uri).matches()) {
-      addMessage(Status.ERROR, "Invalid dataset URI: " + uri);
-    }
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/sqoop/blob/251471ff/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java
----------------------------------------------------------------------
diff --git a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java
index 68a1d7a..98d10a0 100644
--- a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java
+++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java
@@ -20,7 +20,7 @@ package org.apache.sqoop.connector.kite.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.DatasetURIValidator;
+import org.apache.sqoop.connector.kite.validators.DatasetURIValidator;
 
 @ConfigClass
 public class FromJobConfig {

http://git-wip-us.apache.org/repos/asf/sqoop/blob/251471ff/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java
----------------------------------------------------------------------
diff --git a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java
index 07ee8cf..8f00ce7 100644
--- a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java
+++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java
@@ -21,7 +21,7 @@ import org.apache.sqoop.connector.common.FileFormat;
 import org.apache.sqoop.model.ConfigClass;
 import org.apache.sqoop.model.Input;
 import org.apache.sqoop.model.Validator;
-import org.apache.sqoop.validation.validators.DatasetURIValidator;
+import org.apache.sqoop.connector.kite.validators.DatasetURIValidator;
 import org.apache.sqoop.validation.validators.NotNull;
 
 @ConfigClass

http://git-wip-us.apache.org/repos/asf/sqoop/blob/251471ff/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java
----------------------------------------------------------------------
diff --git a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java
new file mode 100644
index 0000000..e9c26ed
--- /dev/null
+++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java
@@ -0,0 +1,49 @@
+/**
+ * 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.connector.kite.validators;
+
+import com.google.common.base.Strings;
+import org.apache.sqoop.classification.InterfaceAudience;
+import org.apache.sqoop.classification.InterfaceStability;
+import org.apache.sqoop.validation.Status;
+import org.apache.sqoop.validation.validators.AbstractValidator;
+
+import java.util.regex.Pattern;
+
+/**
+ * Ensure that given string represents a Kite dataset uri.
+ */
+@InterfaceAudience.Public
+@InterfaceStability.Unstable
+public class DatasetURIValidator extends AbstractValidator<String> {
+
+  private static final Pattern DATASET_URI_PATTERN = Pattern.compile("^dataset:(hive|hdfs|file):.*$");
+
+  @Override
+  public void validate(String uri) {
+    if (Strings.isNullOrEmpty(uri)) {
+      addMessage(Status.ERROR, "Cannot be null nor empty");
+      return;
+    }
+
+    if (!DATASET_URI_PATTERN.matcher(uri).matches()) {
+      addMessage(Status.ERROR, "Invalid dataset URI: " + uri);
+    }
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/sqoop/blob/251471ff/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java
----------------------------------------------------------------------
diff --git a/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java b/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java
new file mode 100644
index 0000000..920461e
--- /dev/null
+++ b/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java
@@ -0,0 +1,79 @@
+/**
+ * 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.connector.kite.validators;
+
+import org.apache.sqoop.validation.Status;
+import org.apache.sqoop.validation.validators.AbstractValidator;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
+
+/**
+ */
+public class TestDatasetURIValidator {
+
+  AbstractValidator validator = new DatasetURIValidator();
+
+  @BeforeMethod(alwaysRun = true)
+  public void resetValidator() {
+    validator.reset();
+  }
+
+  @Test
+  public void testNull() {
+    validator.validate(null);
+    assertEquals(validator.getStatus(), Status.ERROR);
+    assertEquals(validator.getMessages().size(), 1);
+  }
+
+  @Test
+  public void testEmpty() {
+    validator.validate("");
+    assertEquals(validator.getStatus(), Status.ERROR);
+    assertEquals(validator.getMessages().size(), 1);
+  }
+
+  @Test
+  public void testRandomString() {
+    validator.validate("!@#$%");
+    assertEquals(validator.getStatus(), Status.ERROR);
+    assertEquals(validator.getMessages().size(), 1);
+  }
+
+  @Test
+  public void testHdfsDataset() {
+    validator.validate("dataset:hive:");
+    assertEquals(validator.getStatus(), Status.OK);
+    assertEquals(validator.getMessages().size(), 0);
+  }
+
+  @Test
+  public void testHiveDataset() {
+    validator.validate("dataset:hive:");
+    assertEquals(validator.getStatus(), Status.OK);
+    assertEquals(validator.getMessages().size(), 0);
+  }
+
+  @Test
+  public void testFileDataset() {
+    validator.validate("dataset:file:");
+    assertEquals(validator.getStatus(), Status.OK);
+    assertEquals(validator.getMessages().size(), 0);
+  }
+}