Skip to content

Commit c188203

Browse files
code changes per code review comments
1 parent ea0da76 commit c188203

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/integrationTest/java/com/mongodb/hibernate/query/select/SortingSelectQueryIntegrationTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.junit.jupiter.api.Test;
3737
import org.junit.jupiter.params.ParameterizedTest;
3838
import org.junit.jupiter.params.provider.EnumSource;
39+
import org.junit.jupiter.params.provider.ValueSource;
3940

4041
@DomainModel(annotatedClasses = Book.class)
4142
class SortingSelectQueryIntegrationTests extends AbstractSelectionQueryIntegrationTests {
@@ -188,7 +189,8 @@ void testCaseInsensitiveSortSpecNotSupported() {
188189
criteria.select(root);
189190
criteria.orderBy(cb.sort(root.get("title"), SortDirection.ASCENDING, NullPrecedence.NONE, true));
190191
assertThatThrownBy(() -> session.createSelectionQuery(criteria).getResultList())
191-
.isInstanceOf(FeatureNotSupportedException.class);
192+
.isInstanceOf(FeatureNotSupportedException.class)
193+
.hasMessage("Case-insensitive sorting not supported");
192194
});
193195
}
194196
}

src/main/java/com/mongodb/hibernate/internal/translate/AbstractMqlTranslator.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,11 +371,8 @@ public void visitQuerySpec(QuerySpec querySpec) {
371371
var stages = new ArrayList<AstStage>(3);
372372

373373
createMatchStage(querySpec).ifPresent(stages::add);
374-
375374
createSortStage(querySpec).ifPresent(stages::add);
376-
377-
var projectStageSpecifications = acceptAndYield(querySpec.getSelectClause(), PROJECT_STAGE_SPECIFICATIONS);
378-
stages.add(new AstProjectStage(projectStageSpecifications));
375+
stages.add(createProjectStage(querySpec.getSelectClause()));
379376

380377
astVisitorValueHolder.yield(COLLECTION_AGGREGATE, new AstAggregateCommand(collection, stages));
381378
}
@@ -402,6 +399,11 @@ private Optional<AstSortStage> createSortStage(QuerySpec querySpec) {
402399
return Optional.empty();
403400
}
404401

402+
private AstProjectStage createProjectStage(SelectClause selectClause) {
403+
var projectStageSpecifications = acceptAndYield(selectClause, PROJECT_STAGE_SPECIFICATIONS);
404+
return new AstProjectStage(projectStageSpecifications);
405+
}
406+
405407
@Override
406408
public void visitFromClause(FromClause fromClause) {
407409
if (fromClause.getRoots().size() != 1) {

0 commit comments

Comments
 (0)