Skip to content

Commit 5ad0d1d

Browse files
committed
HSEARCH-3319 Use mapper specific root-scope-creators
1 parent 987d3f9 commit 5ad0d1d

File tree

15 files changed

+66
-247
lines changed

15 files changed

+66
-247
lines changed

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

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
import org.hibernate.search.documentation.testsupport.BackendConfigurations;
2020
import org.hibernate.search.documentation.testsupport.DocumentationSetupHelper;
2121
import org.hibernate.search.engine.backend.types.Projectable;
22-
import org.hibernate.search.engine.common.EntityReference;
23-
import org.hibernate.search.engine.mapper.scope.SearchScopeProvider;
2422
import org.hibernate.search.engine.search.common.ValueConvert;
2523
import org.hibernate.search.engine.search.predicate.SearchPredicate;
2624
import org.hibernate.search.engine.search.reference.RootReferenceScope;
2725
import org.hibernate.search.engine.search.reference.predicate.MatchPredicateFieldReference;
2826
import org.hibernate.search.engine.search.reference.projection.FieldProjectionFieldReference;
2927
import org.hibernate.search.mapper.orm.Search;
28+
import org.hibernate.search.mapper.orm.scope.HibernateOrmRootReferenceScope;
3029
import org.hibernate.search.mapper.orm.scope.SearchScope;
30+
import org.hibernate.search.mapper.orm.scope.SearchScopeProvider;
3131
import org.hibernate.search.mapper.orm.session.SearchSession;
3232
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.FullTextField;
3333
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed;
@@ -198,7 +198,7 @@ public static class EntityC extends EntityB {
198198
public static class EntityA_ {
199199
public static ValueFieldReference1<EntityA_, String, String, String> stringA;
200200

201-
public static RootReferenceScope<EntityA_, EntityA> scope;
201+
public static HibernateOrmRootReferenceScope<EntityA_, EntityA> scope;
202202

203203
static {
204204
stringA = ValueFieldReference1.of( "stringA", EntityA_.class, String.class, String.class, String.class );
@@ -210,7 +210,7 @@ public static class EntityA_ {
210210
public static class EntityB_ extends EntityA_ {
211211
public static ValueFieldReference1<EntityB_, String, String, String> stringB;
212212

213-
public static RootReferenceScope<EntityB_, EntityB> scope;
213+
public static HibernateOrmRootReferenceScope<EntityB_, EntityB> scope;
214214

215215
static {
216216
stringB = ValueFieldReference1.of( "stringB", EntityB_.class, String.class, String.class, String.class );
@@ -222,7 +222,7 @@ public static class EntityB_ extends EntityA_ {
222222
public static class EntityC_ extends EntityB_ {
223223
public static ValueFieldReference1<EntityC_, String, String, String> stringC;
224224

225-
public static RootReferenceScope<EntityC_, EntityC> scope;
225+
public static HibernateOrmRootReferenceScope<EntityC_, EntityC> scope;
226226

227227
static {
228228
stringC = ValueFieldReference1.of( "stringC", EntityC_.class, String.class, String.class, String.class );
@@ -235,7 +235,7 @@ public static class EntityB_union_EntityC_ {
235235
public static ValueFieldReference1<EntityB_union_EntityC_, String, String, String> stringA;
236236
public static ValueFieldReference1<EntityB_union_EntityC_, String, String, String> stringB;
237237

238-
public static RootReferenceScope<EntityB_union_EntityC_, EntityB> scope;
238+
public static HibernateOrmRootReferenceScope<EntityB_union_EntityC_, EntityB> scope;
239239

240240
static {
241241
stringA = ValueFieldReference1.of( "stringA", EntityB_union_EntityC_.class, String.class, String.class,
@@ -286,7 +286,7 @@ public static class Entity2C {
286286
public static class Entity2A_union_Entity2B_ {
287287
public static ValueFieldReference1<Entity2A_union_Entity2B_, String, String, String> stringA;
288288

289-
public static RootReferenceScope<Entity2A_union_Entity2B_, Object> scope;
289+
public static HibernateOrmRootReferenceScope<Entity2A_union_Entity2B_, Object> scope;
290290

291291
static {
292292
stringA = ValueFieldReference1.of( "stringA", Entity2A_union_Entity2B_.class, String.class, String.class,
@@ -298,7 +298,7 @@ public static class Entity2A_union_Entity2B_ {
298298
public static class Entity2A_ {
299299
public static ValueFieldReference1<Entity2A_, String, String, String> stringA;
300300

301-
public static RootReferenceScope<Entity2A_, Entity2A> scope;
301+
public static HibernateOrmRootReferenceScope<Entity2A_, Entity2A> scope;
302302

303303
static {
304304
stringA = ValueFieldReference1.of( "stringA", Entity2A_.class, String.class, String.class, String.class );
@@ -311,7 +311,7 @@ public static class Entity2B_ {
311311
public static ValueFieldReference1<Entity2B_, String, String, String> stringA;
312312
public static ValueFieldReference1<Entity2B_, String, String, String> stringB;
313313

314-
public static RootReferenceScope<Entity2B_, Entity2B> scope;
314+
public static HibernateOrmRootReferenceScope<Entity2B_, Entity2B> scope;
315315

316316
static {
317317
stringA = ValueFieldReference1.of( "stringA", Entity2B_.class, String.class, String.class, String.class );
@@ -325,7 +325,7 @@ public static class Entity2C_ {
325325
public static ValueFieldReference1<Entity2C_, String, String, String> stringA;
326326
public static ValueFieldReference1<Entity2C_, String, String, String> stringC;
327327

328-
public static RootReferenceScope<Entity2C_, Entity2C> scope;
328+
public static HibernateOrmRootReferenceScope<Entity2C_, Entity2C> scope;
329329

330330
static {
331331
stringA = ValueFieldReference1.of( "stringA", Entity2C_.class, String.class, String.class, String.class );
@@ -415,12 +415,13 @@ public Class<P> projectionType() {
415415

416416
}
417417

418-
private static class RootReferenceScopeImpl<SR, E> implements RootReferenceScope<SR, E> {
418+
private static class RootReferenceScopeImpl<SR, E> implements HibernateOrmRootReferenceScope<SR, E> {
419419

420420
private final Class<SR> rootReferenceType;
421421
private final Class<? extends E>[] entityClass;
422422

423-
static <SR, E> RootReferenceScope<SR, E> of(Class<SR> rootReferenceType, Class<? extends E>... entityClass) {
423+
static <SR, E> HibernateOrmRootReferenceScope<SR, E> of(Class<SR> rootReferenceType,
424+
Class<? extends E>... entityClass) {
424425
return new RootReferenceScopeImpl<>( rootReferenceType, entityClass );
425426
}
426427

@@ -435,11 +436,8 @@ public Class<SR> rootReferenceType() {
435436
}
436437

437438
@Override
438-
public <
439-
ER extends EntityReference,
440-
S extends org.hibernate.search.engine.mapper.scope.SearchScope<SR, E, ER>,
441-
P extends SearchScopeProvider<ER>> S create(P scopeProvider) {
442-
return (S) scopeProvider.scope( Arrays.asList( entityClass ) );
439+
public SearchScope<SR, E> create(SearchScopeProvider scopeProvider) {
440+
return scopeProvider.scope( Arrays.asList( entityClass ) );
443441
}
444442
}
445443

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

Lines changed: 0 additions & 129 deletions
This file was deleted.

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

Lines changed: 0 additions & 76 deletions
This file was deleted.

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@
66
*/
77
package org.hibernate.search.engine.search.reference;
88

9-
import org.hibernate.search.engine.common.EntityReference;
10-
import org.hibernate.search.engine.mapper.scope.SearchScope;
11-
import org.hibernate.search.engine.mapper.scope.SearchScopeProvider;
9+
import org.hibernate.search.util.common.annotation.Incubating;
1210

11+
@Incubating
1312
public interface RootReferenceScope<SR, T> {
1413
Class<SR> rootReferenceType();
15-
16-
<ER extends EntityReference, S extends SearchScope<SR, T, ER>, P extends SearchScopeProvider<ER>> S create(P scopeProvider);
1714
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Hibernate Search, full-text search for your domain model
3+
*
4+
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
5+
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
6+
*/
7+
package org.hibernate.search.mapper.orm.scope;
8+
9+
import org.hibernate.search.engine.search.reference.RootReferenceScope;
10+
import org.hibernate.search.util.common.annotation.Incubating;
11+
12+
@Incubating
13+
public interface HibernateOrmRootReferenceScope<SR, T> extends RootReferenceScope<SR, T> {
14+
15+
SearchScope<SR, T> create(SearchScopeProvider scopeProvider);
16+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
* @param <E> A supertype of all types in this scope.
4141
*/
4242
@SuppressWarnings("deprecation")
43-
public interface SearchScope<SR, E> extends org.hibernate.search.engine.mapper.scope.SearchScope<SR, E, EntityReference> {
43+
public interface SearchScope<SR, E> {
4444

4545
/**
4646
* Initiate the building of a search predicate.

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
* @see org.hibernate.search.mapper.orm.session.SearchSession
1919
*/
2020
@SuppressWarnings("deprecation")
21-
public interface SearchScopeProvider
22-
extends
23-
org.hibernate.search.engine.mapper.scope.SearchScopeProvider<org.hibernate.search.mapper.orm.common.EntityReference> {
21+
public interface SearchScopeProvider {
2422

2523
/**
2624
* Creates a {@link SearchScope} limited to

0 commit comments

Comments
 (0)