• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmrs / openmrs-core / 14752386992

30 Apr 2025 10:25AM UTC coverage: 64.96% (-0.1%) from 65.095%
14752386992

push

github

web-flow
TRUNK-6316 Upgrade Hibernate Search to 6.2.4 (#5005)

501 of 591 new or added lines in 24 files covered. (84.77%)

21 existing lines in 6 files now uncovered.

23344 of 35936 relevant lines covered (64.96%)

0.65 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

17.24
/api/src/main/java/org/openmrs/api/db/hibernate/search/session/SearchQuerySelectDelegate.java
1
/**
2
 * This Source Code Form is subject to the terms of the Mozilla Public License,
3
 * v. 2.0. If a copy of the MPL was not distributed with this file, You can
4
 * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under
5
 * the terms of the Healthcare Disclaimer located at http://openmrs.org/license.
6
 *
7
 * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS
8
 * graphic logo is a trademark of OpenMRS Inc.
9
 */
10
package org.openmrs.api.db.hibernate.search.session;
11

12
import java.util.List;
13
import java.util.function.BiConsumer;
14
import java.util.function.Function;
15

16
import org.hibernate.search.engine.search.predicate.SearchPredicate;
17
import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep;
18
import org.hibernate.search.engine.search.predicate.dsl.SearchPredicateFactory;
19
import org.hibernate.search.engine.search.predicate.dsl.SimpleBooleanPredicateClausesCollector;
20
import org.hibernate.search.engine.search.projection.SearchProjection;
21
import org.hibernate.search.engine.search.projection.dsl.ProjectionFinalStep;
22
import org.hibernate.search.engine.search.projection.dsl.SearchProjectionFactory;
23
import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep;
24
import org.hibernate.search.engine.search.query.dsl.SearchQuerySelectStep;
25
import org.hibernate.search.engine.search.query.dsl.SearchQueryWhereStep;
26
import org.hibernate.search.engine.search.query.dsl.spi.AbstractDelegatingSearchQuerySelectStep;
27
import org.openmrs.api.db.hibernate.search.SearchQueryContributor;
28

29
/**
30
 * Allows to set final predicate. See {@link SearchQueryContributor}.
31
 * For internal use only.
32
 * 
33
 * @param <R>
34
 * @param <E>
35
 * @param <LOS>
36
 *     
37
 * @since 2.8.0
38
 */
39
class SearchQuerySelectDelegate<R, E, LOS> extends AbstractDelegatingSearchQuerySelectStep<R, E, LOS> implements SearchQueryContributor {
40

41
        private Function<SearchPredicateFactory, SearchPredicate> finalPredicate;
42
        
43
        public SearchQuerySelectDelegate(SearchQuerySelectStep<?, R, E, LOS, ?, ?> delegate) {
44
                super(delegate);
1✔
45
        }
1✔
46
        
47
        @Override
48
        public void setFinalPredicate(Function<SearchPredicateFactory, SearchPredicate> finalPredicate) {
NEW
49
                this.finalPredicate = finalPredicate;
×
NEW
50
        }
×
51

52
        @Override
53
        public Function<SearchPredicateFactory, SearchPredicate> getFinalPredicate() {
NEW
54
                return finalPredicate;
×
55
        }
56

57
        @Override
58
        public SearchQueryOptionsStep<?, E, LOS, ?, ?> where(SearchPredicate predicate) {
NEW
59
                if (finalPredicate != null) {
×
NEW
60
                        return super.where((f, root) -> {
×
NEW
61
                                root.add(predicate);
×
NEW
62
                                root.add(finalPredicate.apply(f));
×
NEW
63
                        });
×
64
                } else {
NEW
65
                        return super.where(predicate);
×
66
                }
67
        }
68

69
        @Override
70
        public SearchQueryOptionsStep<?, E, LOS, ?, ?> where(BiConsumer<? super SearchPredicateFactory, ? super SimpleBooleanPredicateClausesCollector<?>> predicateContributor) {
NEW
71
                if (finalPredicate != null) {
×
NEW
72
                        return super.where((f, root) -> {
×
NEW
73
                                predicateContributor.accept(f, root);
×
NEW
74
                                root.add(finalPredicate.apply(f));
×
NEW
75
                        });
×
76
                } else {
NEW
77
                        return super.where(predicateContributor);
×
78
                }
79
        }
80

81
        @Override
82
        public SearchQueryOptionsStep<?, E, LOS, ?, ?> where(Function<? super SearchPredicateFactory, ? extends PredicateFinalStep> predicateContributor) {
83
                if (finalPredicate != null) {
1✔
NEW
84
                        return super.where((f, root) -> {
×
NEW
85
                                root.add(predicateContributor.apply(f));
×
NEW
86
                                root.add(finalPredicate.apply(f));
×
NEW
87
                        });
×
88
                } else {
89
                        return super.where(predicateContributor);
1✔
90
                }
91
                
92
        }
93

94
        @Override
95
        public <P> SearchQueryWhereStep<?, P, LOS, ?> select(Class<P> objectClass) {
NEW
96
                return new SearchQueryWhereDelegate<>(super.select(objectClass), finalPredicate);
×
97
        }
98

99
        @Override
100
        public SearchQueryWhereStep<?, E, LOS, ?> selectEntity() {
NEW
101
                return new SearchQueryWhereDelegate<>(super.selectEntity(), finalPredicate);
×
102
        }
103

104
        @Override
105
        public SearchQueryWhereStep<?, List<?>, LOS, ?> select(SearchProjection<?>... projections) {
NEW
106
                return new SearchQueryWhereDelegate<>(super.select(projections), finalPredicate);
×
107
        }
108

109
        @Override
110
        public <P> SearchQueryWhereStep<?, P, LOS, ?> select(Function<? super SearchProjectionFactory<R, E>, ? extends ProjectionFinalStep<P>> projectionContributor) {
111
                return new SearchQueryWhereDelegate<>(super.select(projectionContributor), finalPredicate);
1✔
112
        }
113

114
        @Override
115
        public SearchQueryWhereStep<?, R, LOS, ?> selectEntityReference() {
NEW
116
                return new SearchQueryWhereDelegate<>(super.selectEntityReference(), finalPredicate);
×
117
        }
118

119
        @Override
120
        public <P> SearchQueryWhereStep<?, P, LOS, ?> select(SearchProjection<P> projection) {
NEW
121
                return new SearchQueryWhereDelegate<>(super.select(projection), finalPredicate);
×
122
        }
123
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc