File tree 1 file changed +9
-6
lines changed
spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query
1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change 18
18
import reactor .core .publisher .Flux ;
19
19
import reactor .core .publisher .Mono ;
20
20
21
+ import org .reactivestreams .Publisher ;
21
22
import org .springframework .data .couchbase .core .CouchbaseOperations ;
22
23
import org .springframework .data .couchbase .core .ExecutableFindByQueryOperation .ExecutableFindByQuery ;
23
24
import org .springframework .data .couchbase .core .query .Query ;
@@ -108,15 +109,17 @@ EntityInstantiators getInstantiators() {
108
109
* @see org.springframework.data.repository.query.RepositoryQuery#execute(java.lang.Object[])
109
110
*/
110
111
public Object execute (Object [] parameters ) {
111
-
112
112
ReactiveCouchbaseParameterAccessor accessor = new ReactiveCouchbaseParameterAccessor (getQueryMethod (), parameters );
113
-
114
- Object result = accessor .resolveParameters ().map (this ::executeDeferred );
115
- return ((Mono <Object >) result ).block () ;
113
+ return method .hasReactiveWrapperParameter () ? accessor .resolveParameters ().flatMapMany (this ::executeDeferred )
114
+ : execute (accessor );
116
115
}
117
116
118
- private Object executeDeferred (ReactiveCouchbaseParameterAccessor parameterAccessor ) {
119
- return execute (parameterAccessor );
117
+ private Publisher <Object > executeDeferred (ReactiveCouchbaseParameterAccessor parameterAccessor /*Object[] parameters*/ ) {
118
+ //ReactiveCouchbaseParameterAccessor parameterAccessor = new ReactiveCouchbaseParameterAccessor(method, parameters);
119
+ if (getQueryMethod ().isCollectionQuery ()) {
120
+ return Flux .defer (() -> (Publisher <Object >) execute (parameterAccessor ));
121
+ }
122
+ return Mono .defer (() -> (Mono <Object >) execute (parameterAccessor ));
120
123
}
121
124
122
125
private Object execute (ParametersParameterAccessor parameterAccessor ) {
You can’t perform that action at this time.
0 commit comments