From c66ef8a4f613d736b0d0160c8076dc45b84ad2da Mon Sep 17 00:00:00 2001 From: lukaseder Date: Wed, 8 Apr 2015 18:42:03 +0200 Subject: [PATCH] [#4173] NullPointerException when using SQL99 dialect with XMLDatabase for code generation --- .../java/org/jooq/util/JavaGenerator.java | 23 +++++++++++-------- jOOQ/src/main/java/org/jooq/SQLDialect.java | 4 ++-- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java index c1540dfa12..d77c465d41 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java @@ -4429,17 +4429,20 @@ public class JavaGenerator extends AbstractGenerator { // Otherwise, reference the dialect-specific DataType itself. else { - String typeClass = - "org.jooq.util." + - db.getDialect().getName().toLowerCase() + - "." + - db.getDialect().getName() + - "DataType"; - - sb.append(typeClass); - sb.append("."); - try { + + // [#4173] DEFAULT and SQL99 data types + String typeClass = (db.getDialect().getName() == null) + ? SQLDataType.class.getName() + : "org.jooq.util." + + db.getDialect().getName().toLowerCase() + + "." + + db.getDialect().getName() + + "DataType"; + + sb.append(typeClass); + sb.append("."); + String type1 = getType(db, schema, t, p, s, u, null); String type2 = getType(db, schema, t, 0, 0, u, null); String typeName = DefaultDataType.normalise(t); diff --git a/jOOQ/src/main/java/org/jooq/SQLDialect.java b/jOOQ/src/main/java/org/jooq/SQLDialect.java index 0d1760f596..9c3b74e10b 100644 --- a/jOOQ/src/main/java/org/jooq/SQLDialect.java +++ b/jOOQ/src/main/java/org/jooq/SQLDialect.java @@ -66,7 +66,7 @@ public enum SQLDialect { * pseudo-dialect. */ @Deprecated - SQL99(null, false), + SQL99("", false), /** * The default SQL dialect. @@ -75,7 +75,7 @@ public enum SQLDialect { * not intended to be used with any actual database as it may combined * dialect-specific things from various dialects. */ - DEFAULT(null, false), + DEFAULT("", false), // ------------------------------------------------------------------------- // SQL dialects for free usage