[#5783] KeepNamesGeneratorStrategy generates wrong Keys.java
This commit is contained in:
parent
388410f3a3
commit
5e4565f001
@ -252,4 +252,42 @@ public abstract class AbstractGeneratorStrategy implements GeneratorStrategy {
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* [#4168] [#5783] Some identifiers must not be modified by custom strategies.
|
||||
*/
|
||||
final String getFixedJavaIdentifier(Definition definition) {
|
||||
|
||||
// [#1473] Identity identifiers should not be renamed by custom strategies
|
||||
if (definition instanceof IdentityDefinition)
|
||||
return "IDENTITY_" + getJavaIdentifier(((IdentityDefinition) definition).getColumn().getContainer());
|
||||
|
||||
// [#2032] Intercept default Catalog
|
||||
else if (definition instanceof CatalogDefinition && ((CatalogDefinition) definition).isDefaultCatalog())
|
||||
return "DEFAULT_CATALOG";
|
||||
|
||||
// [#2089] Intercept default schema
|
||||
else if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema())
|
||||
return "DEFAULT_SCHEMA";
|
||||
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* [#4168] [#5783] Some class names must not be modified by custom strategies.
|
||||
*/
|
||||
final String getFixedJavaClassName(Definition definition) {
|
||||
|
||||
// [#2032] Intercept default catalog
|
||||
if (definition instanceof CatalogDefinition && ((CatalogDefinition) definition).isDefaultCatalog())
|
||||
return "DefaultCatalog";
|
||||
|
||||
// [#2089] Intercept default schema
|
||||
else if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema())
|
||||
return "DefaultSchema";
|
||||
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -96,20 +96,12 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy {
|
||||
|
||||
@Override
|
||||
public String getJavaIdentifier(Definition definition) {
|
||||
String identifier = getFixedJavaIdentifier(definition);
|
||||
|
||||
// [#1473] Identity identifiers should not be renamed by custom strategies
|
||||
if (definition instanceof IdentityDefinition)
|
||||
return "IDENTITY_" + getJavaIdentifier(((IdentityDefinition) definition).getColumn().getContainer());
|
||||
|
||||
// [#2032] Intercept default Catalog
|
||||
else if (definition instanceof CatalogDefinition && ((CatalogDefinition) definition).isDefaultCatalog())
|
||||
return "DEFAULT_CATALOG";
|
||||
|
||||
// [#2089] Intercept default schema
|
||||
else if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema())
|
||||
return "DEFAULT_SCHEMA";
|
||||
|
||||
return definition.getOutputName().toUpperCase();
|
||||
if (identifier != null)
|
||||
return identifier;
|
||||
else
|
||||
return definition.getOutputName().toUpperCase();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -139,18 +131,12 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy {
|
||||
|
||||
@Override
|
||||
public String getJavaClassName(Definition definition, Mode mode) {
|
||||
String name = getFixedJavaClassName(definition);
|
||||
|
||||
// [#2032] Intercept default catalog
|
||||
if (definition instanceof CatalogDefinition && ((CatalogDefinition) definition).isDefaultCatalog()) {
|
||||
return "DefaultCatalog";
|
||||
}
|
||||
|
||||
// [#2089] Intercept default schema
|
||||
else if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema()) {
|
||||
return "DefaultSchema";
|
||||
}
|
||||
|
||||
return getJavaClassName0(definition, mode);
|
||||
if (name != null)
|
||||
return name;
|
||||
else
|
||||
return getJavaClassName0(definition, mode);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -114,7 +114,12 @@ class GeneratorStrategyWrapper extends AbstractGeneratorStrategy {
|
||||
|
||||
@Override
|
||||
public String getJavaIdentifier(Definition definition) {
|
||||
String identifier = convertToIdentifier(delegate.getJavaIdentifier(definition), language);
|
||||
String identifier = getFixedJavaIdentifier(definition);
|
||||
|
||||
if (identifier != null)
|
||||
return identifier;
|
||||
|
||||
identifier = convertToIdentifier(delegate.getJavaIdentifier(definition), language);
|
||||
|
||||
// [#1212] Don't trust custom strategies and disambiguate identifiers here
|
||||
if (definition instanceof ColumnDefinition ||
|
||||
@ -288,11 +293,13 @@ class GeneratorStrategyWrapper extends AbstractGeneratorStrategy {
|
||||
|
||||
@Override
|
||||
public String getJavaClassName(Definition definition, Mode mode) {
|
||||
String name = getFixedJavaClassName(definition);
|
||||
if (name != null)
|
||||
return name;
|
||||
|
||||
// [#1150] Intercept Mode.RECORD calls for tables
|
||||
if (definition instanceof TableDefinition && !generator.generateRecords() && mode == Mode.RECORD) {
|
||||
if (definition instanceof TableDefinition && !generator.generateRecords() && mode == Mode.RECORD)
|
||||
return Record.class.getSimpleName();
|
||||
}
|
||||
|
||||
String className;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user