From 1597e349550536c8bc7d9a8c80030acee13c8a35 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Sun, 12 Feb 2012 15:06:28 +0000 Subject: [PATCH] Fixed code generation issues --- .../java/org/jooq/util/DefaultGenerator.java | 16 ++++++++-------- .../org/jooq/util/DefaultGeneratorStrategy.java | 15 +++++++++++++-- .../java/org/jooq/util/AbstractDatabase.java | 6 +++--- .../util/AbstractElementContainerDefinition.java | 4 +++- .../util/AbstractTypedElementDefinition.java | 5 ++++- .../java/org/jooq/util/SchemaDefinition.java | 2 +- .../configuration/lukas/sqlserver/library.xml | 2 +- .../jooq/configuration/lukas/sybase/library.xml | 2 +- 8 files changed, 34 insertions(+), 18 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGenerator.java index 97efff3cfc..50046043e5 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGenerator.java @@ -275,14 +275,14 @@ public class DefaultGenerator implements Generator { outS.printSerial(); outS.println(); outS.println("\t/**"); - outS.println("\t * The singleton instance of " + schema.getName()); + outS.println("\t * The singleton instance of " + database.getOutputSchema(schema.getName())); outS.println("\t */"); outS.println("\tpublic static final " + strategy.getJavaClassName(schema) + " " + strategy.getJavaIdentifierUC(schema) + " = new " + strategy.getJavaClassName(schema) + "();"); outS.println(); printNoFurtherInstancesAllowedJavadoc(outS); outS.println("\tprivate " + strategy.getJavaClassName(schema) + "() {"); - outS.println("\t\tsuper(\"" + schema.getName() + "\");"); + outS.println("\t\tsuper(\"" + database.getOutputSchema(schema.getName()) + "\");"); outS.println("\t}"); outS.printInitialisationStatementsPlaceholder(); @@ -344,7 +344,7 @@ public class DefaultGenerator implements Generator { GenerationWriter out = new GenerationWriter(new File(targetSchemaDir, "Sequences.java")); printHeader(out, schema); - printClassJavadoc(out, "Convenience access to all sequences in " + schema.getName()); + printClassJavadoc(out, "Convenience access to all sequences in " + database.getOutputSchema(schema.getName())); out.println("public final class Sequences {"); for (SequenceDefinition sequence : database.getSequences(schema)) { @@ -835,7 +835,7 @@ public class DefaultGenerator implements Generator { GenerationWriter out = new GenerationWriter(new File(targetSchemaDir, "Tables.java")); printHeader(out, schema); - printClassJavadoc(out, "Convenience access to all tables in " + schema.getName()); + printClassJavadoc(out, "Convenience access to all tables in " + database.getOutputSchema(schema.getName())); out.println("public final class Tables {"); for (TableDefinition table : database.getTables(schema)) { @@ -877,7 +877,7 @@ public class DefaultGenerator implements Generator { GenerationWriter out = new GenerationWriter(new File(targetSchemaDir, "Keys.java")); printHeader(out, schema); - printClassJavadoc(out, "A class modelling foreign key relationships between tables of the " + schema.getName() + " schema"); + printClassJavadoc(out, "A class modelling foreign key relationships between tables of the " + database.getOutputSchema(schema.getName()) + " schema"); out.suppressWarnings("unchecked"); out.print("public class Keys extends "); @@ -1140,7 +1140,7 @@ public class DefaultGenerator implements Generator { if (outS != null) { outS.printInitialisationStatement( - "addMapping(\"" + schema.getName() + "." + udt.getName() + "\", " + + "addMapping(\"" + database.getOutputSchema(schema.getName()) + "." + udt.getName() + "\", " + strategy.getFullJavaClassName(udt, "Record") + ".class);"); } } catch (Exception e) { @@ -1249,7 +1249,7 @@ public class DefaultGenerator implements Generator { GenerationWriter out = new GenerationWriter(new File(targetSchemaDir, "UDTs.java")); printHeader(out, schema); - printClassJavadoc(out, "Convenience access to all UDTs in " + schema.getName()); + printClassJavadoc(out, "Convenience access to all UDTs in " + database.getOutputSchema(schema.getName())); out.println("public final class UDTs {"); for (UDTDefinition udt : database.getUDTs(schema)) { @@ -1422,7 +1422,7 @@ public class DefaultGenerator implements Generator { GenerationWriter outR = new GenerationWriter(new File(targetSchemaDir, "Routines.java")); printHeader(outR, schema); - printClassJavadoc(outR, "Convenience access to all stored procedures and functions in " + schema.getName()); + printClassJavadoc(outR, "Convenience access to all stored procedures and functions in " + database.getOutputSchema(schema.getName())); outR.println("public final class Routines {"); for (RoutineDefinition routine : database.getRoutines(schema)) { diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java index 59b30744d6..a82d2541b3 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java @@ -158,7 +158,13 @@ public class DefaultGeneratorStrategy implements GeneratorStrategy { @Override public String getJavaIdentifier(Definition definition) { - return GenerationUtil.convertToJavaIdentifier(definition.getName()); + + // [#1126] TODO refactor this into input/output/label name + String n = (definition instanceof SchemaDefinition) + ? definition.getDatabase().getOutputSchema(definition.getName()) + : definition.getName(); + + return GenerationUtil.convertToJavaIdentifier(n); } @Override @@ -346,7 +352,12 @@ public class DefaultGeneratorStrategy implements GeneratorStrategy { private String getJavaClassName0(Definition definition, String suffix) { StringBuilder result = new StringBuilder(); - String name = GenerationUtil.convertToJavaIdentifier(definition.getName()); + // [#1126] TODO refactor this into input/output/label name + String n = (definition instanceof SchemaDefinition) + ? definition.getDatabase().getOutputSchema(definition.getName()) + : definition.getName(); + + String name = GenerationUtil.convertToJavaIdentifier(n); result.append(StringUtils.toCamelCase(name)); // The POJO suffix doesn't really apply to the file name 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 1c33a7b178..54d900676e 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java @@ -112,7 +112,7 @@ public abstract class AbstractDatabase implements Database { schemata = new ArrayList(); for (String name : getInputSchemata()) { - schemata.add(new SchemaDefinition(this, getOutputSchema(name), null)); + schemata.add(new SchemaDefinition(this, name, null)); } } @@ -120,9 +120,9 @@ public abstract class AbstractDatabase implements Database { } @Override - public final SchemaDefinition getSchema(String name) { + public final SchemaDefinition getSchema(String inputName) { for (SchemaDefinition schema : getSchemata()) { - if (schema.getName().equals(getOutputSchema(name))) { + if (schema.getName().equals(inputName)) { return schema; } } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/AbstractElementContainerDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/AbstractElementContainerDefinition.java index 1fc00788b2..c657beb228 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractElementContainerDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractElementContainerDefinition.java @@ -72,7 +72,9 @@ extends AbstractDefinition { return getName(); } else { - return getSchema().getName() + "." + getName(); + return + getDatabase().getOutputSchema(getSchema().getName()) + "." + + getName(); } } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/AbstractTypedElementDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/AbstractTypedElementDefinition.java index ff40dafae4..e7ce228102 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractTypedElementDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractTypedElementDefinition.java @@ -140,7 +140,10 @@ abstract class AbstractTypedElementDefinition return getContainer().getName() + "." + getName(); } else { - return getSchema().getName() + "." + getContainer().getName() + "." + getName(); + return + getDatabase().getOutputSchema(getSchema().getName()) + "." + + getContainer().getName() + "." + + getName(); } } } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/SchemaDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/SchemaDefinition.java index 99a3c0cf56..5509da5cfd 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/SchemaDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/SchemaDefinition.java @@ -51,7 +51,7 @@ public class SchemaDefinition extends AbstractDefinition { @Override public final String getQualifiedName() { - return getName(); + return getDatabase().getOutputSchema(getName()); } public boolean isDefaultSchema() { diff --git a/jOOQ-test/configuration/org/jooq/configuration/lukas/sqlserver/library.xml b/jOOQ-test/configuration/org/jooq/configuration/lukas/sqlserver/library.xml index 5068838102..354425d052 100644 --- a/jOOQ-test/configuration/org/jooq/configuration/lukas/sqlserver/library.xml +++ b/jOOQ-test/configuration/org/jooq/configuration/lukas/sqlserver/library.xml @@ -1,5 +1,5 @@ - + com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=test;integratedSecurity=true diff --git a/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml b/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml index f374791bea..b684d13c9c 100644 --- a/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml +++ b/jOOQ-test/configuration/org/jooq/configuration/lukas/sybase/library.xml @@ -1,5 +1,5 @@ - + com.sybase.jdbc3.jdbc.SybDriver jdbc:sybase:Tds:localhost:2638