diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java b/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java index 6d59a5815..fd2efc43a 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java +++ b/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java @@ -66,6 +66,14 @@ private static Method internalFind(Method[] toTest, String name, Class[] paramet } 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; } diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java b/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java index 3ea4f229b..59ab0ed6b 100644 --- a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java +++ b/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java @@ -54,6 +54,9 @@ public interface ReactiveAirportRepository @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) Flux findAll(); + @Query("#{#n1ql .selectEntity} WHERE #{#n1ql.filter} ORDER BY $3 $4 LIMIT $1 OFFSET $2 ") + Flux findAllTestPrimitives(int iint, long llong, double ddouble, boolean bbolean); + @Override @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS) Mono deleteAll(); diff --git a/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java b/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java index 1ea83af6a..2103316a5 100644 --- a/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java +++ b/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java @@ -41,16 +41,13 @@ 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.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 @@ void shouldSaveAndFindAll() { } } + @Test + void testPrimitiveArgs() { + int iint = 0; + long llong = 0; + double ddouble = 0.0; + boolean bboolean = true; + List all = reactiveAirportRepository.withScope("_default") + .findAllTestPrimitives(iint, llong, ddouble, bboolean).toStream().collect(Collectors.toList()); + } + @Test void testQuery() { Airport vie = null;