Skip to content

Commit 6722fd6

Browse files
committed
HBX-2873: Replace use of deprecated classes 'org.hibernate.cfg.NamingStrategy' and 'org.hibernate.cfg.DefaultNamingStrategy'
Signed-off-by: Koen Aers <[email protected]>
1 parent 00609ea commit 6722fd6

File tree

12 files changed

+113
-94
lines changed

12 files changed

+113
-94
lines changed

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/factory/ConfigurationWrapperFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import java.util.Map;
66
import java.util.Properties;
77

8+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
89
import org.hibernate.cfg.Configuration;
9-
import org.hibernate.cfg.NamingStrategy;
1010
import org.hibernate.mapping.PersistentClass;
1111
import org.hibernate.mapping.Table;
1212
import org.hibernate.tool.api.reveng.RevengStrategy;
@@ -89,7 +89,7 @@ public void setEntityResolver(EntityResolver entityResolver) {
8989
@Override
9090
public void setNamingStrategy(NamingStrategyWrapper namingStrategyWrapper) {
9191
if (wrappedConfiguration instanceof ExtendedConfiguration) {
92-
((ExtendedConfiguration)wrappedConfiguration).setNamingStrategy((NamingStrategy)namingStrategyWrapper.getWrappedObject());
92+
((ExtendedConfiguration)wrappedConfiguration).setNamingStrategy((ImplicitNamingStrategy)namingStrategyWrapper.getWrappedObject());
9393
}
9494
}
9595

@@ -192,7 +192,7 @@ public PersistentClassWrapper getClassMapping(String string) {
192192

193193
@Override
194194
public NamingStrategyWrapper getNamingStrategy() {
195-
NamingStrategy namingStrategy = null;
195+
ImplicitNamingStrategy namingStrategy = null;
196196
if (wrappedConfiguration instanceof ExtendedConfiguration) {
197197
namingStrategy = ((ExtendedConfiguration)wrappedConfiguration).getNamingStrategy();
198198
}

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/factory/NamingStrategyWrapperFactory.java

Lines changed: 59 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,40 @@
11
package org.hibernate.tool.orm.jbt.internal.factory;
22

3-
import org.hibernate.cfg.NamingStrategy;
3+
import org.hibernate.boot.model.naming.EntityNaming;
4+
import org.hibernate.boot.model.naming.Identifier;
5+
import org.hibernate.boot.model.naming.ImplicitBasicColumnNameSource;
6+
import org.hibernate.boot.model.naming.ImplicitCollectionTableNameSource;
7+
import org.hibernate.boot.model.naming.ImplicitEntityNameSource;
8+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
9+
import org.hibernate.boot.model.naming.ImplicitPrimaryKeyJoinColumnNameSource;
10+
import org.hibernate.boot.model.source.spi.AttributePath;
11+
import org.hibernate.boot.spi.MetadataBuildingContext;
412
import org.hibernate.tool.orm.jbt.api.wrp.NamingStrategyWrapper;
513
import org.hibernate.tool.orm.jbt.internal.util.ReflectUtil;
614
import org.hibernate.tool.orm.jbt.internal.wrp.AbstractWrapper;
715

816
public class NamingStrategyWrapperFactory {
917

1018
public static NamingStrategyWrapper createNamingStrategyWrapper(String className) {
11-
return createNamingStrategyWrapper((NamingStrategy)ReflectUtil.createInstance(className));
19+
return createNamingStrategyWrapper((ImplicitNamingStrategy)ReflectUtil.createInstance(className));
1220
}
1321

14-
static NamingStrategyWrapper createNamingStrategyWrapper(NamingStrategy wrappedNamingStrategy) {
22+
static NamingStrategyWrapper createNamingStrategyWrapper(ImplicitNamingStrategy wrappedNamingStrategy) {
1523
return new NamingStrategyWrapperImpl(wrappedNamingStrategy);
1624
}
1725

1826
private static class NamingStrategyWrapperImpl
1927
extends AbstractWrapper
2028
implements NamingStrategyWrapper {
2129

22-
private NamingStrategy namingStrategy = null;
30+
private ImplicitNamingStrategy namingStrategy = null;
2331

24-
private NamingStrategyWrapperImpl(NamingStrategy namingStrategy) {
32+
private NamingStrategyWrapperImpl(ImplicitNamingStrategy namingStrategy) {
2533
this.namingStrategy = namingStrategy;
2634
}
2735

2836
@Override
29-
public NamingStrategy getWrappedObject() {
37+
public ImplicitNamingStrategy getWrappedObject() {
3038
return namingStrategy;
3139
}
3240

@@ -37,41 +45,69 @@ public String collectionTableName(
3745
String associatedEntity,
3846
String associatedEntityTable,
3947
String propertyName) {
40-
return ((NamingStrategy)getWrappedObject()).collectionTableName(
41-
ownerEntity,
42-
ownerEntityTable,
43-
associatedEntity,
44-
associatedEntityTable,
45-
propertyName);
48+
ImplicitCollectionTableNameSource ictns = new ImplicitCollectionTableNameSource() {
49+
@Override public MetadataBuildingContext getBuildingContext() { return null; }
50+
@Override public Identifier getOwningPhysicalTableName() { return Identifier.toIdentifier(ownerEntityTable); }
51+
@Override public AttributePath getOwningAttributePath() { return AttributePath.parse(propertyName); }
52+
@Override
53+
public EntityNaming getOwningEntityNaming() {
54+
return new EntityNaming() {
55+
@Override public String getJpaEntityName() { return ownerEntity; }
56+
@Override public String getEntityName() { return ownerEntity; }
57+
@Override public String getClassName() { return ownerEntity; }
58+
};
59+
}
60+
};
61+
return ((ImplicitNamingStrategy)getWrappedObject()).determineCollectionTableName(ictns).getText();
4662
}
4763

4864
@Override
4965
public String columnName(String name) {
50-
return ((NamingStrategy)getWrappedObject()).columnName(name);
66+
ImplicitBasicColumnNameSource ibcns = new ImplicitBasicColumnNameSource() {
67+
@Override public MetadataBuildingContext getBuildingContext() { return null; }
68+
@Override public AttributePath getAttributePath() { return AttributePath.parse(name); }
69+
@Override public boolean isCollectionElement() { return false; }
70+
};
71+
return ((ImplicitNamingStrategy)getWrappedObject()).determineBasicColumnName(ibcns).getText();
5172
}
5273

5374
@Override
5475
public String propertyToColumnName(String name) {
55-
return ((NamingStrategy)getWrappedObject()).propertyToColumnName(name);
76+
return columnName(name);
5677
}
5778

5879
@Override
5980
public String tableName(String name) {
60-
return ((NamingStrategy)getWrappedObject()).tableName(name);
81+
ImplicitEntityNameSource iens = new ImplicitEntityNameSource() {
82+
@Override public MetadataBuildingContext getBuildingContext() { return null; }
83+
@Override
84+
public EntityNaming getEntityNaming() {
85+
return new EntityNaming() {
86+
@Override public String getJpaEntityName() { return name; }
87+
@Override public String getEntityName() { return name; }
88+
@Override public String getClassName() { return name; }
89+
};
90+
}
91+
};
92+
return ((ImplicitNamingStrategy)getWrappedObject()).determinePrimaryTableName(iens).getText();
93+
}
94+
95+
@Override
96+
public String classToTableName(String name) {
97+
return tableName(name);
6198
}
6299

63100
@Override
64101
public String joinKeyColumnName(
65102
String primaryKeyColumnName,
66103
String primaryTableName) {
67-
return ((NamingStrategy)getWrappedObject()).joinKeyColumnName(
68-
primaryKeyColumnName,
69-
primaryTableName);
70-
}
71-
72-
@Override
73-
public String classToTableName(String name) {
74-
return ((NamingStrategy)getWrappedObject()).classToTableName(name);
104+
ImplicitPrimaryKeyJoinColumnNameSource ipkjcns = new ImplicitPrimaryKeyJoinColumnNameSource() {
105+
@Override public MetadataBuildingContext getBuildingContext() { return null; }
106+
@Override public Identifier getReferencedTableName() { return Identifier.toIdentifier(primaryTableName); }
107+
@Override public Identifier getReferencedPrimaryKeyColumnName() { return Identifier.toIdentifier(primaryKeyColumnName); }
108+
};
109+
return ((ImplicitNamingStrategy)getWrappedObject()).determinePrimaryKeyJoinColumnName(ipkjcns).getText();
110+
75111
}
76112

77113
@Override

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/util/ExtendedConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import java.util.Iterator;
44

5+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
56
import org.hibernate.cfg.Configuration;
6-
import org.hibernate.cfg.NamingStrategy;
77
import org.hibernate.mapping.PersistentClass;
88
import org.hibernate.mapping.Table;
99
import org.hibernate.tool.api.reveng.RevengStrategy;
@@ -14,7 +14,7 @@ public interface ExtendedConfiguration {
1414

1515
void setEntityResolver(EntityResolver entityResolver);
1616

17-
void setNamingStrategy(NamingStrategy namingStrategy);
17+
void setNamingStrategy(ImplicitNamingStrategy namingStrategy);
1818

1919
Configuration configure(Document document);
2020

@@ -30,7 +30,7 @@ public interface ExtendedConfiguration {
3030

3131
PersistentClass getClassMapping(String string);
3232

33-
NamingStrategy getNamingStrategy();
33+
ImplicitNamingStrategy getNamingStrategy();
3434

3535
EntityResolver getEntityResolver();
3636

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/util/JpaConfiguration.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@
77

88
import org.hibernate.SessionFactory;
99
import org.hibernate.boot.Metadata;
10+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
1011
import org.hibernate.cfg.Configuration;
11-
import org.hibernate.cfg.NamingStrategy;
12-
import org.hibernate.engine.spi.SessionFactoryImplementor;
1312
import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl;
1413
import org.hibernate.mapping.PersistentClass;
1514
import org.hibernate.mapping.Table;
1615
import org.hibernate.tool.api.reveng.RevengStrategy;
17-
import org.hibernate.tool.orm.jbt.api.wrp.SessionFactoryWrapper;
18-
import org.hibernate.tool.orm.jbt.internal.factory.SessionFactoryWrapperFactory;
1916
import org.w3c.dom.Document;
2017
import org.xml.sax.EntityResolver;
2118

@@ -111,7 +108,7 @@ public void setEntityResolver(EntityResolver entityResolver) {
111108
this.getClass().getName());
112109
}
113110

114-
public void setNamingStrategy(NamingStrategy namingStrategy) {
111+
public void setNamingStrategy(ImplicitNamingStrategy namingStrategy) {
115112
throw new RuntimeException(
116113
"Method 'setNamingStrategy' should not be called on instances of " +
117114
this.getClass().getName());
@@ -145,7 +142,7 @@ public Iterator<Table> getTableMappings() {
145142
return getMetadata().collectTableMappings().iterator();
146143
}
147144

148-
public NamingStrategy getNamingStrategy() {
145+
public ImplicitNamingStrategy getNamingStrategy() {
149146
throw new RuntimeException(
150147
"Method 'getNamingStrategy' should not be called on instances of " +
151148
this.getClass().getName());

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/util/NativeConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
import org.hibernate.boot.Metadata;
1616
import org.hibernate.boot.MetadataSources;
17+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
1718
import org.hibernate.cfg.Configuration;
18-
import org.hibernate.cfg.NamingStrategy;
1919
import org.hibernate.mapping.PersistentClass;
2020
import org.hibernate.mapping.Table;
2121
import org.hibernate.tool.api.reveng.RevengStrategy;
@@ -28,7 +28,7 @@ public class NativeConfiguration extends Configuration implements ExtendedConfig
2828
private EntityResolver entityResolver = null;
2929

3030
@SuppressWarnings("unused")
31-
private NamingStrategy namingStrategy = null;
31+
private ImplicitNamingStrategy namingStrategy = null;
3232

3333
private Metadata metadata = null;
3434

@@ -44,7 +44,7 @@ public EntityResolver getEntityResolver() {
4444
return entityResolver;
4545
}
4646

47-
public void setNamingStrategy(NamingStrategy namingStrategy) {
47+
public void setNamingStrategy(ImplicitNamingStrategy namingStrategy) {
4848
// The method Configuration.setNamingStrategy() is not supported
4949
// anymore from Hibernate 5+.
5050
// Naming strategies can be configured using the
@@ -53,7 +53,7 @@ public void setNamingStrategy(NamingStrategy namingStrategy) {
5353
this.namingStrategy = namingStrategy;
5454
}
5555

56-
public NamingStrategy getNamingStrategy() {
56+
public ImplicitNamingStrategy getNamingStrategy() {
5757
// This method is not supported anymore from Hibernate 5+
5858
// Returning the cached NamingStrategy for bookkeeping purposes
5959
return namingStrategy;

jbt/src/main/java/org/hibernate/tool/orm/jbt/internal/util/RevengConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import org.hibernate.SessionFactory;
88
import org.hibernate.boot.Metadata;
9+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
910
import org.hibernate.cfg.Configuration;
10-
import org.hibernate.cfg.NamingStrategy;
1111
import org.hibernate.mapping.PersistentClass;
1212
import org.hibernate.mapping.Table;
1313
import org.hibernate.tool.api.metadata.MetadataConstants;
@@ -93,7 +93,7 @@ public void setEntityResolver(EntityResolver entityResolver) {
9393
this.getClass().getName());
9494
}
9595

96-
public void setNamingStrategy(NamingStrategy namingStrategy) {
96+
public void setNamingStrategy(ImplicitNamingStrategy namingStrategy) {
9797
throw new RuntimeException(
9898
"Method 'setNamingStrategy' should not be called on instances of " +
9999
this.getClass().getName());
@@ -129,7 +129,7 @@ public SessionFactory buildSessionFactory() {
129129
this.getClass().getName());
130130
}
131131

132-
public NamingStrategy getNamingStrategy() {
132+
public ImplicitNamingStrategy getNamingStrategy() {
133133
throw new RuntimeException(
134134
"Method 'getNamingStrategy' should not be called on instances of " +
135135
this.getClass().getName());

jbt/src/test/java/org/hibernate/tool/orm/jbt/api/factory/WrapperFactoryTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import java.util.Properties;
1414

1515
import org.hibernate.boot.Metadata;
16+
import org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl;
1617
import org.hibernate.cfg.Configuration;
17-
import org.hibernate.cfg.DefaultNamingStrategy;
1818
import org.hibernate.mapping.Any;
1919
import org.hibernate.mapping.Array;
2020
import org.hibernate.mapping.Bag;
@@ -101,11 +101,11 @@ public void testCreateCfg2HbmWrapper() {
101101

102102
@Test
103103
public void testCreateNamingStrategyWrapper() {
104-
Object namingStrategyWrapper = WrapperFactory.createNamingStrategyWrapper(DefaultNamingStrategy.class.getName());
104+
Object namingStrategyWrapper = WrapperFactory.createNamingStrategyWrapper(ImplicitNamingStrategyJpaCompliantImpl.class.getName());
105105
assertNotNull(namingStrategyWrapper);
106106
assertTrue(namingStrategyWrapper instanceof NamingStrategyWrapper);
107107
Object wrappedNamingStrategy = ((NamingStrategyWrapper)namingStrategyWrapper).getWrappedObject();
108-
assertTrue(wrappedNamingStrategy instanceof DefaultNamingStrategy);
108+
assertTrue(wrappedNamingStrategy instanceof ImplicitNamingStrategyJpaCompliantImpl);
109109
namingStrategyWrapper = null;
110110
assertNull(namingStrategyWrapper);
111111
try {
@@ -504,9 +504,6 @@ public void testCreateHqlCodeAssistWrapper() throws Exception {
504504

505505
}
506506

507-
@SuppressWarnings("serial")
508-
public static class TestNamingStrategy extends DefaultNamingStrategy {}
509-
510507
public static class TestRevengStrategy extends DefaultStrategy {}
511508
public static class TestDelegatingStrategy extends DelegatingStrategy {
512509
public TestDelegatingStrategy(RevengStrategy delegate) {

jbt/src/test/java/org/hibernate/tool/orm/jbt/api/wrp/ConfigurationWrapperTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
import org.hibernate.boot.Metadata;
2828
import org.hibernate.boot.MetadataSources;
2929
import org.hibernate.boot.jaxb.spi.Binding;
30+
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
31+
import org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl;
3032
import org.hibernate.cfg.AvailableSettings;
31-
import org.hibernate.cfg.DefaultNamingStrategy;
32-
import org.hibernate.cfg.NamingStrategy;
3333
import org.hibernate.mapping.PersistentClass;
3434
import org.hibernate.tool.api.reveng.RevengStrategy;
3535
import org.hibernate.tool.orm.jbt.internal.factory.ConfigurationWrapperFactory;
@@ -251,8 +251,8 @@ public void testSetEntityResolver() throws Exception {
251251
@Test
252252
public void testSetNamingStrategy() throws Exception {
253253
NamingStrategyWrapper namingStrategyWrapper =
254-
NamingStrategyWrapperFactory.createNamingStrategyWrapper(DefaultNamingStrategy.class.getName());
255-
NamingStrategy namingStrategy = (NamingStrategy)namingStrategyWrapper.getWrappedObject();
254+
NamingStrategyWrapperFactory.createNamingStrategyWrapper(ImplicitNamingStrategyJpaCompliantImpl.class.getName());
255+
ImplicitNamingStrategy namingStrategy = (ImplicitNamingStrategy)namingStrategyWrapper.getWrappedObject();
256256
// For native configuration
257257
Field namingStrategyField = wrappedNativeConfiguration.getClass().getDeclaredField("namingStrategy");
258258
namingStrategyField.setAccessible(true);
@@ -739,7 +739,7 @@ public void testGetClassMapping() throws Exception {
739739
@Test
740740
public void testGetNamingStrategy() {
741741
// For native configuration
742-
NamingStrategy namingStrategy = new DefaultNamingStrategy();
742+
ImplicitNamingStrategy namingStrategy = new ImplicitNamingStrategyJpaCompliantImpl();
743743
assertNull(nativeConfigurationWrapper.getNamingStrategy());
744744
((NativeConfiguration)wrappedNativeConfiguration).setNamingStrategy(namingStrategy);
745745
assertSame(nativeConfigurationWrapper.getNamingStrategy().getWrappedObject(), namingStrategy);

0 commit comments

Comments
 (0)