HHH-16912 return null from deprecated method instead of producing a CCE

This is a band-aid over an error occurring in Liquibase. But it seems to
me that Liquibase itself should be updated to use the new APIs.
This commit is contained in:
Gavin King 2023-07-19 00:44:04 +02:00 committed by Steve Ebersole
parent 75d834efe9
commit 7c378847cb
1 changed files with 10 additions and 2 deletions

View File

@ -36,6 +36,9 @@ public interface KeyValue extends Value {
/** /**
* @deprecated Use {@link #createGenerator(IdentifierGeneratorFactory, Dialect, RootClass)} instead. * @deprecated Use {@link #createGenerator(IdentifierGeneratorFactory, Dialect, RootClass)} instead.
*
* @return {@code null} if the {@code Generator} returned by {@link #createGenerator} is not an instance
* of {@link IdentifierGenerator}.
*/ */
@Deprecated(since="6.2") @Deprecated(since="6.2")
default IdentifierGenerator createIdentifierGenerator( default IdentifierGenerator createIdentifierGenerator(
@ -44,18 +47,23 @@ public interface KeyValue extends Value {
String defaultCatalog, String defaultCatalog,
String defaultSchema, String defaultSchema,
RootClass rootClass) { RootClass rootClass) {
return (IdentifierGenerator) createGenerator( identifierGeneratorFactory, dialect, rootClass ); final Generator generator = createGenerator( identifierGeneratorFactory, dialect, rootClass );
return generator instanceof IdentifierGenerator ? (IdentifierGenerator) generator : null;
} }
/** /**
* @deprecated Use {@link #createGenerator(IdentifierGeneratorFactory, Dialect, RootClass)} instead. * @deprecated Use {@link #createGenerator(IdentifierGeneratorFactory, Dialect, RootClass)} instead.
*
* @return {@code null} if the {@code Generator} returned by {@link #createGenerator} is not an instance
* of {@link IdentifierGenerator}.
*/ */
@Deprecated(since="6.2") @Deprecated(since="6.2")
default IdentifierGenerator createIdentifierGenerator( default IdentifierGenerator createIdentifierGenerator(
IdentifierGeneratorFactory identifierGeneratorFactory, IdentifierGeneratorFactory identifierGeneratorFactory,
Dialect dialect, Dialect dialect,
RootClass rootClass) { RootClass rootClass) {
return (IdentifierGenerator) createGenerator( identifierGeneratorFactory, dialect, rootClass ); final Generator generator = createGenerator( identifierGeneratorFactory, dialect, rootClass );
return generator instanceof IdentifierGenerator ? (IdentifierGenerator) generator : null;
} }
/** /**