8000 code cleanups in AnnotatedColumn · hibernate/hibernate-orm@a95ceb1 · GitHub
[go: up one dir, main page]

Skip to content

Commit a95ceb1

Browse files
committed
code cleanups in AnnotatedColumn
1 parent 184bc3d commit a95ceb1

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

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

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.hibernate.boot.model.naming.ImplicitBasicColumnNameSource;
2121
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
2222
import org.hibernate.boot.model.naming.ObjectNameNormalizer;
23+
import org.hibernate.boot.model.naming.PhysicalNamingStrategy;
2324
import org.hibernate.boot.model.relational.Database;
2425
import org.hibernate.boot.model.source.spi.AttributePath;
2526
import org.hibernate.boot.spi.InFlightMetadataCollector;
@@ -342,19 +343,15 @@ public boolean isNameDeferred() {
342343
}
343344

344345
public void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy) {
345-
if ( StringHelper.isEmpty( columnName ) && StringHelper.isEmpty( propertyName ) ) {
346-
// nothing to do
347-
return;
346+
if ( !isEmpty( columnName ) || !isEmpty( propertyName ) ) {
347+
final String logicalColumnName = resolveLogicalColumnName( columnName, propertyName );
348+
mappingColumn.setName( processColumnName( logicalColumnName, applyNamingStrategy ) );
348349
}
349-
final String logicalColumnName = resolveLogicalColumnName( columnName, propertyName );
350-
mappingColumn.setName( processColumnName( logicalColumnName, applyNamingStrategy ) );
350+
// else nothing to do
351351
}
352352

353353
private String resolveLogicalColumnName(String columnName, String propertyName) {
354-
final String baseColumnName = StringHelper.isNotEmpty( columnName )
355-
? columnName
356-
: inferColumnName( propertyName );
357-
354+
final String baseColumnName = isNotEmpty( columnName ) ? columnName : inferColumnName( propertyName );
358355
if ( parent.getPropertyHolder() != null && parent.getPropertyHolder().isComponent() ) {
359356
// see if we need to apply one-or-more @EmbeddedColumnNaming patterns
360357
return applyEmbeddedColumnNaming( baseColumnName, (ComponentPropertyHolder) parent.getPropertyHolder() );
@@ -370,7 +367,7 @@ private String applyEmbeddedColumnNaming(String inferredColumnName, ComponentPro
370367
boolean appliedAnyPatterns = false;
371368

372369
final String columnNamingPattern = propertyHolder.getComponent().getColumnNamingPattern();
373-
if ( StringHelper.isNotEmpty( columnNamingPattern ) ) {
370+
if ( isNotEmpty( columnNamingPattern ) ) {
374371
// zip_code
375372
result = String.format( columnNamingPattern, result );
376373
appliedAnyPatterns = true;
@@ -380,7 +377,7 @@ private String applyEmbeddedColumnNaming(String inferredColumnName, ComponentPro
380377
while ( tester.parent.isComponent() ) {
381378
final ComponentPropertyHolder parentHolder = (ComponentPropertyHolder) tester.parent;
382379
final String parentColumnNamingPattern = parentHolder.getComponent().getColumnNamingPattern();
383-
if ( StringHelper.isNotEmpty( parentColumnNamingPattern ) ) {
380+
if ( isNotEmpty( parentColumnNamingPattern ) ) {
384381
// home_zip_code
385382
result = String.format( parentColumnNamingPattern, result );
386383
appliedAnyPatterns = true;
@@ -398,24 +395,19 @@ private String applyEmbeddedColumnNaming(String inferredColumnName, ComponentPro
398395

399396
protected String processColumnName(String columnName, boolean applyNamingStrategy) {
400397
if ( applyNamingStrategy ) {
401-
final Database database = getBuildingContext().getMetadataCollector().getDatabase();
402-
return getBuildingContext().getBuildingOptions().getPhysicalNamingStrategy()
398+
final Database database = getDatabase();
399+
return getPhysicalNamingStrategy()
403400
.toPhysicalColumnName( database.toIdentifier( columnName ), database.getJdbcEnvironment() )
404401
.render( database.getDialect() );
405402
}
406403
else {
407-
return getBuildingContext().getObjectNameNormalizer().toDatabaseIdentifierText( columnName );
404+
return getObjectNameNormalizer().toDatabaseIdentifierText( columnName );
408405
}
409-
410406
}
411407

412408
protected String inferColumnName(String propertyName) {
413-
final Database database = getBuildingContext().getMetadataCollector().getDatabase();
414-
final ObjectNameNormalizer normalizer = getBuildingContext().getObjectNameNormalizer();
415-
final ImplicitNamingStrategy implicitNamingStrategy = getBuildingContext().getBuildingOptions().getImplicitNamingStrategy();
416-
417-
Identifier implicitName = normalizer.normalizeIdentifierQuoting(
418-
implicitNamingStrategy.determineBasicColumnName(
409+
Identifier implicitName = getObjectNameNormalizer().normalizeIdentifierQuoting(
410+
getImplicitNamingStrategy().determineBasicColumnName(
419411
new ImplicitBasicColumnNameSource() {
420412
final AttributePath attributePath = AttributePath.parse( propertyName );
421413

@@ -448,11 +440,28 @@ public MetadataBuildingContext getBuildingContext() {
448440
);
449441
}
450442

451-
return getBuildingContext().getBuildingOptions().getPhysicalNamingStrategy()
443+
final Database database = getDatabase();
444+
return getPhysicalNamingStrategy()
452445
.toPhysicalColumnName( implicitName, database.getJdbcEnvironment() )
453446
.render( database.getDialect() );
454447
}
455448

449+
private ObjectNameNormalizer getObjectNameNormalizer() {
450+
return getBuildingContext().getObjectNameNormalizer();
451+
}
452+
453+
private Database getDatabase() {
454+
return getBuildingContext().getMetadataCollector().getDatabase();
455+
}
456+
457+
private PhysicalNamingStrategy getPhysicalNamingStrategy() {
458+
return getBuildingContext().getBuildingOptions().getPhysicalNamingStrategy();
459+
}
460+
461+
private ImplicitNamingStrategy getImplicitNamingStrategy() {
462+
return getBuildingContext().getBuildingOptions().getImplicitNamingStrategy();
463+
}
464+
456465
public String getName() {
457466
return mappingColumn.getName();
458467
}
@@ -503,14 +512,12 @@ public void linkWithValue(SimpleValue value) {
503512

504513
protected void addColumnBinding(SimpleValue value) {
505514
final String logicalColumnName;
506-
final MetadataBuildingContext context = getBuildingContext();
507-
final InFlightMetadataCollector collector = context.getMetadataCollector();
508515
if ( isNotEmpty( this.logicalColumnName ) ) {
509516
logicalColumnName = this.logicalColumnName;
510517
}
511518
else {
512-
final Identifier implicitName = context.getObjectNameNormalizer().normalizeIdentifierQuoting(
513-
context.getBuildingOptions().getImplicitNamingStrategy().determineBasicColumnName(
519+
final Identifier implicitName = getObjectNameNormalizer().normalizeIdentifierQuoting(
520+
getImplicitNamingStrategy().determineBasicColumnName(
514521
new ImplicitBasicColumnNameSource() {
515522
@Override
516523
public AttributePath getAttributePath() {
@@ -524,14 +531,15 @@ public boolean isCollectionElement() {
524531

525532
@Override
526533
public MetadataBuildingContext getBuildingContext() {
527-
return context;
534+
return AnnotatedColumn.this.getBuildingContext();
528535
}
529536
}
530537
)
531538
);
532-
logicalColumnName = implicitName.render( collector.getDatabase().getDialect() );
539+
logicalColumnName = implicitName.render( getDatabase().getDialect() );
533540
}
534-
collector.addColumnNameBinding( value.getTable(), logicalColumnName, getMappingColumn() );
541+
getBuildingContext().getMetadataCollector()
542+
.addColumnNameBinding( value.getTable(), logicalColumnName, getMappingColumn() );
535543
}
536544

537545
public void forceNotNull() {

0 commit comments

Comments
 (0)
0