diff --git a/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs b/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs index 4d66976b230a..fe4541356570 100644 --- a/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +++ b/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs @@ -108,7 +108,7 @@ public class DatabaseConfiguration { @Bean public Couchmove couchmove(Bucket couchbaseBucket, CouchbaseProperties properties) { log.debug("Configuring Couchmove"); - Couchmove couchmove = new Couchmove(couchbaseBucket, properties.getBucket().getName(), properties.getBucket().getPassword(), "config/couchmove/changelog"); + Couchmove couchmove = new Couchmove(couchbaseBucket, properties.getUsername(), properties.getPassword(), "config/couchmove/changelog"); couchmove.migrate(); return couchmove; } diff --git a/generators/server/templates/src/main/java/package/repository/CustomN1qlCouchbaseRepository.java.ejs b/generators/server/templates/src/main/java/package/repository/CustomN1qlCouchbaseRepository.java.ejs index 14d46aef97e2..70b145dc401a 100644 --- a/generators/server/templates/src/main/java/package/repository/CustomN1qlCouchbaseRepository.java.ejs +++ b/generators/server/templates/src/main/java/package/repository/CustomN1qlCouchbaseRepository.java.ejs @@ -18,7 +18,7 @@ -%> package <%= packageName %>.repository; -<%_ if (searchEngine === 'couchbase') { _%> +<%_ if (searchEngineCouchbase) { _%> import com.couchbase.client.java.search.SearchQuery; // import com.couchbase.client.java.search.queries.AbstractFtsQuery; // import com.couchbase.client.java.search.queries.DocIdQuery; @@ -31,6 +31,7 @@ import com.couchbase.client.java.search.queries.DocIdQuery; import com.couchbase.client.java.search.queries.QueryStringQuery; import com.couchbase.client.java.search.result.SearchResult; import com.couchbase.client.java.search.result.SearchRow; +import com.couchbase.client.java.search.SearchOptions; import <%= packageName %>.repository.search.SearchCouchbaseRepository; <%_ } _%> @@ -38,15 +39,16 @@ import org.springframework.data.couchbase.core.CouchbaseOperations; import org.springframework.data.couchbase.core.mapping.CouchbasePersistentEntity; import org.springframework.data.couchbase.repository.query.CouchbaseEntityInformation; // import org.springframework.data.couchbase.repository.support.N1qlCouchbaseRepository; -import <%= packageName %>.repository.N1qlCouchbaseRepository; -<%_ if (searchEngine === 'couchbase') { _%> +// import <%= packageName %>.repository.N1qlCouchbaseRepository; +import org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository; +<%_ if (searchEngineCouchbase) { _%> import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; <%_ } _%> import java.io.Serializable; -<%_ if (searchEngine === 'couchbase') { _%> +<%_ if (searchEngineCouchbase) { _%> import java.util.LinkedList; import java.util.List; import java.util.Optional; @@ -56,7 +58,7 @@ import java.util.stream.Collectors; /** * A custom implementation of {@code CouchbaseRepository}. */ -public class CustomN1qlCouchbaseRepository extends N1qlCouchbaseRepository<%if (searchEngine === 'couchbase') { %> implements SearchCouchbaseRepository<% } %> { +public class CustomN1qlCouchbaseRepository extends SimpleCouchbaseRepository <%if (searchEngineCouchbase) { %> implements SearchCouchbaseRepository<% } %> { private final CouchbasePersistentEntity persistentEntity; @@ -68,28 +70,29 @@ public class CustomN1qlCouchbaseRepository extends N */ public CustomN1qlCouchbaseRepository(CouchbaseEntityInformation metadata, CouchbaseOperations couchbaseOperations) { super(metadata, couchbaseOperations); - persistentEntity = getCouchbaseOperations().getConverter().getMappingContext().getPersistentEntity(getEntityInformation().getJavaType()); + persistentEntity = couchbaseOperations.getConverter().getMappingContext().getPersistentEntity(getEntityInformation().getJavaType()); } @Override public S save(S entity) { return super.save(populateIdIfNecessary(entity)); } -<%_ if (searchEngine === 'couchbase') { _%> +<%_ if (searchEngineCouchbase) { _%> public Page search(String indexName, String request, Pageable pageable) { - SearchQuery searchQuery = new SearchQuery(indexName, queryString(request)) + SearchQuery searchQuery = SearchQuery.queryString(request); + SearchOptions searchOptions = SearchOptions.searchOptions() .limit(pageable.getPageSize()) .skip((int) pageable.getOffset()); - SearchResult result = getCouchbaseOperations().getCouchbaseBucket().query(searchQuery); + SearchResult result = couchbaseOperations.getCouchbaseClientFactory().getCluster().searchQuery(indexName, searchQuery, searchOptions); // change to cluster.searchQuery List pageContent = extractResults(result); - return new PageImpl<>(pageContent, pageable, result.metrics().totalHits()); + return new PageImpl<>(pageContent, pageable, result.metaData().metrics().totalRows()); } @Override public List search(String indexName, String request) { - SearchQuery searchQuery = new SearchQuery(indexName, queryString(request)); - return extractResults(getCouchbaseOperations().getCouchbaseBucket().query(searchQuery)); + SearchQuery searchQuery = SearchQuery.queryString(request); + return extractResults(getCouchbaseOperations().getCouchbaseBucket().searchQuery(indexName, searchQuery)); } static SearchQuery queryString(String request) { @@ -113,7 +116,7 @@ public class CustomN1qlCouchbaseRepository extends N @SuppressWarnings("unchecked") private List extractResults(SearchResult result) { - return result.hits().stream() + return result.rows().stream() .map(SearchRow::id) .map(id -> (ID) id) .map(this::findById) @@ -140,4 +143,5 @@ public class CustomN1qlCouchbaseRepository extends N private void setId(S entity, String generatedId) { persistentEntity.getPropertyAccessor(entity).setProperty(persistentEntity.getIdProperty(), generatedId); } + } diff --git a/test-integration/samples/react-gradle-couchbase-caffeine/.yo-rc.json b/test-integration/samples/react-gradle-couchbase-caffeine/.yo-rc.json index 898710e99e20..7283f1d1e851 100644 --- a/test-integration/samples/react-gradle-couchbase-caffeine/.yo-rc.json +++ b/test-integration/samples/react-gradle-couchbase-caffeine/.yo-rc.json @@ -12,7 +12,7 @@ "databaseType": "couchbase", "devDatabaseType": "couchbase", "prodDatabaseType": "couchbase", - "searchEngine": false, + "searchEngine": "couchbase", "messageBroker": false, "serviceDiscoveryType": false, "buildTool": "gradle",