diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java index 5f7a1c3592..afe1ba0de2 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java @@ -284,7 +284,10 @@ public class GenerationTool { if (g == null) throw new GeneratorException("The tag is mandatory. For details, see " + Constants.NS_CODEGEN); - org.jooq.meta.jaxb.Database d = defaultIfNull(g.getDatabase(), new org.jooq.meta.jaxb.Database()); + // [#3669] Optional Database element + if (g.getDatabase() == null) + g.setDatabase(new org.jooq.meta.jaxb.Database()); + org.jooq.meta.jaxb.Database d = g.getDatabase(); String databaseName = trim(d.getName()); // [#1394] The element and some others should be optional @@ -560,11 +563,11 @@ public class GenerationTool { database.setConfiguredEnumTypes(d.getEnumTypes()); database.setConfiguredForcedTypes(d.getForcedTypes()); database.setConfiguredEmbeddables(d.getEmbeddables()); - database.setEmbeddablePrimaryKeys(TRUE.equals(g.getDatabase().isEmbeddablePrimaryKeys())); - database.setEmbeddableUniqueKeys(TRUE.equals(g.getDatabase().isEmbeddableUniqueKeys())); - database.setEmbeddableDomains(TRUE.equals(g.getDatabase().isEmbeddableDomains())); - database.setLogSlowQueriesAfterSeconds(defaultIfNull(g.getDatabase().getLogSlowQueriesAfterSeconds(), 5)); - database.setLogSlowResultsAfterSeconds(defaultIfNull(g.getDatabase().getLogSlowResultsAfterSeconds(), 5)); + database.setEmbeddablePrimaryKeys(TRUE.equals(d.isEmbeddablePrimaryKeys())); + database.setEmbeddableUniqueKeys(TRUE.equals(d.isEmbeddableUniqueKeys())); + database.setEmbeddableDomains(TRUE.equals(d.isEmbeddableDomains())); + database.setLogSlowQueriesAfterSeconds(defaultIfNull(d.getLogSlowQueriesAfterSeconds(), 5)); + database.setLogSlowResultsAfterSeconds(defaultIfNull(d.getLogSlowResultsAfterSeconds(), 5)); if (d.getRegexFlags() != null) { database.setRegexFlags(d.getRegexFlags()); @@ -832,15 +835,12 @@ public class GenerationTool { generator.setGenerateIndentation(g.getGenerate().getIndentation()); - // [#3669] Optional Database element - if (g.getDatabase() == null) - g.setDatabase(new org.jooq.meta.jaxb.Database()); - if (!isBlank(g.getDatabase().getSchemaVersionProvider())) + if (!isBlank(d.getSchemaVersionProvider())) generator.setUseSchemaVersionProvider(true); - if (!isBlank(g.getDatabase().getCatalogVersionProvider())) + if (!isBlank(d.getCatalogVersionProvider())) generator.setUseCatalogVersionProvider(true); - if (g.getDatabase().isTableValuedFunctions() != null) - generator.setGenerateTableValuedFunctions(g.getDatabase().isTableValuedFunctions()); + if (d.isTableValuedFunctions() != null) + generator.setGenerateTableValuedFunctions(d.isTableValuedFunctions()); else { generator.setGenerateTableValuedFunctions(true);