Fix JDK8 compilation errors introduced by cherry-picking #1363. (#1817)

Closes #1816.
This commit is contained in:
Michael Reiche
2023-09-07 11:05:18 -07:00
committed by GitHub
parent 9625a81484
commit c7d17994db
2 changed files with 12 additions and 10 deletions

View File

@@ -15,6 +15,9 @@
*/
package com.querydsl.couchbase.document;
import static com.querydsl.core.types.OrderSpecifier.NullHandling.NullsFirst;
import static com.querydsl.core.types.OrderSpecifier.NullHandling.NullsLast;
import java.util.Collection;
import java.util.List;
import java.util.regex.Pattern;
@@ -31,6 +34,7 @@ import com.querydsl.core.types.FactoryExpression;
import com.querydsl.core.types.Operation;
import com.querydsl.core.types.Operator;
import com.querydsl.core.types.Ops;
import com.querydsl.core.types.Order;
import com.querydsl.core.types.OrderSpecifier;
import com.querydsl.core.types.ParamExpression;
import com.querydsl.core.types.Path;
@@ -39,7 +43,6 @@ import com.querydsl.core.types.PathType;
import com.querydsl.core.types.SubQueryExpression;
import com.querydsl.core.types.TemplateExpression;
import com.querydsl.core.types.Visitor;
import com.querydsl.core.types.Order;
/**
* Serializes the given Querydsl query to a Document query for Couchbase.
@@ -58,11 +61,8 @@ public abstract class CouchbaseDocumentSerializer implements Visitor<Object, Voi
for (OrderSpecifier<?> orderBy : orderBys) {
Object key = orderBy.getTarget().accept(this, null);
String keyAsString = key.toString();
Sort.NullHandling sortNullHandling = switch (orderBy.getNullHandling()) {
case NullsFirst -> Sort.NullHandling.NULLS_FIRST;
case NullsLast -> Sort.NullHandling.NULLS_LAST;
default -> Sort.NullHandling.NATIVE;
};
Sort.NullHandling sortNullHandling = orderBy.getNullHandling() == NullsFirst ? Sort.NullHandling.NULLS_FIRST
: orderBy.getNullHandling() == NullsLast ? Sort.NullHandling.NULLS_LAST : Sort.NullHandling.NATIVE;
Sort.Direction sortDirection = orderBy.getOrder() == Order.ASC ? Sort.Direction.ASC : Sort.Direction.DESC;
Sort.Order sortOrder = new Sort.Order(sortDirection, keyAsString, sortNullHandling);
sort = sort.and(Sort.by(sortOrder));

View File

@@ -25,8 +25,10 @@ import static org.springframework.data.couchbase.util.Util.exactly;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.junit.jupiter.api.AfterAll;
@@ -419,7 +421,7 @@ public class CouchbaseRepositoryQuerydslIntegrationTests extends JavaIntegration
@Test
void testSort(){
{
BooleanExpression predicate = airline.name.in(Arrays.stream(saved).map(Airline::getName).toList());
BooleanExpression predicate = airline.name.in((Arrays.stream(saved).map(Airline::getName)).collect(Collectors.toList()));
Iterable<Airline> result = airlineRepository.findAll(predicate, Sort.by("name").ascending());
assertArrayEquals(StreamSupport.stream(result.spliterator(), false).toArray(Airline[]::new),
Arrays.stream(saved)
@@ -429,7 +431,7 @@ public class CouchbaseRepositoryQuerydslIntegrationTests extends JavaIntegration
}
{
BooleanExpression predicate = airline.name.in(Arrays.stream(saved).map(Airline::getName).toList());
BooleanExpression predicate = airline.name.in((Arrays.stream(saved).map(Airline::getName)).collect(Collectors.toList()));
Iterable<Airline> result = airlineRepository.findAll(predicate, Sort.by("name").descending());
assertArrayEquals(StreamSupport.stream(result.spliterator(), false).toArray(Airline[]::new),
Arrays.stream(saved)
@@ -439,7 +441,7 @@ public class CouchbaseRepositoryQuerydslIntegrationTests extends JavaIntegration
}
{
BooleanExpression predicate = airline.name.in(Arrays.stream(saved).map(Airline::getName).toList());
BooleanExpression predicate = airline.name.in((Arrays.stream(saved).map(Airline::getName)).collect(Collectors.toList()));
Iterable<Airline> result = airlineRepository.findAll(predicate, airline.name.asc());
assertArrayEquals(StreamSupport.stream(result.spliterator(), false).toArray(Airline[]::new),
Arrays.stream(saved)
@@ -449,7 +451,7 @@ public class CouchbaseRepositoryQuerydslIntegrationTests extends JavaIntegration
}
{
BooleanExpression predicate = airline.name.in(Arrays.stream(saved).map(Airline::getName).toList());
BooleanExpression predicate = airline.name.in((Arrays.stream(saved).map(Airline::getName)).collect(Collectors.toList()));
Iterable<Airline> result = airlineRepository.findAll(predicate, airline.name.desc());
assertArrayEquals(StreamSupport.stream(result.spliterator(), false).toArray(Airline[]::new),
Arrays.stream(saved)