From 5ea695a6d93476b5d267babec90210f451ea23fd Mon Sep 17 00:00:00 2001 From: Jarek Jarcec Cecho Date: Mon, 13 Apr 2015 16:14:28 -0700 Subject: [PATCH] SQOOP-2303: EmptyTypeList when returned from DatabaseProvider class results in NPE in TestNG (Syed A. Hashmi via Jarek Jarcec Cecho) --- .../common/test/db/DatabaseProvider.java | 5 ++-- ...mptyTypeList.java => DefaultTypeList.java} | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 12 deletions(-) rename common-test/src/main/java/org/apache/sqoop/common/test/db/types/{EmptyTypeList.java => DefaultTypeList.java} (57%) diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java index 7e17c09c..dd4e5469 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java @@ -19,9 +19,8 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.apache.sqoop.common.test.db.types.DatabaseType; import org.apache.sqoop.common.test.db.types.DatabaseTypeList; -import org.apache.sqoop.common.test.db.types.EmptyTypeList; +import org.apache.sqoop.common.test.db.types.DefaultTypeList; import java.sql.Connection; import java.sql.DriverManager; @@ -153,7 +152,7 @@ public String getJdbcDriver() { * @return */ public DatabaseTypeList getDatabaseTypes() { - return new EmptyTypeList(); + return new DefaultTypeList(); } /** diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/types/EmptyTypeList.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/types/DefaultTypeList.java similarity index 57% rename from common-test/src/main/java/org/apache/sqoop/common/test/db/types/EmptyTypeList.java rename to common-test/src/main/java/org/apache/sqoop/common/test/db/types/DefaultTypeList.java index e60826cc..9abf243d 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/types/EmptyTypeList.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/types/DefaultTypeList.java @@ -17,15 +17,22 @@ */ package org.apache.sqoop.common.test.db.types; -import java.util.LinkedList; -import java.util.List; - /** - * Default implementation that don't have any types. + * This class provides one default type to be consumed by Types Tests. + * Any DB provider which wants to have more types covered should provide + * a separate class and return that instead of this class. */ -public class EmptyTypeList extends DatabaseTypeList { - @Override - public List getAllTypes() { - return new LinkedList(); +public class DefaultTypeList extends DatabaseTypeList { + public DefaultTypeList() { + super(); + + // Integer type + add(DatabaseType.builder("INT") + .addExample("-32768", new Integer(-32768), "-32768") + .addExample("-1", new Integer(-1), "-1") + .addExample("0", new Integer(0), "0") + .addExample("1", new Integer(1), "1") + .addExample("32767", new Integer(32767), "32767") + .build()); } -} +} \ No newline at end of file