From c0b7ed8fe2b92d7a40338425b9eabbf180002e18 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 28 May 2015 12:21:18 +0200 Subject: [PATCH] [#4313] NullPointerException while fetching tables --- .../java/org/jooq/util/AbstractDatabase.java | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java index 299f0f42f2..8029f4d8e6 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java @@ -159,7 +159,7 @@ public abstract class AbstractDatabase implements Database { protected AbstractDatabase() { exists = new HashMap, Boolean>(); patterns = new HashMap(); - filters = new ArrayList(); + filters = new ArrayList(); } @Override @@ -375,6 +375,10 @@ public abstract class AbstractDatabase implements Database { @Override public final List getFilters() { + if (filters == null) { + filters = new ArrayList(); + } + return Collections.unmodifiableList(filters); } @@ -390,6 +394,10 @@ public abstract class AbstractDatabase implements Database { @Override public final String[] getExcludes() { + if (excludes == null) { + excludes = new String[0]; + } + return excludes; } @@ -400,6 +408,10 @@ public abstract class AbstractDatabase implements Database { @Override public final String[] getIncludes() { + if (includes == null) { + includes = new String[0]; + } + return includes; } @@ -420,6 +432,10 @@ public abstract class AbstractDatabase implements Database { @Override public final List getRegexFlags() { + if (regexFlags == null) { + regexFlags = new ArrayList(); + } + return regexFlags; } @@ -430,6 +446,10 @@ public abstract class AbstractDatabase implements Database { @Override public String[] getRecordVersionFields() { + if (recordVersionFields == null) { + recordVersionFields = new String[0]; + } + return recordVersionFields; } @@ -440,6 +460,10 @@ public abstract class AbstractDatabase implements Database { @Override public String[] getRecordTimestampFields() { + if (recordTimestampFields == null) { + recordTimestampFields = new String[0]; + } + return recordTimestampFields; } @@ -450,6 +474,10 @@ public abstract class AbstractDatabase implements Database { @Override public String[] getSyntheticPrimaryKeys() { + if (syntheticPrimaryKeys == null) { + syntheticPrimaryKeys = new String[0]; + } + return syntheticPrimaryKeys; } @@ -460,6 +488,10 @@ public abstract class AbstractDatabase implements Database { @Override public String[] getOverridePrimaryKeys() { + if (overridePrimaryKeys == null) { + overridePrimaryKeys = new String[0]; + } + return overridePrimaryKeys; } @@ -480,6 +512,10 @@ public abstract class AbstractDatabase implements Database { @Override public final List getConfiguredCustomTypes() { + if (configuredCustomTypes == null) { + configuredCustomTypes = new ArrayList(); + } + return configuredCustomTypes; } @@ -519,6 +555,10 @@ public abstract class AbstractDatabase implements Database { @Override public final List getConfiguredForcedTypes() { + if (configuredForcedTypes == null) { + configuredForcedTypes = new ArrayList(); + } + return configuredForcedTypes; }