You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2013/01/15 13:27:05 UTC
git commit: SQOOP-829: Error Messages For --map-column-java Should Be
More Useful
Updated Branches:
refs/heads/trunk 79f941b7e -> 2b0456d6c
SQOOP-829: Error Messages For --map-column-java Should Be More Useful
(Nick White via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/2b0456d6
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/2b0456d6
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/2b0456d6
Branch: refs/heads/trunk
Commit: 2b0456d6ce4b1e20bdd292c992efe231965372ae
Parents: 79f941b
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Tue Jan 15 04:15:30 2013 -0800
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Tue Jan 15 04:15:30 2013 -0800
----------------------------------------------------------------------
src/java/org/apache/sqoop/orm/ClassWriter.java | 11 +++++---
.../com/cloudera/sqoop/orm/TestClassWriter.java | 20 +++++++++++++++
2 files changed, 27 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/2b0456d6/src/java/org/apache/sqoop/orm/ClassWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/orm/ClassWriter.java b/src/java/org/apache/sqoop/orm/ClassWriter.java
index b73711e..47e1221 100644
--- a/src/java/org/apache/sqoop/orm/ClassWriter.java
+++ b/src/java/org/apache/sqoop/orm/ClassWriter.java
@@ -443,8 +443,8 @@ public class ClassWriter {
return " " + LobSerializer.class.getCanonicalName()
+ ".writeBlob(this." + colName + ", " + outputObj + ");\n";
} else {
- LOG.error("No ResultSet method for Java type " + javaType);
- return null;
+ throw new IllegalArgumentException(
+ "No ResultSet method for Java type " + javaType);
}
}
@@ -1101,8 +1101,11 @@ public class ClassWriter {
if (mapping != null && !mapping.isEmpty()) {
for(Object column : mapping.keySet()) {
if (!uniqColNames.contains((String)column)) {
- throw new IllegalArgumentException("No column by the name " + column
- + "found while importing data");
+ throw new IllegalArgumentException(
+ "No column by the name "
+ + column
+ + "found while importing data; expecting one of "
+ + uniqColNames);
}
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/2b0456d6/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
index a10b5ae..3b77571 100644
--- a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
+++ b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
@@ -465,4 +465,24 @@ public class TestClassWriter extends TestCase {
ClassLoaderStack.setCurrentClassLoader(prevClassLoader);
}
}
+
+ @Test
+ public void testBrokenUserMapping() throws Exception {
+
+ String [] argv = {
+ "--bindir", JAR_GEN_DIR,
+ "--outdir", CODE_GEN_DIR,
+ "--class-name", USERMAPPING_CLASS_AND_PACKAGE_NAME,
+ "--map-column-java", "INTFIELD1=NotARealClass",
+ };
+
+ try {
+ runGenerationTest(
+ argv,
+ USERMAPPING_CLASS_AND_PACKAGE_NAME);
+ } catch(IllegalArgumentException e) {
+ return;
+ }
+ fail("we shouldn't successfully generate code");
+ }
}