Skip to content

Commit 64e5ef7

Browse files
committed
light code cleanups to stuff in org.hibernate.boot.model.relational.internal
1 parent c171b51 commit 64e5ef7

15 files changed

+171
-154
lines changed

hibernate-core/src/main/java/org/hibernate/boot/model/relational/ColumnOrderingStrategyStandard.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
import java.util.List;
1111

1212
import org.hibernate.boot.Metadata;
13-
import org.hibernate.dialect.Dialect;
1413
import org.hibernate.dialect.temptable.TemporaryTableColumn;
1514
import org.hibernate.engine.jdbc.Size;
1615
import org.hibernate.mapping.Column;
1716
import org.hibernate.mapping.Constraint;
1817
import org.hibernate.mapping.PrimaryKey;
1918
import org.hibernate.mapping.Table;
20-
import org.hibernate.mapping.UniqueKey;
2119
import org.hibernate.mapping.UserDefinedObjectType;
2220

2321
import static java.lang.Math.log;
@@ -48,7 +46,7 @@ public List<Column> orderConstraintColumns(Constraint constraint, Metadata metad
4846
// We try to find uniqueKey constraint containing only primary key.
4947
// This uniqueKey then orders primaryKey columns. Otherwise, order as usual.
5048
if ( constraint instanceof PrimaryKey primaryKey ) {
51-
final UniqueKey uniqueKey = primaryKey.getOrderingUniqueKey();
49+
final var uniqueKey = primaryKey.getOrderingUniqueKey();
5250
if ( uniqueKey != null ) {
5351
return uniqueKey.getColumns();
5452
}
@@ -77,7 +75,7 @@ protected ColumnComparator(Metadata metadata) {
7775

7876
@Override
7977
public int compare(Column o1, Column o2) {
80-
final Dialect dialect = metadata.getDatabase().getDialect();
78+
final var dialect = metadata.getDatabase().getDialect();
8179
final int physicalSizeInBytes1 = physicalSizeInBytes(
8280
o1.getSqlTypeCode( metadata ),
8381
o1.getColumnSize( dialect, metadata ),

hibernate-core/src/main/java/org/hibernate/boot/model/relational/Database.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ public Namespace.Name getPhysicalImplicitNamespaceName() {
138138
}
139139

140140
public Namespace locateNamespace(Identifier catalogName, Identifier schemaName) {
141-
final Namespace.Name name = new Namespace.Name( catalogName, schemaName );
142-
final Namespace namespace = namespaceMap.get( name );
141+
final var name = new Namespace.Name( catalogName, schemaName );
142+
final var namespace = namespaceMap.get( name );
143143
return namespace == null ? makeNamespace( name ) : namespace;
144144
}
145145

hibernate-core/src/main/java/org/hibernate/boot/model/relational/QualifiedNameParser.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public NameParts(Identifier catalogName, Identifier schemaName, Identifier objec
3838
}
3939

4040
private static String toQualifiedText(Identifier catalogName, Identifier schemaName, Identifier objectName) {
41-
final StringBuilder qualified = new StringBuilder();
41+
final var qualified = new StringBuilder();
4242
if ( catalogName != null ) {
4343
qualified.append( catalogName ).append( '.' );
4444
}
@@ -106,15 +106,9 @@ public NameParts parse(String text, Identifier defaultCatalog, Identifier defaul
106106
throw new IllegalIdentifierException( "Object name to parse must be specified, but found null" );
107107
}
108108

109-
final int quoteCharCount = StringHelper.count( text, "`" );
110-
final boolean wasQuotedInEntirety = quoteCharCount == 2 && text.startsWith( "`" ) && text.endsWith( "`" );
111-
112-
if ( wasQuotedInEntirety ) {
113-
return new NameParts(
114-
defaultCatalog,
115-
defaultSchema,
116-
Identifier.toIdentifier( unquote( text ), true )
117-
);
109+
if ( isQuotedInEntirety( text ) ) {
110+
return new NameParts( defaultCatalog, defaultSchema,
111+
Identifier.toIdentifier( unquote( text ), true ) );
118112
}
119113

120114
String catalogName = null;
@@ -171,12 +165,18 @@ else if ( defaultCatalog != null ) {
171165
}
172166

173167
return new NameParts(
174-
Identifier.toIdentifier( catalogName, wasQuotedInEntirety||catalogWasQuoted ),
175-
Identifier.toIdentifier( schemaName, wasQuotedInEntirety||schemaWasQuoted ),
176-
Identifier.toIdentifier( name, wasQuotedInEntirety||nameWasQuoted )
168+
Identifier.toIdentifier( catalogName, catalogWasQuoted ),
169+
Identifier.toIdentifier( schemaName, schemaWasQuoted ),
170+
Identifier.toIdentifier( name, nameWasQuoted )
177171
);
178172
}
179173

174+
private static boolean isQuotedInEntirety(String text) {
175+
return StringHelper.count( text, "`" ) == 2
176+
&& text.startsWith( "`" )
177+
&& text.endsWith( "`" );
178+
}
179+
180180
private static String unquote(String text) {
181181
return text.substring( 1, text.length() - 1 );
182182
}

hibernate-core/src/main/java/org/hibernate/boot/model/relational/Sequence.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,7 @@ public Sequence(
5656
int incrementSize,
5757
String options) {
5858
this.contributor = contributor;
59-
this.name = new QualifiedSequenceName(
60-
catalogName,
61-
schemaName,
62-
sequenceName
63-
);
59+
this.name = new QualifiedSequenceName( catalogName, schemaName, sequenceName );
6460
this.exportIdentifier = name.render();
6561
this.initialValue = initialValue;
6662
this.incrementSize = incrementSize;

hibernate-core/src/main/java/org/hibernate/boot/model/relational/SimpleAuxiliaryDatabaseObject.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import java.util.Set;
88

99
import org.hibernate.boot.model.naming.Identifier;
10-
import org.hibernate.internal.util.StringHelper;
10+
11+
import static org.hibernate.internal.util.StringHelper.replace;
1112

1213
/**
1314
* A simple implementation of {@link AbstractAuxiliaryDatabaseObject} in which the
@@ -144,10 +145,20 @@ protected String getSchemaName() {
144145
}
145146

146147
private String injectCatalogAndSchema(String ddlString, SqlStringGenerationContext context) {
147-
Identifier defaultedCatalogName = context.catalogWithDefault( catalogName == null ? null : context.toIdentifier( catalogName ) );
148-
Identifier defaultedSchemaName = context.schemaWithDefault( schemaName == null ? null : context.toIdentifier( schemaName ) );
149-
String rtn = StringHelper.replace( ddlString, CATALOG_NAME_PLACEHOLDER, defaultedCatalogName == null ? "" : defaultedCatalogName.getText() );
150-
rtn = StringHelper.replace( rtn, SCHEMA_NAME_PLACEHOLDER, defaultedSchemaName == null ? "" : defaultedSchemaName.getText() );
151-
return rtn;
148+
final Identifier defaultedCatalogName =
149+
context.catalogWithDefault( catalogName == null ? null
150+
: context.toIdentifier( catalogName ) );
151+
final Identifier defaultedSchemaName =
152+
context.schemaWithDefault( schemaName == null ? null
153+
: context.toIdentifier( schemaName ) );
154+
String result =
155+
replace( ddlString,
156+
CATALOG_NAME_PLACEHOLDER,
157+
defaultedCatalogName == null ? "" : defaultedCatalogName.getText() );
158+
result =
159+
replace( result,
160+
SCHEMA_NAME_PLACEHOLDER,
161+
defaultedSchemaName == null ? "" : defaultedSchemaName.getText() );
162+
return result;
152163
}
153164
}

hibernate-core/src/main/java/org/hibernate/boot/model/relational/internal/SqlStringGenerationContextImpl.java

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.hibernate.boot.model.relational.QualifiedTableName;
1515
import org.hibernate.boot.model.relational.SqlStringGenerationContext;
1616
import org.hibernate.cfg.AvailableSettings;
17+
import org.hibernate.cfg.MappingSettings;
1718
import org.hibernate.dialect.Dialect;
1819
import org.hibernate.engine.jdbc.env.spi.IdentifierHelper;
1920
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
@@ -33,8 +34,8 @@ public static SqlStringGenerationContext fromConfigurationMap(
3334
JdbcEnvironment jdbcEnvironment,
3435
Database database,
3536
Map<String, Object> configurationMap) {
36-
String defaultCatalog = (String) configurationMap.get( AvailableSettings.DEFAULT_CATALOG );
37-
String defaultSchema = (String) configurationMap.get( AvailableSettings.DEFAULT_SCHEMA );
37+
final String defaultCatalog = (String) configurationMap.get( MappingSettings.DEFAULT_CATALOG );
38+
final String defaultSchema = (String) configurationMap.get( MappingSettings.DEFAULT_SCHEMA );
3839
return create( jdbcEnvironment, database, defaultCatalog, defaultSchema, false );
3940
}
4041

@@ -48,8 +49,8 @@ public static SqlStringGenerationContext fromConfigurationMapForMigration(
4849
JdbcEnvironment jdbcEnvironment,
4950
Database database,
5051
Map<String, Object> configurationMap) {
51-
String defaultCatalog = (String) configurationMap.get( AvailableSettings.DEFAULT_CATALOG );
52-
String defaultSchema = (String) configurationMap.get( AvailableSettings.DEFAULT_SCHEMA );
52+
final String defaultCatalog = (String) configurationMap.get( MappingSettings.DEFAULT_CATALOG );
53+
final String defaultSchema = (String) configurationMap.get( MappingSettings.DEFAULT_SCHEMA );
5354
return create( jdbcEnvironment, database, defaultCatalog, defaultSchema, true );
5455
}
5556

@@ -74,27 +75,34 @@ private static SqlStringGenerationContext create(
7475
String defaultCatalog,
7576
String defaultSchema,
7677
boolean forMigration) {
77-
final Namespace.Name implicitNamespaceName = database.getPhysicalImplicitNamespaceName();
78-
final IdentifierHelper identifierHelper = jdbcEnvironment.getIdentifierHelper();
79-
final NameQualifierSupport nameQualifierSupport = jdbcEnvironment.getNameQualifierSupport();
80-
81-
Identifier actualDefaultCatalog = null;
82-
if ( nameQualifierSupport.supportsCatalogs() ) {
83-
actualDefaultCatalog = identifierHelper.toIdentifier( defaultCatalog );
84-
if ( actualDefaultCatalog == null ) {
85-
actualDefaultCatalog = implicitNamespaceName.catalog();
86-
}
87-
}
78+
final var implicitNamespaceName = database.getPhysicalImplicitNamespaceName();
79+
final var identifierHelper = jdbcEnvironment.getIdentifierHelper();
80+
final var nameQualifierSupport = jdbcEnvironment.getNameQualifierSupport();
81+
final Identifier actualDefaultCatalog =
82+
actualDefaultCatalog( defaultCatalog, nameQualifierSupport, identifierHelper, implicitNamespaceName );
83+
final Identifier actualDefaultSchema =
84+
actualDefaultSchema( defaultSchema, nameQualifierSupport, identifierHelper, implicitNamespaceName );
85+
return new SqlStringGenerationContextImpl( jdbcEnvironment, actualDefaultCatalog, actualDefaultSchema, forMigration );
86+
}
8887

89-
Identifier actualDefaultSchema = null;
88+
private static Identifier actualDefaultSchema(String defaultSchema, NameQualifierSupport nameQualifierSupport, IdentifierHelper identifierHelper, Namespace.Name implicitNamespaceName) {
9089
if ( nameQualifierSupport.supportsSchemas() ) {
91-
actualDefaultSchema = identifierHelper.toIdentifier( defaultSchema );
92-
if ( defaultSchema == null ) {
93-
actualDefaultSchema = implicitNamespaceName.schema();
94-
}
90+
Identifier actualDefaultSchema = identifierHelper.toIdentifier( defaultSchema );
91+
return actualDefaultSchema == null ? implicitNamespaceName.schema() : actualDefaultSchema;
92+
}
93+
else {
94+
return null;
9595
}
96+
}
9697

97-
return new SqlStringGenerationContextImpl( jdbcEnvironment, actualDefaultCatalog, actualDefaultSchema, forMigration );
98+
private static Identifier actualDefaultCatalog(String defaultCatalog, NameQualifierSupport nameQualifierSupport, IdentifierHelper identifierHelper, Namespace.Name implicitNamespaceName) {
99+
if ( nameQualifierSupport.supportsCatalogs() ) {
100+
final Identifier actualDefaultCatalog = identifierHelper.toIdentifier( defaultCatalog );
101+
return actualDefaultCatalog == null ? implicitNamespaceName.catalog() : actualDefaultCatalog;
102+
}
103+
else {
104+
return null;
105+
}
98106
}
99107

100108
public static SqlStringGenerationContext forTests(JdbcEnvironment jdbcEnvironment) {
@@ -123,12 +131,12 @@ private SqlStringGenerationContextImpl(
123131
Identifier defaultCatalog,
124132
Identifier defaultSchema,
125133
boolean migration) {
126-
this.dialect = jdbcEnvironment.getDialect();
127-
this.identifierHelper = jdbcEnvironment.getIdentifierHelper();
128-
this.qualifiedObjectNameFormatter = jdbcEnvironment.getQualifiedObjectNameFormatter();
129134
this.defaultCatalog = defaultCatalog;
130135
this.defaultSchema = defaultSchema;
131136
this.migration = migration;
137+
dialect = jdbcEnvironment.getDialect();
138+
identifierHelper = jdbcEnvironment.getIdentifierHelper();
139+
qualifiedObjectNameFormatter = jdbcEnvironment.getQualifiedObjectNameFormatter();
132140
}
133141

134142
@Override
@@ -138,7 +146,9 @@ public Dialect getDialect() {
138146

139147
@Override
140148
public Identifier toIdentifier(String text) {
141-
return identifierHelper != null ? identifierHelper.toIdentifier( text ) : Identifier.toIdentifier( text );
149+
return identifierHelper != null
150+
? identifierHelper.toIdentifier( text )
151+
: Identifier.toIdentifier( text );
142152
}
143153

144154
@Override
@@ -168,16 +178,21 @@ public String format(QualifiedName qualifiedName) {
168178

169179
@Override
170180
public String formatWithoutCatalog(QualifiedSequenceName qualifiedName) {
171-
QualifiedSequenceName nameToFormat;
181+
return qualifiedObjectNameFormatter.format( nameToFormat( qualifiedName ), dialect );
182+
}
183+
184+
private QualifiedSequenceName nameToFormat(QualifiedSequenceName qualifiedName) {
172185
if ( qualifiedName.getCatalogName() != null
173186
|| qualifiedName.getSchemaName() == null && defaultSchema != null ) {
174-
nameToFormat = new QualifiedSequenceName( null,
175-
schemaWithDefault( qualifiedName.getSchemaName() ), qualifiedName.getSequenceName() );
187+
return new QualifiedSequenceName(
188+
null,
189+
schemaWithDefault( qualifiedName.getSchemaName() ),
190+
qualifiedName.getSequenceName()
191+
);
176192
}
177193
else {
178-
nameToFormat = qualifiedName;
194+
return qualifiedName;
179195
}
180-
return qualifiedObjectNameFormatter.format( nameToFormat, dialect );
181196
}
182197

183198
@Override

hibernate-core/src/main/java/org/hibernate/persister/entity/ExplicitSqlStringGenerationContext.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,21 @@ public String format(QualifiedName qualifiedName) {
8484

8585
@Override
8686
public String formatWithoutCatalog(QualifiedSequenceName qualifiedName) {
87-
QualifiedSequenceName nameToFormat;
87+
return nameFormater().format( nameToFormat( qualifiedName ), getDialect() );
88+
}
89+
90+
private QualifiedSequenceName nameToFormat(QualifiedSequenceName qualifiedName) {
8891
if ( qualifiedName.getCatalogName() != null
8992
|| qualifiedName.getSchemaName() == null && defaultSchema != null ) {
90-
nameToFormat = new QualifiedSequenceName( null,
91-
schemaWithDefault( qualifiedName.getSchemaName() ), qualifiedName.getSequenceName() );
93+
return new QualifiedSequenceName(
94+
null,
95+
schemaWithDefault( qualifiedName.getSchemaName() ),
96+
qualifiedName.getSequenceName()
97+
);
9298
}
9399
else {
94-
nameToFormat = qualifiedName;
100+
return qualifiedName;
95101
}
96-
return nameFormater().format( nameToFormat, getDialect() );
97102
}
98103

99104
@Override

hibernate-core/src/main/java/org/hibernate/tool/schema/extract/internal/AbstractInformationExtractorImpl.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
import org.hibernate.JDBCException;
2020
import org.hibernate.boot.model.naming.Identifier;
2121
import org.hibernate.boot.model.relational.QualifiedTableName;
22-
import org.hibernate.cfg.AvailableSettings;
2322
import org.hibernate.dialect.DB2Dialect;
2423
import org.hibernate.dialect.Dialect;
2524
import org.hibernate.engine.config.spi.ConfigurationService;
2625
import org.hibernate.engine.config.spi.StandardConverters;
2726
import org.hibernate.engine.jdbc.env.spi.IdentifierHelper;
2827
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
2928
import org.hibernate.engine.jdbc.env.spi.NameQualifierSupport;
29+
import org.hibernate.tool.schema.extract.internal.ForeignKeyInformationImpl.ColumnReferenceMappingImpl;
3030
import org.hibernate.tool.schema.extract.spi.ColumnInformation;
3131
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
3232
import org.hibernate.tool.schema.extract.spi.ForeignKeyInformation;
@@ -40,6 +40,7 @@
4040

4141
import static java.util.Collections.addAll;
4242
import static org.hibernate.boot.model.naming.DatabaseIdentifier.toIdentifier;
43+
import static org.hibernate.cfg.SchemaToolingSettings.ENABLE_SYNONYMS;
4344
import static org.hibernate.cfg.SchemaToolingSettings.EXTRA_PHYSICAL_TABLE_TYPES;
4445
import static org.hibernate.engine.jdbc.spi.SQLExceptionLogging.ERROR_LOG;
4546
import static org.hibernate.internal.CoreMessageLogger.CORE_LOGGER;
@@ -92,7 +93,8 @@ public AbstractInformationExtractorImpl(ExtractionContext extractionContext) {
9293
private String[] getPhysicalTableTypes(String extraPhysicalTableTypesConfig, Dialect dialect) {
9394
final List<String> physicalTableTypesList = new ArrayList<>();
9495
if ( !isBlank( extraPhysicalTableTypesConfig ) ) {
95-
addAll( physicalTableTypesList, splitTrimmingTokens( ",;", extraPhysicalTableTypesConfig, false ) );
96+
addAll( physicalTableTypesList,
97+
splitTrimmingTokens( ",;", extraPhysicalTableTypesConfig, false ) );
9698
}
9799
dialect.augmentPhysicalTableTypes( physicalTableTypesList );
98100
return physicalTableTypesList.toArray( EMPTY_STRINGS );
@@ -102,7 +104,7 @@ private String[] getTableTypes(ConfigurationService configService, Dialect diale
102104
final List<String> tableTypesList = new ArrayList<>();
103105
tableTypesList.add( "TABLE" );
104106
tableTypesList.add( "VIEW" );
105-
if ( getBoolean( AvailableSettings.ENABLE_SYNONYMS, configService.getSettings() ) ) {
107+
if ( getBoolean( ENABLE_SYNONYMS, configService.getSettings() ) ) {
106108
if ( dialect instanceof DB2Dialect ) { //TODO: should not use Dialect types directly!
107109
tableTypesList.add( "ALIAS" );
108110
}
@@ -1355,7 +1357,7 @@ public ForeignKeyBuilderImpl(Identifier foreignKeyIdentifier) {
13551357

13561358
@Override
13571359
public ForeignKeyBuilder addColumnMapping(ColumnInformation referencing, ColumnInformation referenced) {
1358-
columnMappingList.add( new ForeignKeyInformationImpl.ColumnReferenceMappingImpl( referencing, referenced ) );
1360+
columnMappingList.add( new ColumnReferenceMappingImpl( referencing, referenced ) );
13591361
return this;
13601362
}
13611363

0 commit comments

Comments
 (0)