Skip to content

Commit 83977cd

Browse files
committed
HSEARCH-3319 Use mapper specific root-scope-creators
1 parent 2f575e3 commit 83977cd

File tree

15 files changed

+62
-244
lines changed

15 files changed

+62
-244
lines changed

documentation/src/test/java/org/hibernate/search/documentation/search/predicate/FieldReferenceIT.java

+15-18
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717
import org.hibernate.search.documentation.testsupport.BackendConfigurations;
1818
import org.hibernate.search.documentation.testsupport.DocumentationSetupHelper;
1919
import org.hibernate.search.engine.backend.types.Projectable;
20-
import org.hibernate.search.engine.common.EntityReference;
21-
import org.hibernate.search.engine.mapper.scope.SearchScopeProvider;
2220
import org.hibernate.search.engine.search.common.ValueConvert;
2321
import org.hibernate.search.engine.search.predicate.SearchPredicate;
24-
import org.hibernate.search.engine.search.reference.RootReferenceScope;
2522
import org.hibernate.search.engine.search.reference.predicate.MatchPredicateFieldReference;
2623
import org.hibernate.search.engine.search.reference.projection.FieldProjectionFieldReference;
2724
import org.hibernate.search.mapper.orm.Search;
25+
import org.hibernate.search.mapper.orm.scope.HibernateOrmRootReferenceScope;
2826
import org.hibernate.search.mapper.orm.scope.SearchScope;
27+
import org.hibernate.search.mapper.orm.scope.SearchScopeProvider;
2928
import org.hibernate.search.mapper.orm.session.SearchSession;
3029
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.FullTextField;
3130
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed;
@@ -196,7 +195,7 @@ public static class EntityC extends EntityB {
196195
public static class EntityA_ {
197196
public static ValueFieldReference1<EntityA_, String, String, String> stringA;
198197

199-
public static RootReferenceScope<EntityA_, EntityA> scope;
198+
public static HibernateOrmRootReferenceScope<EntityA_, EntityA> scope;
200199

201200
static {
202201
stringA = ValueFieldReference1.of( "stringA", EntityA_.class, String.class, String.class, String.class );
@@ -208,7 +207,7 @@ public static class EntityA_ {
208207
public static class EntityB_ extends EntityA_ {
209208
public static ValueFieldReference1<EntityB_, String, String, String> stringB;
210209

211-
public static RootReferenceScope<EntityB_, EntityB> scope;
210+
public static HibernateOrmRootReferenceScope<EntityB_, EntityB> scope;
212211

213212
static {
214213
stringB = ValueFieldReference1.of( "stringB", EntityB_.class, String.class, String.class, String.class );
@@ -220,7 +219,7 @@ public static class EntityB_ extends EntityA_ {
220219
public static class EntityC_ extends EntityB_ {
221220
public static ValueFieldReference1<EntityC_, String, String, String> stringC;
222221

223-
public static RootReferenceScope<EntityC_, EntityC> scope;
222+
public static HibernateOrmRootReferenceScope<EntityC_, EntityC> scope;
224223

225224
static {
226225
stringC = ValueFieldReference1.of( "stringC", EntityC_.class, String.class, String.class, String.class );
@@ -233,7 +232,7 @@ public static class EntityB_union_EntityC_ {
233232
public static ValueFieldReference1<EntityB_union_EntityC_, String, String, String> stringA;
234233
public static ValueFieldReference1<EntityB_union_EntityC_, String, String, String> stringB;
235234

236-
public static RootReferenceScope<EntityB_union_EntityC_, EntityB> scope;
235+
public static HibernateOrmRootReferenceScope<EntityB_union_EntityC_, EntityB> scope;
237236

238237
static {
239238
stringA = ValueFieldReference1.of( "stringA", EntityB_union_EntityC_.class, String.class, String.class,
@@ -284,7 +283,7 @@ public static class Entity2C {
284283
public static class Entity2A_union_Entity2B_ {
285284
public static ValueFieldReference1<Entity2A_union_Entity2B_, String, String, String> stringA;
286285

287-
public static RootReferenceScope<Entity2A_union_Entity2B_, Object> scope;
286+
public static HibernateOrmRootReferenceScope<Entity2A_union_Entity2B_, Object> scope;
288287

289288
static {
290289
stringA = ValueFieldReference1.of( "stringA", Entity2A_union_Entity2B_.class, String.class, String.class,
@@ -296,7 +295,7 @@ public static class Entity2A_union_Entity2B_ {
296295
public static class Entity2A_ {
297296
public static ValueFieldReference1<Entity2A_, String, String, String> stringA;
298297

299-
public static RootReferenceScope<Entity2A_, Entity2A> scope;
298+
public static HibernateOrmRootReferenceScope<Entity2A_, Entity2A> scope;
300299

301300
static {
302301
stringA = ValueFieldReference1.of( "stringA", Entity2A_.class, String.class, String.class, String.class );
@@ -309,7 +308,7 @@ public static class Entity2B_ {
309308
public static ValueFieldReference1<Entity2B_, String, String, String> stringA;
310309
public static ValueFieldReference1<Entity2B_, String, String, String> stringB;
311310

312-
public static RootReferenceScope<Entity2B_, Entity2B> scope;
311+
public static HibernateOrmRootReferenceScope<Entity2B_, Entity2B> scope;
313312

314313
static {
315314
stringA = ValueFieldReference1.of( "stringA", Entity2B_.class, String.class, String.class, String.class );
@@ -323,7 +322,7 @@ public static class Entity2C_ {
323322
public static ValueFieldReference1<Entity2C_, String, String, String> stringA;
324323
public static ValueFieldReference1<Entity2C_, String, String, String> stringC;
325324

326-
public static RootReferenceScope<Entity2C_, Entity2C> scope;
325+
public static HibernateOrmRootReferenceScope<Entity2C_, Entity2C> scope;
327326

328327
static {
329328
stringA = ValueFieldReference1.of( "stringA", Entity2C_.class, String.class, String.class, String.class );
@@ -413,12 +412,13 @@ public Class<P> projectionType() {
413412

414413
}
415414

416-
private static class RootReferenceScopeImpl<SR, E> implements RootReferenceScope<SR, E> {
415+
private static class RootReferenceScopeImpl<SR, E> implements HibernateOrmRootReferenceScope<SR, E> {
417416

418417
private final Class<SR> rootReferenceType;
419418
private final Class<? extends E>[] entityClass;
420419

421-
static <SR, E> RootReferenceScope<SR, E> of(Class<SR> rootReferenceType, Class<? extends E>... entityClass) {
420+
static <SR, E> HibernateOrmRootReferenceScope<SR, E> of(Class<SR> rootReferenceType,
421+
Class<? extends E>... entityClass) {
422422
return new RootReferenceScopeImpl<>( rootReferenceType, entityClass );
423423
}
424424

@@ -433,11 +433,8 @@ public Class<SR> rootReferenceType() {
433433
}
434434

435435
@Override
436-
public <
437-
ER extends EntityReference,
438-
S extends org.hibernate.search.engine.mapper.scope.SearchScope<SR, E, ER>,
439-
P extends SearchScopeProvider<ER>> S create(P scopeProvider) {
440-
return (S) scopeProvider.scope( Arrays.asList( entityClass ) );
436+
public SearchScope<SR, E> create(SearchScopeProvider scopeProvider) {
437+
return scopeProvider.scope( Arrays.asList( entityClass ) );
441438
}
442439
}
443440

engine/src/main/java/org/hibernate/search/engine/mapper/scope/SearchScope.java

-127
This file was deleted.

engine/src/main/java/org/hibernate/search/engine/mapper/scope/SearchScopeProvider.java

-74
This file was deleted.

engine/src/main/java/org/hibernate/search/engine/search/reference/RootReferenceScope.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@
44
*/
55
package org.hibernate.search.engine.search.reference;
66

7-
import org.hibernate.search.engine.common.EntityReference;
8-
import org.hibernate.search.engine.mapper.scope.SearchScope;
9-
import org.hibernate.search.engine.mapper.scope.SearchScopeProvider;
7+
import org.hibernate.search.util.common.annotation.Incubating;
108

9+
@Incubating
1110
public interface RootReferenceScope<SR, T> {
1211
Class<SR> rootReferenceType();
13-
14-
<ER extends EntityReference, S extends SearchScope<SR, T, ER>, P extends SearchScopeProvider<ER>> S create(P scopeProvider);
1512
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.search.mapper.orm.scope;
6+
7+
import org.hibernate.search.engine.search.reference.RootReferenceScope;
8+
import org.hibernate.search.util.common.annotation.Incubating;
9+
10+
@Incubating
11+
public interface HibernateOrmRootReferenceScope<SR, T> extends RootReferenceScope<SR, T> {
12+
13+
SearchScope<SR, T> create(SearchScopeProvider scopeProvider);
14+
}

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @param <E> A supertype of all types in this scope.
3939
*/
4040
@SuppressWarnings("deprecation")
41-
public interface SearchScope<SR, E> extends org.hibernate.search.engine.mapper.scope.SearchScope<SR, E, EntityReference> {
41+
public interface SearchScope<SR, E> {
4242

4343
/**
4444
* Initiate the building of a search predicate.

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScopeProvider.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
* @see org.hibernate.search.mapper.orm.session.SearchSession
1717
*/
1818
@SuppressWarnings("deprecation")
19-
public interface SearchScopeProvider
20-
extends
21-
org.hibernate.search.engine.mapper.scope.SearchScopeProvider<org.hibernate.search.mapper.orm.common.EntityReference> {
19+
public interface SearchScopeProvider {
2220

2321
/**
2422
* Creates a {@link SearchScope} limited to

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSession.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
import org.hibernate.Session;
1414
import org.hibernate.search.engine.search.query.dsl.SearchQuerySelectStep;
15-
import org.hibernate.search.engine.search.reference.RootReferenceScope;
1615
import org.hibernate.search.mapper.orm.mapping.SearchMapping;
1716
import org.hibernate.search.mapper.orm.massindexing.MassIndexer;
1817
import org.hibernate.search.mapper.orm.schema.management.SearchSchemaManager;
18+
import org.hibernate.search.mapper.orm.scope.HibernateOrmRootReferenceScope;
1919
import org.hibernate.search.mapper.orm.scope.SearchScope;
2020
import org.hibernate.search.mapper.orm.scope.SearchScopeProvider;
2121
import org.hibernate.search.mapper.orm.search.loading.dsl.SearchLoadingOptionsStep;
@@ -113,7 +113,7 @@ public interface SearchSession extends SearchScopeProvider {
113113
T,
114114
SearchLoadingOptionsStep,
115115
?,
116-
?> search(RootReferenceScope<SR, T> scope);
116+
?> search(HibernateOrmRootReferenceScope<SR, T> scope);
117117

118118
/**
119119
* Create a {@link SearchSchemaManager} for all indexes.

0 commit comments

Comments
 (0)