Skip to content

Commit ee149a0

Browse files
committed
After 1490, changes needed so integration tests pass.
Closes #1498.
1 parent 7d57523 commit ee149a0

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQueryBase.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import reactor.core.publisher.Flux;
1919
import reactor.core.publisher.Mono;
2020

21-
import org.reactivestreams.Publisher;
2221
import org.springframework.data.couchbase.core.CouchbaseOperations;
2322
import org.springframework.data.couchbase.core.ExecutableFindByQueryOperation.ExecutableFindByQuery;
2423
import org.springframework.data.couchbase.core.query.Query;
@@ -112,14 +111,14 @@ public Object execute(Object[] parameters) {
112111

113112
ReactiveCouchbaseParameterAccessor accessor = new ReactiveCouchbaseParameterAccessor(getQueryMethod(), parameters);
114113

115-
return accessor.resolveParameters().flatMapMany(this::executeDeferred);
114+
Object result = accessor.resolveParameters()./* flatMapMany */map(this::executeDeferred);
115+
result = result instanceof Flux ? ((Flux<Object>) result).collectList().block()
116+
: result instanceof Mono ? ((Mono<Object>) result).block() : result;
117+
return result;
116118
}
117119

118-
private Publisher<Object> executeDeferred(ReactiveCouchbaseParameterAccessor parameterAccessor) {
119-
if (getQueryMethod().isCollectionQuery()) {
120-
return Flux.defer(() -> (Publisher<Object>) execute(parameterAccessor));
121-
}
122-
return Mono.defer(() -> (Mono<Object>) execute(parameterAccessor));
120+
private Object executeDeferred(ReactiveCouchbaseParameterAccessor parameterAccessor) {
121+
return execute(parameterAccessor);
123122
}
124123

125124
private Object execute(ParametersParameterAccessor parameterAccessor) {
@@ -131,7 +130,9 @@ private Object execute(ParametersParameterAccessor parameterAccessor) {
131130
if (typeToRead == null && returnType.getComponentType() != null) {
132131
typeToRead = returnType.getComponentType().getType();
133132
}
134-
return doExecute(getQueryMethod(), processor, parameterAccessor, typeToRead);
133+
Object result = doExecute(getQueryMethod(), processor, parameterAccessor, typeToRead);
134+
System.err.println("execute parameterAccessor result: " + result);
135+
return result;
135136
}
136137

137138
/**

0 commit comments

Comments
 (0)