Skip to content

Commit d9cf5f3

Browse files
committed
move stuff out of org.hibernate.query.procedure
to realize consistent SPI/API split
1 parent 0280f48 commit d9cf5f3

27 files changed

+42
-73
lines changed

hibernate-core/src/main/java/org/hibernate/action/internal/AbstractEntityInsertAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public final void makeEntityManaged() {
141141
);
142142
final EntityEntry entityEntry = persistenceContextInternal.addEntry(
143143
getInstance(),
144-
( getPersister().isMutable() ? Status.MANAGED : Status.READ_ONLY ),
144+
getPersister().isMutable() ? Status.MANAGED : Status.READ_ONLY,
145145
getState(),
146146
getRowId(),
147147
getEntityKey().getIdentifier(),

hibernate-core/src/main/java/org/hibernate/event/internal/AbstractFlushingEventListener.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ private static boolean flushable(EntityEntry entry) {
164164
final Status status = entry.getStatus();
165165
return status == Status.MANAGED
166166
|| status == Status.SAVING
167-
|| status == Status.READ_ONLY;
167+
|| status == Status.READ_ONLY; // debatable, see HHH-19398
168168
}
169169

170170
private void cascadeOnFlush(EventSource session, EntityPersister persister, Object object, PersistContext anything)

hibernate-core/src/main/java/org/hibernate/procedure/FunctionReturn.java

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package org.hibernate.procedure;
66

77
import org.hibernate.Incubating;
8-
import org.hibernate.query.procedure.ProcedureParameter;
98

109
/**
1110
* Describes the function return value of a {@link ProcedureCall}

hibernate-core/src/main/java/org/hibernate/procedure/ProcedureCall.java

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.hibernate.query.BindableType;
2020
import org.hibernate.query.SynchronizeableQuery;
2121
import org.hibernate.query.CommonQueryContract;
22-
import org.hibernate.query.procedure.ProcedureParameter;
2322

2423
/**
2524
* Defines support for executing database stored procedures and functions using the

hibernate-core/src/main/java/org/hibernate/procedure/ProcedureOutputs.java

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.procedure;
66

7-
import org.hibernate.query.procedure.ProcedureParameter;
87
import org.hibernate.result.Outputs;
98

109
/**

hibernate-core/src/main/java/org/hibernate/query/procedure/ProcedureParameter.java renamed to hibernate-core/src/main/java/org/hibernate/procedure/ProcedureParameter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* SPDX-License-Identifier: Apache-2.0
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
5-
package org.hibernate.query.procedure;
5+
package org.hibernate.procedure;
66

77
import org.hibernate.Incubating;
88
import org.hibernate.query.QueryParameter;

hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureCallImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
import org.hibernate.query.Query;
4949
import org.hibernate.query.QueryParameter;
5050
import org.hibernate.query.internal.QueryOptionsImpl;
51-
import org.hibernate.query.procedure.ProcedureParameter;
51+
import org.hibernate.procedure.ProcedureParameter;
5252
import org.hibernate.query.results.ResultSetMapping;
5353
import org.hibernate.query.spi.AbstractQuery;
5454
import org.hibernate.query.spi.MutableQueryOptions;

hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureOutputsImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import org.hibernate.procedure.ParameterMisuseException;
1414
import org.hibernate.procedure.ProcedureOutputs;
15-
import org.hibernate.query.procedure.ProcedureParameter;
15+
import org.hibernate.procedure.ProcedureParameter;
1616
import org.hibernate.result.Output;
1717
import org.hibernate.result.internal.OutputsImpl;
1818
import org.hibernate.sql.exec.ExecutionException;

hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParamBindings.java

+10-12
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@
1111
import org.hibernate.cache.spi.QueryKey;
1212
import org.hibernate.engine.spi.SessionFactoryImplementor;
1313
import org.hibernate.engine.spi.SharedSessionContractImplementor;
14-
import org.hibernate.procedure.spi.ProcedureParameterBindingImplementor;
14+
import org.hibernate.procedure.spi.ProcedureParameterBinding;
1515
import org.hibernate.procedure.spi.ProcedureParameterImplementor;
1616
import org.hibernate.query.QueryParameter;
17-
import org.hibernate.query.procedure.ProcedureParameterBinding;
1817
import org.hibernate.query.spi.QueryParameterBinding;
1918
import org.hibernate.query.spi.QueryParameterBindings;
2019
import org.hibernate.query.spi.QueryParameterImplementor;
@@ -32,7 +31,7 @@ public class ProcedureParamBindings implements QueryParameterBindings {
3231
private final ProcedureParameterMetadataImpl parameterMetadata;
3332
private final SessionFactoryImplementor sessionFactory;
3433

35-
private final Map<ProcedureParameterImplementor<?>, ProcedureParameterBindingImplementor<?>> bindingMap = new HashMap<>();
34+
private final Map<ProcedureParameterImplementor<?>, ProcedureParameterBinding<?>> bindingMap = new HashMap<>();
3635

3736
public ProcedureParamBindings(
3837
ProcedureParameterMetadataImpl parameterMetadata,
@@ -57,27 +56,25 @@ public <P> ProcedureParameterBinding<P> getBinding(QueryParameterImplementor<P>
5756
}
5857

5958
public <P> ProcedureParameterBinding<P> getQueryParamerBinding(ProcedureParameterImplementor<P> parameter) {
60-
final ProcedureParameterImplementor<P> procParam = parameterMetadata.resolve( parameter );
61-
ProcedureParameterBindingImplementor<?> binding = bindingMap.get( procParam );
62-
59+
final var procParam = parameterMetadata.resolve( parameter );
60+
var binding = bindingMap.get( procParam );
6361
if ( binding == null ) {
6462
if ( !parameterMetadata.containsReference( parameter ) ) {
6563
throw new IllegalArgumentException( "Passed parameter is not registered with this query" );
6664
}
67-
6865
binding = new ProcedureParameterBindingImpl<>( procParam, sessionFactory );
6966
bindingMap.put( procParam, binding );
7067
}
71-
7268
//noinspection unchecked
7369
return (ProcedureParameterBinding<P>) binding;
7470
}
7571

7672
@Override
7773
public <P> ProcedureParameterBinding<P> getBinding(String name) {
7874
//noinspection unchecked
79-
final ProcedureParameterImplementor<P> parameter =
80-
(ProcedureParameterImplementor<P>) parameterMetadata.getQueryParameter( name );
75+
final var parameter =
76+
(ProcedureParameterImplementor<P>)
77+
parameterMetadata.getQueryParameter( name );
8178
if ( parameter == null ) {
8279
throw new IllegalArgumentException( "Parameter does not exist: " + name );
8380
}
@@ -87,8 +84,9 @@ public <P> ProcedureParameterBinding<P> getBinding(String name) {
8784
@Override
8885
public <P> ProcedureParameterBinding<P> getBinding(int position) {
8986
//noinspection unchecked
90-
final ProcedureParameterImplementor<P> parameter =
91-
(ProcedureParameterImplementor<P>) parameterMetadata.getQueryParameter( position );
87+
final var parameter =
88+
(ProcedureParameterImplementor<P>)
89+
parameterMetadata.getQueryParameter( position );
9290
if ( parameter == null ) {
9391
throw new IllegalArgumentException( "Parameter at position " + position + "does not exist" );
9492
}

hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterBindingImpl.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
package org.hibernate.procedure.internal;
66

77
import org.hibernate.engine.spi.SessionFactoryImplementor;
8-
import org.hibernate.procedure.spi.ProcedureParameterBindingImplementor;
8+
import org.hibernate.procedure.spi.ProcedureParameterBinding;
99
import org.hibernate.procedure.spi.ProcedureParameterImplementor;
1010
import org.hibernate.query.internal.QueryParameterBindingImpl;
11-
import org.hibernate.query.procedure.ProcedureParameterBinding;
1211

1312
/**
1413
* Implementation of the {@link ProcedureParameterBinding} contract.
@@ -17,7 +16,7 @@
1716
*/
1817
public class ProcedureParameterBindingImpl<T>
1918
extends QueryParameterBindingImpl<T>
20-
implements ProcedureParameterBindingImplementor<T> {
19+
implements ProcedureParameterBinding<T> {
2120
public ProcedureParameterBindingImpl(
2221
ProcedureParameterImplementor<T> queryParameter,
2322
SessionFactoryImplementor sessionFactory) {

hibernate-core/src/main/java/org/hibernate/procedure/internal/ProcedureParameterMetadataImpl.java

+11-10
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.hibernate.query.BindableType;
2121
import org.hibernate.query.QueryParameter;
2222
import org.hibernate.query.internal.QueryParameterBindingsImpl;
23-
import org.hibernate.query.procedure.ProcedureParameter;
23+
import org.hibernate.procedure.ProcedureParameter;
2424
import org.hibernate.procedure.spi.ProcedureParameterImplementor;
2525
import org.hibernate.query.spi.ProcedureParameterMetadataImplementor;
2626
import org.hibernate.query.spi.QueryParameterBindings;
@@ -119,7 +119,8 @@ public int getParameterCount() {
119119

120120
@Override
121121
public boolean containsReference(QueryParameter<?> parameter) {
122-
return parameters != null && parameters.contains( (ProcedureParameterImplementor<?>) parameter );
122+
return parameters != null
123+
&& parameters.contains( (ProcedureParameterImplementor<?>) parameter );
123124
}
124125

125126
public ParameterStrategy getParameterStrategy() {
@@ -132,7 +133,7 @@ public boolean hasAnyMatching(Predicate<QueryParameterImplementor<?>> filter) {
132133
return false;
133134
}
134135
else {
135-
for ( ProcedureParameterImplementor<?> parameter : parameters ) {
136+
for ( var parameter : parameters ) {
136137
if ( filter.test( parameter ) ) {
137138
return true;
138139
}
@@ -143,7 +144,7 @@ public boolean hasAnyMatching(Predicate<QueryParameterImplementor<?>> filter) {
143144

144145
@Override
145146
public ProcedureParameterImplementor<?> findQueryParameter(String name) {
146-
for ( ProcedureParameterImplementor<?> parameter : parameters ) {
147+
for ( var parameter : parameters ) {
147148
if ( name.equals( parameter.getName() ) ) {
148149
return parameter;
149150
}
@@ -162,7 +163,7 @@ public ProcedureParameterImplementor<?> getQueryParameter(String name) {
162163

163164
@Override
164165
public ProcedureParameterImplementor<?> findQueryParameter(int positionLabel) {
165-
for ( ProcedureParameterImplementor<?> parameter : parameters ) {
166+
for ( var parameter : parameters ) {
166167
if ( parameter.getName() == null && positionLabel == parameter.getPosition() ) {
167168
return parameter;
168169
}
@@ -172,7 +173,7 @@ public ProcedureParameterImplementor<?> findQueryParameter(int positionLabel) {
172173

173174
@Override
174175
public ProcedureParameterImplementor<?> getQueryParameter(int positionLabel) {
175-
final ProcedureParameterImplementor<?> queryParameter = findQueryParameter( positionLabel );
176+
final var queryParameter = findQueryParameter( positionLabel );
176177
if ( queryParameter != null ) {
177178
return queryParameter;
178179
}
@@ -181,10 +182,10 @@ public ProcedureParameterImplementor<?> getQueryParameter(int positionLabel) {
181182

182183
@Override
183184
public <P> ProcedureParameterImplementor<P> resolve(Parameter<P> parameter) {
184-
if ( parameter instanceof ProcedureParameterImplementor<P> procedureParameterImplementor ) {
185-
for ( ProcedureParameterImplementor<?> registered : parameters ) {
185+
if ( parameter instanceof ProcedureParameterImplementor<P> parameterImplementor ) {
186+
for ( var registered : parameters ) {
186187
if ( registered == parameter ) {
187-
return procedureParameterImplementor;
188+
return parameterImplementor;
188189
}
189190
}
190191
}
@@ -210,7 +211,7 @@ public void visitRegistrations(Consumer<QueryParameter<?>> action) {
210211

211212
@Override
212213
public Set<Integer> getOrdinalParameterLabels() {
213-
final HashSet<Integer> labels = new HashSet<>();
214+
final Set<Integer> labels = new HashSet<>();
214215
visitRegistrations( parameter -> {
215216
if ( parameter.getPosition() != null ) {
216217
labels.add( parameter.getPosition() );

hibernate-core/src/main/java/org/hibernate/query/procedure/ProcedureParameterBinding.java renamed to hibernate-core/src/main/java/org/hibernate/procedure/spi/ProcedureParameterBinding.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* SPDX-License-Identifier: Apache-2.0
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
5-
package org.hibernate.query.procedure;
5+
package org.hibernate.procedure.spi;
66

77
import org.hibernate.query.spi.QueryParameterBinding;
88

hibernate-core/src/main/java/org/hibernate/procedure/spi/ProcedureParameterBindingImplementor.java

-13
This file was deleted.

hibernate-core/src/main/java/org/hibernate/procedure/spi/ProcedureParameterImplementor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package org.hibernate.procedure.spi;
66

77
import org.hibernate.Incubating;
8-
import org.hibernate.query.procedure.ProcedureParameter;
8+
import org.hibernate.procedure.ProcedureParameter;
99
import org.hibernate.query.spi.QueryParameterImplementor;
1010
import org.hibernate.sql.exec.spi.JdbcCallParameterRegistration;
1111

hibernate-core/src/main/java/org/hibernate/query/NativeQuery.java

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import jakarta.persistence.Parameter;
1313
import jakarta.persistence.TemporalType;
1414
import jakarta.persistence.metamodel.SingularAttribute;
15+
1516
import org.hibernate.CacheMode;
1617
import org.hibernate.FlushMode;
1718
import org.hibernate.LockMode;

hibernate-core/src/main/java/org/hibernate/query/procedure/package-info.java

-14
This file was deleted.

hibernate-core/src/test/java/org/hibernate/orm/test/inheritance/embeddable/StructAggregateEmbeddableInheritanceTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.hibernate.dialect.PostgreSQLDialect;
2222
import org.hibernate.dialect.PostgresPlusDialect;
2323
import org.hibernate.procedure.ProcedureCall;
24-
import org.hibernate.query.procedure.ProcedureParameter;
24+
import org.hibernate.procedure.ProcedureParameter;
2525

2626
import org.hibernate.testing.jdbc.SharedDriverManagerTypeCacheClearingIntegrator;
2727
import org.hibernate.testing.orm.junit.BootstrapServiceRegistry;

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/embeddable/NestedStructEmbeddableTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.hibernate.dialect.PostgreSQLDialect;
3737
import org.hibernate.dialect.PostgresPlusDialect;
3838
import org.hibernate.procedure.ProcedureCall;
39-
import org.hibernate.query.procedure.ProcedureParameter;
39+
import org.hibernate.procedure.ProcedureParameter;
4040

4141
import org.hibernate.testing.jdbc.SharedDriverManagerTypeCacheClearingIntegrator;
4242
import org.hibernate.testing.orm.domain.gambit.EntityOfBasics;

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/embeddable/StructEmbeddableArrayTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
import org.hibernate.dialect.PostgreSQLDialect;
3535
import org.hibernate.dialect.PostgresPlusDialect;
3636
import org.hibernate.procedure.ProcedureCall;
37-
import org.hibernate.query.procedure.ProcedureParameter;
37+
import org.hibernate.procedure.ProcedureParameter;
3838

3939
import org.hibernate.testing.jdbc.SharedDriverManagerTypeCacheClearingIntegrator;
4040
import org.hibernate.testing.orm.domain.gambit.EntityOfBasics;

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/embeddable/StructEmbeddableTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import org.hibernate.dialect.PostgreSQLDialect;
3636
import org.hibernate.dialect.PostgresPlusDialect;
3737
import org.hibernate.procedure.ProcedureCall;
38-
import org.hibernate.query.procedure.ProcedureParameter;
38+
import org.hibernate.procedure.ProcedureParameter;
3939

4040
import org.hibernate.testing.jdbc.SharedDriverManagerTypeCacheClearingIntegrator;
4141
import org.hibernate.testing.orm.domain.gambit.EntityOfBasics;

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/embeddable/StructWithArrayEmbeddableTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
import org.hibernate.dialect.PostgreSQLDialect;
3535
import org.hibernate.dialect.PostgresPlusDialect;
3636
import org.hibernate.procedure.ProcedureCall;
37-
import org.hibernate.query.procedure.ProcedureParameter;
37+
import org.hibernate.procedure.ProcedureParameter;
3838

3939
import org.hibernate.testing.jdbc.SharedDriverManagerTypeCacheClearingIntegrator;
4040
import org.hibernate.testing.orm.domain.gambit.EntityOfBasics;

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/DB2StoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import org.hibernate.cfg.AvailableSettings;
1818
import org.hibernate.dialect.DB2Dialect;
1919
import org.hibernate.procedure.ProcedureCall;
20-
import org.hibernate.query.procedure.ProcedureParameter;
20+
import org.hibernate.procedure.ProcedureParameter;
2121
import org.hibernate.result.Output;
2222
import org.hibernate.result.ResultSetOutput;
2323
import org.hibernate.type.NumericBooleanConverter;

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/HANAStoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import org.hibernate.dialect.HANADialect;
2424
import org.hibernate.procedure.ProcedureCall;
25-
import org.hibernate.query.procedure.ProcedureParameter;
25+
import org.hibernate.procedure.ProcedureParameter;
2626
import org.hibernate.result.Output;
2727
import org.hibernate.result.ResultSetOutput;
2828
import org.hibernate.type.NumericBooleanConverter;

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/MySQLStoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.hibernate.dialect.MySQLDialect;
2121
import org.hibernate.community.dialect.TiDBDialect;
2222
import org.hibernate.procedure.ProcedureCall;
23-
import org.hibernate.query.procedure.ProcedureParameter;
23+
import org.hibernate.procedure.ProcedureParameter;
2424
import org.hibernate.result.Output;
2525
import org.hibernate.result.ResultSetOutput;
2626
import org.hibernate.type.StandardBasicTypes;

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/OracleStoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.hibernate.dialect.OracleDialect;
2121
import org.hibernate.jpa.HibernateHints;
2222
import org.hibernate.procedure.ProcedureCall;
23-
import org.hibernate.query.procedure.ProcedureParameter;
23+
import org.hibernate.procedure.ProcedureParameter;
2424
import org.hibernate.result.Output;
2525
import org.hibernate.result.ResultSetOutput;
2626
import org.hibernate.type.NumericBooleanConverter;

hibernate-core/src/test/java/org/hibernate/orm/test/sql/MySQLStoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import org.hibernate.dialect.MySQLDialect;
1818
import org.hibernate.community.dialect.TiDBDialect;
1919
import org.hibernate.procedure.ProcedureCall;
20-
import org.hibernate.query.procedure.ProcedureParameter;
20+
import org.hibernate.procedure.ProcedureParameter;
2121
import org.hibernate.result.Output;
2222
import org.hibernate.result.ResultSetOutput;
2323
import org.hibernate.testing.orm.domain.userguide.Account;

hibernate-core/src/test/java/org/hibernate/orm/test/sql/OracleStoredProcedureTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.hibernate.Session;
1414
import org.hibernate.dialect.OracleDialect;
1515
import org.hibernate.procedure.ProcedureCall;
16-
import org.hibernate.query.procedure.ProcedureParameter;
16+
import org.hibernate.procedure.ProcedureParameter;
1717
import org.hibernate.result.Output;
1818
import org.hibernate.result.ResultSetOutput;
1919
import org.hibernate.testing.orm.domain.userguide.Account;

0 commit comments

Comments
 (0)