Allow primitive repository args for DynamicProxyable repositories.. (#1972)

Closes #1965.
This commit is contained in:
Michael Reiche
2024-10-03 14:13:23 -07:00
committed by mikereiche
parent 2ead91f819
commit 8360fe3787
3 changed files with 21 additions and 6 deletions

View File

@@ -66,6 +66,14 @@ public class FindMethod {
}
int j;
for (j = 0; j < l; j++) {
if(params[j] == int.class && parameterTypes[j] == Integer.class )
continue;
if(params[j] == long.class && parameterTypes[j] == Long.class )
continue;
if(params[j] == double.class && parameterTypes[j] == Double.class )
continue;
if(params[j] == boolean.class && parameterTypes[j] == Boolean.class )
continue;
if (!params[j].isAssignableFrom(parameterTypes[j]))
break;
}

View File

@@ -54,6 +54,9 @@ public interface ReactiveAirportRepository
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
Flux<Airport> findAll();
@Query("#{#n1ql .selectEntity} WHERE #{#n1ql.filter} ORDER BY $3 $4 LIMIT $1 OFFSET $2 ")
Flux<Airport> findAllTestPrimitives(int iint, long llong, double ddouble, boolean bbolean);
@Override
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
Mono<Void> deleteAll();

View File

@@ -41,16 +41,13 @@ import java.util.stream.Collectors;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.dao.OptimisticLockingFailureException;
import org.springframework.data.couchbase.CouchbaseClientFactory;
import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
import org.springframework.data.couchbase.domain.Airport;
import org.springframework.data.couchbase.domain.ReactiveAirportRepository;
import org.springframework.data.couchbase.domain.ReactiveUserRepository;
import org.springframework.data.couchbase.domain.User;
import org.springframework.data.couchbase.repository.config.EnableReactiveCouchbaseRepositories;
import org.springframework.data.couchbase.util.Capabilities;
import org.springframework.data.couchbase.util.ClusterType;
import org.springframework.data.couchbase.util.IgnoreWhen;
@@ -58,9 +55,6 @@ import org.springframework.data.couchbase.util.JavaIntegrationTests;
import org.springframework.data.domain.PageRequest;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import com.couchbase.client.core.deps.io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import com.couchbase.client.core.env.SecurityConfig;
import com.couchbase.client.java.env.ClusterEnvironment;
/**
* template class for Reactive Couchbase operations
@@ -99,6 +93,16 @@ public class ReactiveCouchbaseRepositoryQueryIntegrationTests extends JavaIntegr
}
}
@Test
void testPrimitiveArgs() {
int iint = 0;
long llong = 0;
double ddouble = 0.0;
boolean bboolean = true;
List<Airport> all = reactiveAirportRepository.withScope("_default")
.findAllTestPrimitives(iint, llong, ddouble, bboolean).toStream().collect(Collectors.toList());
}
@Test
void testQuery() {
Airport vie = null;