diff --git a/src/main/java/com/couchbase/client/java/transactions/AttemptContextReactiveAccessor.java b/src/main/java/com/couchbase/client/java/transactions/AttemptContextReactiveAccessor.java deleted file mode 100644 index eaabc344b..000000000 --- a/src/main/java/com/couchbase/client/java/transactions/AttemptContextReactiveAccessor.java +++ /dev/null @@ -1,34 +0,0 @@ -/* -/* - * Copyright 2021-2024 the original author or authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.couchbase.client.java.transactions; - -import com.couchbase.client.core.annotation.Stability; -import com.couchbase.client.core.transaction.CoreTransactionAttemptContext; -import com.couchbase.client.java.codec.JsonSerializer; - -/** - * To access the ReactiveTransactionAttemptContext held by TransactionAttemptContext - * - * @author Michael Reiche - */ -@Stability.Internal -public class AttemptContextReactiveAccessor { - public static ReactiveTransactionAttemptContext createReactiveTransactionAttemptContext( - CoreTransactionAttemptContext core, JsonSerializer jsonSerializer) { - return new ReactiveTransactionAttemptContext(core, jsonSerializer); - } -} diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java b/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java index 5d099aba9..4b7faa5d5 100644 --- a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java +++ b/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java @@ -16,6 +16,7 @@ package org.springframework.data.couchbase.core; import com.couchbase.client.core.api.query.CoreQueryContext; +import com.couchbase.client.core.api.query.CoreQueryOptions; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -28,13 +29,11 @@ import org.springframework.data.couchbase.core.support.TemplateUtils; import org.springframework.util.Assert; -import com.couchbase.client.core.io.CollectionIdentifier; import com.couchbase.client.java.ReactiveScope; import com.couchbase.client.java.codec.JsonSerializer; import com.couchbase.client.java.query.QueryOptions; import com.couchbase.client.java.query.QueryScanConsistency; import com.couchbase.client.java.query.ReactiveQueryResult; -import com.couchbase.client.java.transactions.AttemptContextReactiveAccessor; import com.couchbase.client.java.transactions.TransactionQueryOptions; import com.couchbase.client.java.transactions.TransactionQueryResult; @@ -77,9 +76,9 @@ static class ReactiveFindByQuerySupport implements ReactiveFindByQuery { private final ReactiveTemplateSupport support; ReactiveFindByQuerySupport(final ReactiveCouchbaseTemplate template, final Class domainType, - final Class returnType, final Query query, final QueryScanConsistency scanConsistency, final String scope, - final String collection, final QueryOptions options, final String[] distinctFields, final String[] fields, - final ReactiveTemplateSupport support) { + final Class returnType, final Query query, final QueryScanConsistency scanConsistency, + final String scope, final String collection, final QueryOptions options, final String[] distinctFields, + final String[] fields, final ReactiveTemplateSupport support) { Assert.notNull(domainType, "domainType must not be null!"); Assert.notNull(returnType, "returnType must not be null!"); this.template = template; @@ -192,10 +191,16 @@ public Flux all() { return pArgs.getScope() == null ? clientFactory.getCluster().reactive().query(statement, opts) : rs.query(statement, opts); } else { - TransactionQueryOptions opts = buildTransactionOptions(pArgs.getOptions()); + TransactionQueryOptions options = buildTransactionOptions(pArgs.getOptions()); JsonSerializer jSer = clientFactory.getCluster().environment().jsonSerializer(); - return AttemptContextReactiveAccessor.createReactiveTransactionAttemptContext(s.get().getCore(), jSer) - .query(OptionsBuilder.queryContext(pArgs.getScope(), pArgs.getCollection(), rs.bucketName()) == null ? null : rs, statement, opts); + CoreQueryOptions opts = options != null ? options.builder().build() : null; + return s.get().getCore() + .queryBlocking(statement, + pArgs.getScope() == null ? null + : CoreQueryContext.of(rs.bucketName(), pArgs.getScope()), + opts, false) + .map(response -> new TransactionQueryResult(response, jSer)); + } }); @@ -255,10 +260,15 @@ public Mono count() { return pArgs.getScope() == null ? clientFactory.getCluster().reactive().query(statement, opts) : rs.query(statement, opts); } else { - TransactionQueryOptions opts = buildTransactionOptions(pArgs.getOptions()); + TransactionQueryOptions options = buildTransactionOptions(pArgs.getOptions()); JsonSerializer jSer = clientFactory.getCluster().environment().jsonSerializer(); - return AttemptContextReactiveAccessor.createReactiveTransactionAttemptContext(s.get().getCore(), jSer) - .query(OptionsBuilder.queryContext(pArgs.getScope(), pArgs.getCollection(), rs.bucketName()) == null ? null : rs, statement, opts); + CoreQueryOptions opts = options != null ? options.builder().build() : null; + return s.get().getCore() + .queryBlocking(statement, + pArgs.getScope() == null ? null + : CoreQueryContext.of(rs.bucketName(), pArgs.getScope()), + opts, false) + .map(response -> new TransactionQueryResult(response, jSer)); } }); diff --git a/src/main/java/com/querydsl/couchbase/document/AbstractCouchbaseQueryDSL.java b/src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java similarity index 99% rename from src/main/java/com/querydsl/couchbase/document/AbstractCouchbaseQueryDSL.java rename to src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java index 05fec47f5..868b2c06a 100644 --- a/src/main/java/com/querydsl/couchbase/document/AbstractCouchbaseQueryDSL.java +++ b/src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.querydsl.couchbase.document; +package org.springframework.data.couchbase.querydsl.document; import java.util.Collection; import java.util.HashMap; diff --git a/src/main/java/com/querydsl/couchbase/document/CouchbaseDocumentSerializer.java b/src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java similarity index 99% rename from src/main/java/com/querydsl/couchbase/document/CouchbaseDocumentSerializer.java rename to src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java index 51737978d..77b00f7ed 100644 --- a/src/main/java/com/querydsl/couchbase/document/CouchbaseDocumentSerializer.java +++ b/src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.querydsl.couchbase.document; +package org.springframework.data.couchbase.querydsl.document; import java.util.Collection; import java.util.List; diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java b/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java index e4210a28e..131914e26 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java +++ b/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java @@ -24,8 +24,8 @@ import com.querydsl.core.support.QueryMixin; import com.querydsl.core.types.OrderSpecifier; -import com.querydsl.couchbase.document.AbstractCouchbaseQueryDSL; -import com.querydsl.couchbase.document.CouchbaseDocumentSerializer; +import org.springframework.data.couchbase.querydsl.document.AbstractCouchbaseQueryDSL; +import org.springframework.data.couchbase.querydsl.document.CouchbaseDocumentSerializer; /** * @author Michael Reiche diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java b/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java index b64077263..2af2a5108 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java +++ b/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java @@ -21,7 +21,7 @@ import java.util.Set; import java.util.regex.Pattern; -import com.querydsl.couchbase.document.CouchbaseDocumentSerializer; +import org.springframework.data.couchbase.querydsl.document.CouchbaseDocumentSerializer; import org.springframework.data.couchbase.core.convert.CouchbaseConverter; import org.springframework.data.couchbase.core.mapping.CouchbasePersistentEntity; import org.springframework.data.couchbase.core.mapping.CouchbasePersistentProperty;